Vytvorte si chatbota na odosielanie e-mailov pomocou dialógového toku Google

Vytvorte si chatbota na odosielanie e-mailov pomocou dialógového toku Google

​​​​​​V modernej dobe sa chatboty stávajú čoraz dôležitejším nástrojom pre firmy. So správnymi nástrojmi a know-how vytvárajú spoločnosti chat agentov, ktorí môžu viesť skutočné rozhovory so zákazníkmi.





Google Dialogflow ES je jedným z najvýkonnejších a bezplatných nástrojov na vytváranie chatbotov na trhu. Ako však môžete naplno využiť jeho potenciál?





VYUŽITIE VIDEA DŇA

Krok 1: Vytvorte si agenta Dialogflow ES

Prvým krokom v tomto procese je vytvorenie vlastného agenta Dialogflow ES. Každý účet Google funguje a vy začnete tým, že prejdete na Webová stránka Google Dialogflow EN . Kliknite na Vytvoriť agenta po prihlásení a vyplnení údajov vo formulári pred kliknutím Vytvorte . Dialogflow môžete použiť na vytvorte chatbota pre zábavu , automatizácia alebo zákaznícky servis. Tento projekt sa týka toho druhého.





  vytvoriť dialógový tok agenta

Krok 2: Pridajte zámery sledovania Dialogflow

Nový agent má iba predvolený uvítací zámer a predvolený záložný zámer. Zámer je fragment alebo fáza konverzácie.

Ak chcete začať, musíte k existujúcemu predvolenému uvítaciemu zámeru pridať dva následné zámery. Umiestnite kurzor myši na položku Predvolený uvítací zámer , kliknite na Pridajte následný zámer a vybrať Áno z rozbaľovacej ponuky. Opakujte proces výberom položky Nie z rozbaľovacej ponuky, čím vytvoríte druhý nadväzujúci zámer.



  áno a nie následné zámery

Zámer No follow-up ukončí konverzáciu a rozlúči sa s používateľom. Otvor Žiadny následný zámer a pridajte sériu textových odpovedí na ukončenie konverzácie. Aktivujte Nastavte tento zámer ako koniec konverzácie posúvač.

  dialógový postup ukončenia konverzácie

Vráťte sa na hlavnú obrazovku zámerov a kliknite na Áno následný zámer aby ste ho otvorili.





Krok 3: Vytvorte bohatý zoznam odpovedí dialógového toku pomocou JSON

Teraz máte tieto zámery nastavené, je čas položiť používateľovi otázku, aby sa k nim mohol dostať. Otvor Predvolený uvítací zámer a Odstrániť odpovedí, ktoré vyvolal. Kliknite Pridať odpovede a vyberte Vlastné užitočné zaťaženie z menu.

  uvítací zámer vlastné užitočné zaťaženie

Kód JSON uvedený nižšie pridáva dva rôzne typy bohatých odpovedí; informácie a čipy.





{ 
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Yes"
},
{
"text": "No"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Tell me about yourself :)",
"subtitle": "Give me some of your personal information. I'll send it to you in an email. That's the deal; absolutely no funny business. Promise! You in?",
"type": "info"
}
]
]
}

Krok 4: Zhromaždite meno používateľa ako parameter dialógového toku

Ďalej je čas pridať ďalší následný zámer na zhromažďovanie údajov od používateľa. Ako je uvedené v kroku 2, už by ste mali mať následný zámer Áno, ktorý vyžaduje meno používateľa. Umiestnite kurzor myši na položku Áno následný zámer v hlavnej ponuke zámerov kliknite na Pridajte následný zámer a vyberte Vlastné zo zoznamu.

  vyberte áno sledovať zámer

Tým sa vytvorí nový nadväzujúci zámer bez akýchkoľvek tréningových fráz. Prejdite do sekcie Tréningové frázy, zadajte názov do poľa a stlačením klávesu Enter ho pridajte ako novú frázu. Toto spustí vytvorenie nového parametra s typom entity @sys.person. Klikni na @sys.person entity a zmeňte ju na a @sys.given-name subjekt.

  nastavenie parametra zadaného názvu dialógového okna

Týmto sa uloží vstup používateľa, aby ho agent mohol použiť. Prejdite do sekcie Odpovede a pridajte odpoveď pomocou $given-name vnútri. Toto zavolá parameter mena, ktorý ste zhromaždili, čo umožní jeho zobrazenie v chate.

  dialógové okno názov parametra odpoveď

Krok 5: Na spustenie zámerov použite vlastné užitočné zaťaženie dialógového toku

Zostaňte v rámci následného zámeru, ktorý ste práve pridali, kliknite na Pridať odpovede a zo zoznamu vyberte Vlastné užitočné zaťaženie. Pridanie kódu JSON nižšie do tejto sekcie spustí bohatú odpoveď so zoznamom, v ktorej používateľ požiada, aby si vybral farbu.

  zoznam bohatého obsahu dialógového toku

Najdôležitejšou časťou tohto kódu JSON je sekcia udalosti s každým záznamom. Po kliknutí každá položka zoznamu vyvolá udalosť s názvom COLOR s názvom a parametrami farby, ktoré boli doteraz zozbierané. Zámery môžu mať priradené udalosti, ktoré ich spustia.

{ 
"richContent": [
[
{
"event": {
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Red"
},
"name": "COLOR"
},
"title": "Red",
"type": "list"
},
{
"type": "divider"
},
{
"event": {
"name": "COLOR",
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Green"
}
},
"type": "list",
"title": "Green"
},
{
"type": "divider"
},
{
"type": "list",
"title": "Blue",
"event": {
"languageCode": "en",
"name": "COLOR",
"parameters": {
"name": "$given-name",
"color": "Blue"
}
}
}
]
]
}

Krok 6: Presuňte parametre dialógového toku medzi zámermi

Vráťte sa do hlavnej ponuky zámerov a kliknite na Vytvorte zámer . Pomenujte svoj nový zámer a zadajte ho FARBA v sekcii udalostí pred úderom Zadajte .

  farebný zámer s event

Prejdite do časti Tréningové frázy a pridajte názov a farbu do zoznamu fráz, čím spustíte vytváranie nových parametrov. Zmeniť @sys.person parametrická entita do a @sys.given-name entity a uistite sa, že entita farby je nastavená na @sys.color .

  farebné školenie a parametre

Teraz môžete pridať nejaké odpovede pomocou $given-name a $color, aby sa vstupy používateľa zobrazili v okne rozhovoru.

  odpovede farebného zámeru s parametrami

Nakoniec sa vráťte do Kontexty v hornej časti stránky a pridajte výstup s jedinečným názvom. Tým sa prenesú parametre z tohto zámeru do ďalšieho.

  kontext výstupu farebného zámeru

Krok 7: Zhromaždite krajinu a telefónne číslo používateľa ako parametre dialógového toku

Vráťte sa do hlavnej ponuky zámerov a umiestnite kurzor myši na ikonu Farebný zámer práve ste vytvorili a kliknite na Pridajte následný zámer . Skontrolujte sekciu Kontexty nového zámeru. Uistite sa, že obsahuje kontext farieb, ktorý ste vytvorili v poslednom kroku vo vstupnej aj výstupnej časti. Pridajte ďalší výstupný kontext pre aktuálny zámer.

  dialógový tok farba krajina nadväzujúci zámer

Choďte na Tréningové frázy a pred stlačením pridajte názov krajiny do zoznamu Zadajte . Tým sa vytvorí nový parameter. Zmeňte typ entity parametra na @sys.geo-country pred pridaním parametra do sekcie odozvy.

  výcvik v krajine a parametre

Vráťte sa do hlavnej ponuky zámerov a vytvorte nový nadväzujúci zámer pre zámer, ktorý ste práve vytvorili. Opakujte kroky, ktoré ste práve vykonali, ale použite telefónne číslo v Tréningové frázy oddiele. Uistite sa, že vygenerovaný parameter má a @sys.phone-number typ entity.

  školenie telefónneho čísla a parametre

Vráťte sa do hlavnej ponuky zámerov a vytvorte dva nové nadväzujúce zámery pre zámer, ktorý ste práve vytvorili; a Následný zámer Áno a Nie. Na ukončenie konverzácie môžete nastaviť zámer Bez nadväzovania.

  telefónne číslo áno nie sledovanie

Následný zámer Áno musí mať všetky súvislosti z predchádzajúcich zámerov, ktoré ste vytvorili.

Bezdrôtový ovládač xbox one sa nepripojí
  sledovať vstupné kontexty

Nakoniec sa vráťte do hlavnej ponuky zámerov a vytvorte nový nadväzujúci zámer pre nadväzujúci zámer Áno, ktorý ste práve vytvorili. Pridajte e-mailovú adresu do sekcie Tréningové frázy a uistite sa, že vygenerovaný parameter má @sys.email ako jej typ entity.

  parameter dialógového e-mailu

Choďte na Odpovede sekciu, kliknite Pridať odpovede a vyberte Vlastné užitočné zaťaženie zo zoznamu. Nasledujúci kód JSON pridá bohatú odpoveď typu zoznamu, ktorá zavolá udalosť s názvom SENDEMAIL. Všetky používateľské parametre, ktoré ste doteraz požadovali, budú odoslané tomuto zámeru.

{ 
"richContent": [
[
{
"title": "Send Email",
"event": {
"parameters": {
"name": "#Color-followup.name",
"country": "#Color-country-followup.country",
"email": "$email",
"color": "#Color-followup.color",
"phone": "#Color-country-phonenum-followup.phone-number"
},
"name": "SENDEMAIL",
"languageCode": "en"
},
"type": "list"
}
]
]
}

Krok 8: Odošlite e-mail pomocou editora Dialogflow Node.js Inline Editor

Kliknite Vytvorte zámer v hlavnej ponuke zámerov. Pridať POSLAŤ EMAIL k Diania sekcia a hit Zadajte . Nasledujte to pridaním všetkých parametrov, ktoré ste zhromaždili, do Akcia a parametre oddiele.

  e-mailová udalosť a parametre

Choďte na Plnenie v spodnej časti stránky a aktivujte posúvač označený Povoliť volanie webhooku pre tento zámer . To vám umožní pridať vlastný kód k tomuto zámeru.

  naplnenie zámeru dialógového toku

Vyberte Plnenie z hlavnej ponuky na ľavej strane stránky a aktivovaním posúvača aktivujte Vložený editor . Ak to chcete urobiť, možno budete musieť do svojho projektu Google pridať fakturačný účet.

  aktívny inline editor dialógového toku

Klikni na package.json a prejdite na koniec súboru. Ak chcete do projektu pridať rozhranie API Nodemailer, nahraďte sekciu závislostí nasledujúcim kódom.

"dependencies": { 
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^0.5.0"
}

Vráťte sa do súboru index.js a nahraďte existujúci kód vzorom, ktorý nájdete na tento projekt CodePen pred kliknutím Nasadiť . Budete musieť nahradiť poverenia služby Gmail povereniami vášho vlastného účtu. Na to musíte použiť heslo aplikácie. Po dokončení váš chatbot pošle používateľovi na konci úspešnej konverzácie e-mailom všetky podrobnosti, ktoré zhromaždíte. Môžeš viac informácií o Node.js a ako ho používať s naším praktickým sprievodcom.

Používanie Dialogflow ES na vašom webe

Váš nový chatbot môže zhromažďovať informácie o používateľoch a odosielať e-maily, ale Dialogflow ES dokáže oveľa viac. K tejto službe sa môžete pripojiť takmer akékoľvek rozhranie API a pomocou rozhrania Dialogflow API môžete ovládať svojho chatbota na svojej vlastnej webovej stránke.