Chatbots blir et stadig viktigere verktøy for bedrifter i moderne tid. Med de riktige verktøyene og kunnskapen oppretter bedrifter chatteagenter som kan ha ekte samtaler med kunder.
Google Dialogflow ES er et av markedets kraftigste – og gratis – chatbot-byggeverktøy. Men hvordan kan du utløse dets fulle potensiale?
Trinn 1: Lag din Dialogflow ES-agent
Å lage din egen Dialogflow ES-agent er det første trinnet i denne prosessen. Alle Google-kontoer fungerer, og du starter med å navigere til Google Dialogflow ES nettsted. Klikk på Opprett agent når du har logget inn og fyll ut detaljene i skjemaet før du klikker Skape. Du kan bruke Dialogflow til lage en chatbot for underholdning, automatisering eller kundeservice. Dette prosjektet dekker sistnevnte.
Trinn 2: Legg til Dialogflow-oppfølgingsintensjoner
Den nye agenten har bare en standard velkomsthensikt og en standard reservehensikt. En hensikt er et fragment eller et stadium i en samtale.
Du må legge til to oppfølgingsintensjoner til den eksisterende standardvelkomsthensikten for å komme i gang. Hold musepekeren over
Standard velkomsthensikt, klikk på Legg til oppfølgingsintensjon, og velg Ja fra rullegardinmenyen. Gjenta prosessen ved å velge Nei fra rullegardinmenyen for å opprette den andre oppfølgingsintensjonen.Intensjonen Ingen oppfølging vil avslutte samtalen og si farvel til brukeren. Åpne Ingen oppfølgingsintensjon og legg til en rekke tekstsvar for å avslutte samtalen. Aktiver Angi denne hensikten som slutten på samtalen glidebryteren.
Gå tilbake til hovedinnsikter-skjermen og klikk på Ja oppfølgingsintensjon for å åpne den.
Trinn 3: Bygg en rik dialogflow-responsliste med JSON
Nå du har disse intensjonene satt opp, er det på tide å stille brukeren et spørsmål slik at de kan komme til dem. Åpne Standard velkomsthensikt og Slett svarene den genererte med. Klikk Legg til svar og velg Egendefinert nyttelast fra menyen.
JSON-koden nedenfor legger til to forskjellige typer rike svar; info og chips.
{
"richContent": [
[
{
"type": "sjetonger",
"alternativer": [
{
"text": "Ja"
},
{
"text": "Nei"
}
]
},
{
"bilde": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Fortell meg om deg selv :)",
"subtitle": "Gi meg noen av dine personlige opplysninger. Jeg sender det til deg i en e-post. Det er avtalen; absolutt ingen morsom virksomhet. Love! Er du med?",
"type": "info"
}
]
]
}
Trinn 4: Samle brukerens navn som en dialogflowparameter
Deretter er det på tide å legge til en annen oppfølgingsintensjon for å samle inn data fra brukeren. Som skissert i trinn 2, bør du allerede ha en Ja-oppfølgingsintensjon som ber om brukerens navn. Hold musepekeren over Ja oppfølgingsintensjon i hovedmenyen for intensjoner, klikk Legg til oppfølgingsintensjon, og velg Tilpasset fra listen.
Dette vil skape en ny oppfølgingsintensjon uten noen treningsfraser. Gå til Treningsfraser-delen, skriv inn et navn i boksen og trykk Enter for å legge det til som en ny frase. Dette vil utløse opprettelsen av en ny parameter med entitetstypen @sys.person. Klikk på @sys.person enhet og endre den til en @sys.gitt-navn enhet.
Dette vil lagre brukerens inndata slik at agenten kan bruke den. Gå til Svar-delen og legg til et svar med $gitt-navn inni det. Dette kaller navneparameteren du har samlet, slik at den vises i chatten.
Trinn 5: Bruk en Dialogflow Custom Payload for å utløse intensjoner
For å holde deg innenfor oppfølgingsintensjonen du nettopp la til, klikk på Legg til svar og velg Custom Payload fra listen. Hvis du legger til JSON-koden nedenfor i denne delen, utløses et listerikt svar som ber brukeren velge en farge.
Den viktigste delen av denne JSON-koden er hendelsesdelen med hver oppføring. Når det klikkes, kaller hvert listeelement en hendelse kalt COLOR med navn og fargeparametere som er samlet inn så langt. Hensikter kan ha hendelser tildelt dem som vil utløse dem.
{
"rikt innhold": [
[
{
"begivenhet": {
"språkkode": "no",
"parametere": {
"Navn": "$gitt-navn",
"farge": "rød"
},
"Navn": "FARGE"
},
"tittel": "rød",
"type": "liste"
},
{
"type": "deler"
},
{
"begivenhet": {
"Navn": "FARGE",
"språkkode": "no",
"parametere": {
"Navn": "$gitt-navn",
"farge": "Grønn"
}
},
"type": "liste",
"tittel": "Grønn"
},
{
"type": "deler"
},
{
"type": "liste",
"tittel": "Blå",
"begivenhet": {
"språkkode": "no",
"Navn": "FARGE",
"parametere": {
"Navn": "$gitt-navn",
"farge": "Blå"
}
}
}
]
]
}
Trinn 6: Flytt dialogflowparametere mellom intensjoner
Gå tilbake til hovedmenyen for intensjoner og klikk på Lag intensjon. Gi den nye intensjonen et navn og skriv inn FARGE i hendelsesdelen før du slår Tast inn.
Gå til seksjonen for opplæringsfraser og legg til et navn og en farge på listen over fraser for å utløse opprettelsen av nye parametere. Endre @sys.person parameterentitet til en @sys.gitt-navn enhet og sørg for at fargeenheten er satt til @sys.color.
Du kan nå legge til noen svar ved å bruke $gitt-navn og $farge for å få brukerens input til å vises i chattevinduet.
Til slutt, gå tilbake til Kontekster seksjonen øverst på siden og legg til en utgang med et unikt navn. Dette vil overføre parametrene fra denne hensikten til den neste.
Trinn 7: Samle inn brukerens land og telefonnummer som dialogflowparametere
Gå tilbake til hovedmenyen for intensjoner, hold musepekeren over Farge hensikt du nettopp opprettet, og klikk på Legg til oppfølgingsintensjon. Sjekk Kontekst-delen av den nye intensjonen. Pass på at den inkluderer fargekonteksten du opprettet i det siste trinnet i både inndata- og utdatadelene. Legg til en annen utdatakontekst for gjeldende hensikt.
Gå til Treningssetninger og legg til navnet på et land i listen før du trykker Tast inn. Dette vil opprette en ny parameter. Endre parameterens enhetstype til @sys.geo-country før du legger til parameteren i responsdelen.
Gå tilbake til hovedmenyen for intensjoner og lag en ny oppfølgingsintensjon for intensjonen du nettopp opprettet. Gjenta trinnene du nettopp har tatt, men bruk et telefonnummer i Treningssetninger seksjon. Pass på at den genererte parameteren har en @sys.telefonnummer enhetstype.
Gå tilbake til hovedmenyen for intensjoner og lag to nye oppfølgingshensikter for intensjonen du nettopp opprettet; a Ja og Nei oppfølgingsintensjon. Du kan angi Ingen oppfølging-intensjonen for å avslutte samtalen.
Ja-oppfølgingsintensjonen må ha alle kontekstene fra de tidligere intensjonene du har opprettet.
Til slutt går du tilbake til hovedmenyen for intensjoner og oppretter en ny oppfølgingsintensjon for Ja-oppfølgingsintensjonen du nettopp opprettet. Legg til en e-postadresse i opplæringsfraser-delen og sørg for at den genererte parameteren har @sys.email som sin enhetstype.
Gå til Svar seksjon, klikk Legg til svar, og velg Egendefinert nyttelast fra listen. Følgende JSON-kode vil legge til en listetype rik respons som kaller en hendelse kalt SENDEMAIL. Alle brukerparametere du har bedt om så langt vil bli sendt til denne hensikten.
{
"rikt innhold": [
[
{
"tittel": "Send e-post",
"begivenhet": {
"parametere": {
"Navn": "#Color-followup.name",
"land": "#Color-country-followup.country",
"e-post": "$e-post",
"farge": "#Color-followup.color",
"telefon": "#Color-country-phonenum-followup.phone-number"
},
"Navn": "SEND E-POST",
"språkkode": "no"
},
"type": "liste"
}
]
]
}
Trinn 8: Send en e-post ved å bruke Dialogflow Node.js Inline Editor
Klikk Lag intensjon i hovedmenyen for intensjoner. Legge til SEND E-POST til arrangementer seksjon og treff Tast inn. Følg dette ved å legge til alle parameterne du har samlet til Handling og parametere seksjon.
Gå til Oppfyllelse seksjonen nederst på siden og aktiver glidebryteren merket Aktiver webhook-anrop for denne hensikten. Dette vil gjøre deg i stand til å legge til egendefinert kode til denne intensjonen.
Å velge Oppfyllelse fra hovedmenyen til venstre på siden og aktiver glidebryteren for å aktivere Inline Editor. Du må kanskje legge til en faktureringskonto i Google-prosjektet ditt for å gjøre dette.
Klikk på package.json fanen og bla til bunnen av filen. Erstatt avhengighetsdelen med følgende kode for å legge til Nodemailer API til prosjektet ditt.
"avhengigheter": {
"handlinger-på-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"brannbase-funksjoner": "^2.0.2",
"dialogflyt": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflyt-oppfyllelse": "^0.5.0"
}
Gå tilbake til index.js-filen og erstatt den eksisterende koden med prøven du finner på dette CodePen-prosjektet før du klikker Utplassere. Du må erstatte Gmail-legitimasjonen med den for din egen konto. Du må bruke et app-passord for dette. Når den er fullført, vil chatboten din sende alle detaljene du samler på e-post til brukeren på slutten av en vellykket samtale. Du kan lær mer om Node.js og hvordan du bruker den med vår praktiske guide.
Bruk av Dialogflow ES på nettstedet ditt
Din nye chatbot kan samle brukerinformasjon og sende e-post, men Dialogflow ES kan gjøre så mye mer. Du kan koble omtrent hvilken som helst API til denne tjenesten, og du kan bruke Dialogflow API til å kontrollere chatboten din på din egen nettside.