Chatbots werden in der heutigen Zeit zu einem immer wichtigeren Werkzeug für Unternehmen. Mit den richtigen Tools und dem richtigen Know-how erstellen Unternehmen Chat-Agenten, die echte Gespräche mit Kunden führen können.
Google Dialogflow ES ist eines der leistungsstärksten – und kostenlossten – Tools zum Erstellen von Chatbots auf dem Markt. Aber wie können Sie sein volles Potenzial entfalten?
Schritt 1: Erstellen Sie Ihren Dialogflow ES-Agent
Das Erstellen Ihres eigenen Dialogflow ES-Agenten ist der erste Schritt in diesem Prozess. Jedes Google-Konto funktioniert, und Sie beginnen, indem Sie zu navigieren Google Dialogflow ES-Website. Klicke auf Agent erstellen Sobald Sie sich angemeldet haben und die Details im Formular ausfüllen, bevor Sie klicken Schaffen. Dazu können Sie Dialogflow verwenden Erstellen Sie einen Chatbot zur Unterhaltung, Automatisierung oder Kundenservice. Letzteres deckt dieses Projekt ab.
Schritt 2: Fügen Sie Dialogflow-Follow-Up-Intents hinzu
Der neue Agent hat nur einen Default Welcome Intent und einen Default Fallback Intent. Eine Absicht ist ein Fragment oder eine Phase in einem Gespräch.
Sie müssen zwei Follow-up-Intents zum vorhandenen Default Welcome Intent hinzufügen, um loszulegen. Bewegen Sie den Mauszeiger über die Standard-Willkommensabsicht, klicke auf Follow-up-Intent hinzufügen, und wähle Ja aus dem Dropdown-Menü. Wiederholen Sie den Vorgang, indem Sie im Drop-down-Menü Nein auswählen, um den zweiten Follow-up-Intent zu erstellen.
Die Absicht „Keine Nachverfolgung“ beendet die Konversation und verabschiedet sich vom Benutzer. Öffne das Keine Folgeabsicht und fügen Sie eine Reihe von Textantworten hinzu, um das Gespräch zu beenden. Aktivieren Sie die Legen Sie diese Absicht als Ende des Gesprächs fest Schieberegler.
Gehen Sie zurück zum Hauptbildschirm von Intents und klicken Sie auf Ja Folgeabsicht um es zu öffnen.
Schritt 3: Erstellen Sie eine umfangreiche Dialogflow-Antwortliste mit JSON
Nachdem Sie diese Absichten eingerichtet haben, ist es an der Zeit, dem Benutzer eine Frage zu stellen, damit er sie erreichen kann. Öffne das Standard-Willkommensabsicht und Löschen die Antworten, die es generiert hat. Klicken Antworten hinzufügen und auswählen Benutzerdefinierte Nutzlast aus dem Menü.
Der folgende JSON-Code fügt zwei verschiedene Arten von Rich Responses hinzu; Infos und Chips.
{
"richContent": [
[
{
"Typ": "Chips",
"Optionen": [
{
"Text": "Ja"
},
{
"Text": "Nein"
}
]
},
{
"Bild": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Erzähl mir von dir :)",
"subtitle": "Geben Sie mir einige Ihrer persönlichen Daten. Ich schicke es dir per E-Mail. Das ist der Deal; absolut keine komische sache. Versprechen! Du in?",
"typ": "info"
}
]
]
}
Schritt 4: Sammeln Sie den Benutzernamen als Dialogflow-Parameter
Als Nächstes ist es an der Zeit, einen weiteren Follow-up-Intent hinzuzufügen, um Daten vom Benutzer zu sammeln. Wie in Schritt 2 beschrieben, sollten Sie bereits einen Ja-Follow-up-Intent haben, der nach dem Namen des Benutzers fragt. Bewegen Sie den Mauszeiger über die Ja Folgeabsicht Klicken Sie im Hauptzielmenü auf Follow-up-Intent hinzufügen, und wählen Sie aus Brauch von der Liste.
Dadurch wird ein neuer Follow-up-Intent ohne Trainingsphrasen erstellt. Gehen Sie zum Abschnitt Trainingssätze, geben Sie einen Namen in das Feld ein und drücken Sie die Eingabetaste, um ihn als neuen Satz hinzuzufügen. Dadurch wird die Erstellung eines neuen Parameters mit dem Entitätstyp @sys.person ausgelöst. Klick auf das @sys.person Entität und ändern Sie sie in a @sys.vorname Einheit.
Dadurch wird die Eingabe des Benutzers gespeichert, damit der Agent sie verwenden kann. Gehen Sie zum Abschnitt Antworten und fügen Sie eine Antwort mit hinzu $vorname im Inneren. Dadurch wird der von Ihnen gesammelte Namensparameter aufgerufen, sodass er im Chat angezeigt wird.
Schritt 5: Verwenden Sie eine benutzerdefinierte Dialogflow-Payload, um Intents auszulösen
Bleiben Sie innerhalb der soeben hinzugefügten Follow-up-Intent, klicken Sie auf Antworten hinzufügen und wählen Sie Benutzerdefinierte Nutzlast aus der Liste aus. Das Hinzufügen des JSON-Codes unten zu diesem Abschnitt löst eine Antwort mit vielen Listen aus, in der der Benutzer aufgefordert wird, eine Farbe auszuwählen.
Der wichtigste Teil dieses JSON-Codes ist der Ereignisabschnitt mit jedem Eintrag. Beim Anklicken ruft jedes Listenelement ein Ereignis namens COLOR mit dem Namen und den bisher gesammelten Farbparametern auf. Absichten können Ereignisse zugewiesen werden, die sie auslösen.
{
"richContent": [
[
{
"Veranstaltung": {
"Sprachcode": "en",
"Parameter": {
"Name": "$vorname",
"Farbe": "Rot"
},
"Name": "FARBE"
},
"Titel": "Rot",
"Typ": "aufführen"
},
{
"Typ": "Teiler"
},
{
"Veranstaltung": {
"Name": "FARBE",
"Sprachcode": "en",
"Parameter": {
"Name": "$vorname",
"Farbe": "Grün"
}
},
"Typ": "aufführen",
"Titel": "Grün"
},
{
"Typ": "Teiler"
},
{
"Typ": "aufführen",
"Titel": "Blau",
"Veranstaltung": {
"Sprachcode": "en",
"Name": "FARBE",
"Parameter": {
"Name": "$vorname",
"Farbe": "Blau"
}
}
}
]
]
}
Schritt 6: Dialogflow-Parameter zwischen Intents verschieben
Gehen Sie zurück zum Hauptmenü Absichten und klicken Sie auf Absicht erstellen. Geben Sie Ihrer neuen Absicht einen Namen und geben Sie sie ein FARBE im Ereignisbereich vor dem Schlagen Eintreten.
Gehen Sie zum Abschnitt Trainingsphrasen und fügen Sie der Liste der Phrasen einen Namen und eine Farbe hinzu, um die Erstellung neuer Parameter auszulösen. Ändere das @sys.person Parameterentität zu a @sys.vorname Objekt und vergewissern Sie sich, dass das Farbobjekt auf eingestellt ist @sys.color.
Sie können jetzt einige Antworten mit $given-name und $color hinzufügen, damit die Eingaben des Benutzers im Chatfenster angezeigt werden.
Gehen Sie schließlich zurück zu Kontexte oben auf der Seite und fügen Sie eine Ausgabe mit einem eindeutigen Namen hinzu. Dadurch werden die Parameter von dieser Absicht an die nächste übergeben.
Schritt 7: Sammeln Sie das Land und die Telefonnummer des Benutzers als Dialogflow-Parameter
Gehen Sie zurück zum Hauptmenü Absichten, bewegen Sie den Mauszeiger über die Farbabsicht Sie gerade erstellt haben, und klicken Sie auf Follow-up-Intent hinzufügen. Überprüfen Sie den Abschnitt Kontexte der neuen Absicht. Stellen Sie sicher, dass der im letzten Schritt erstellte Farbkontext sowohl im Eingabe- als auch im Ausgabeabschnitt enthalten ist. Fügen Sie einen weiteren Ausgabekontext für die aktuelle Absicht hinzu.
Gehen Sie zum Trainingsphrasen Abschnitt und fügen Sie den Namen eines Landes zur Liste hinzu, bevor Sie auf klicken Eintreten. Dadurch wird ein neuer Parameter erstellt. Ändern Sie den Entitätstyp des Parameters in @sys.geo-Land bevor Sie den Parameter zum Antwortabschnitt hinzufügen.
Gehen Sie zurück zum Hauptmenü Intents und erstellen Sie einen neuen Follow-up-Intent für den gerade erstellten Intent. Wiederholen Sie die gerade ausgeführten Schritte, aber verwenden Sie eine Telefonnummer in der Trainingsphrasen Sektion. Stellen Sie sicher, dass der generierte Parameter über a verfügt @sys.Telefonnummer Entitätstyp.
Gehen Sie zurück zum Hauptmenü Intents und erstellen Sie zwei neue Follow-up-Intents für den gerade erstellten Intent; eine Ja- und Nein-Folgeabsicht. Sie können die Absicht „Keine Nachverfolgung“ festlegen, um die Konversation zu beenden.
Die Ja-Follow-up-Intent muss alle Kontexte aus den vorherigen Intents enthalten, die Sie erstellt haben.
Kehren Sie abschließend zum Hauptmenü Intents zurück und erstellen Sie einen neuen Follow-up-Intent für den soeben erstellten Ja-Follow-up-Intent. Fügen Sie eine E-Mail-Adresse zum Abschnitt „Training Phrases“ hinzu und vergewissern Sie sich, dass der generierte Parameter dies hat @sys.email als Entitätstyp.
Gehen Sie zum Antworten Abschnitt, klicken Sie auf Antworten hinzufügen, und wählen Sie aus Benutzerdefinierte Nutzlast von der Liste. Der folgende JSON-Code fügt eine umfassende Antwort vom Typ Liste hinzu, die ein Ereignis namens SENDEMAIL aufruft. Alle bisher abgefragten Benutzerparameter werden an diesen Intent gesendet.
{
"richContent": [
[
{
"Titel": "E-Mail senden",
"Veranstaltung": {
"Parameter": {
"Name": "#Color-followup.name",
"Land": "#Color-country-followup.country",
"Email": "$E-Mail",
"Farbe": "#Color-followup.color",
"Telefon": "#Color-country-phonenum-followup.phone-number"
},
"Name": "E-MAIL SENDEN",
"Sprachcode": "en"
},
"Typ": "aufführen"
}
]
]
}
Schritt 8: Senden Sie eine E-Mail mit dem Inline-Editor von Dialogflow Node.js
Klicken Absicht erstellen im Hauptmenü Absichten. Hinzufügen E-MAIL SENDEN zum Veranstaltungen Schnitt und Treffer Eintreten. Anschließend fügen Sie alle gesammelten Parameter der hinzu Aktion und Parameter Sektion.
Gehen Sie zum Erfüllung Abschnitt unten auf der Seite und aktivieren Sie den mit der Bezeichnung gekennzeichneten Schieberegler Aktivieren Sie den Webhook-Aufruf für diese Absicht. Dadurch können Sie dieser Absicht benutzerdefinierten Code hinzufügen.
Auswählen Erfüllung aus dem Hauptmenü links auf der Seite und aktivieren Sie den Schieberegler, um die zu aktivieren Inline-Editor. Möglicherweise müssen Sie dazu ein Rechnungskonto zu Ihrem Google-Projekt hinzufügen.
Klick auf das Paket.json Tab und scrollen Sie zum Ende der Datei. Ersetzen Sie den Abschnitt „Abhängigkeiten“ durch den folgenden Code, um die Nodemailer-API zu Ihrem Projekt hinzuzufügen.
"Abhängigkeiten": {
"Aktionen-auf-Google": "^2.2.0",
"firebase-admin": "^5.13.1",
"Firebase-Funktionen": "^2.0.2",
"Dialogfluss": "^0.6.0",
"Knotenmailer": "^4.4.2",
"Dialogflow-Erfüllung": "^0.5.0"
}
Wechseln Sie zurück zur Datei „index.js“ und ersetzen Sie den vorhandenen Code durch das Beispiel, das auf gefunden wurde dieses CodePen-Projekt vor dem Klicken Einsetzen. Sie müssen die Gmail-Anmeldeinformationen durch die Ihres eigenen Kontos ersetzen. Dazu müssen Sie ein App-Passwort verwenden. Sobald Sie fertig sind, sendet Ihr Chatbot am Ende einer erfolgreichen Konversation alle von Ihnen gesammelten Details per E-Mail an den Benutzer. Du kannst Erfahren Sie mehr über Node.js und wie man es mit unserer praktischen Anleitung verwendet.
Verwendung von Dialogflow ES auf Ihrer Website
Ihr neuer Chatbot kann Benutzerinformationen sammeln und E-Mails senden, aber Dialogflow ES kann noch viel mehr. Sie können nahezu jede API mit diesem Dienst verbinden und die Dialogflow-API verwenden, um Ihren Chatbot auf Ihrer eigenen Website zu steuern.