Auf dieser Seite wird beschrieben, wie Sie eine Google Chat-App erstellen, die Dialogflow ES verwendet, um natürliche Sprache zu verstehen und darauf zu reagieren. Sie können auch Dialogflow CX verwenden, das eine direkte Integration in Google Chat bietet, um eine Dialogflow CX-Google Chat-App zu erstellen. Folgen Sie dazu der Anleitung für Dialogflow CX Google Chat.
Ziele
- die Umgebung einrichten
- Erstellen und stellen Sie einen Dialogflow ES-Agenten bereit.
- Erstellen und stellen Sie eine Chat-App bereit, die auf dem Dialogflow ES-Agent basiert.
- Testen Sie die Chat App.
Vorbereitung
- Ein Google Workspace-Konto für Unternehmen oder Enterprise mit Zugriff auf Google Chat.
- Google Cloud-Projekt mit aktivierter Abrechnungsfunktion. Informationen dazu, wie Sie prüfen können, ob die Abrechnung für ein bestehendes Projekt aktiviert ist, finden Sie unter Abrechnungsstatus Ihrer Projekte prüfen. Informationen zum Erstellen eines Projekts und Einrichten der Abrechnung finden Sie unter Google Cloud-Projekt erstellen.
Architektur
Das folgende Diagramm zeigt die Architektur einer Chat-App, die mit Dialogflow erstellt wurde:
Im vorherigen Diagramm sieht der Informationsfluss bei der Interaktion eines Nutzers mit einer Dialogflow-Chat-App so aus:
- Ein Nutzer sendet eine Nachricht in Google Chat an eine Chat-App, entweder in einer Direktnachricht oder in einem Chat-Gruppenbereich.
- Ein virtueller Dialogflow-Kundenservicemitarbeiter, der sich in befindet, empfängt und verarbeitet die Nachricht, um eine Antwort zu generieren.
- Optional kann der Dialogflow-Agent über einen Dialogflow-Webhook mit externen Drittanbieterdiensten wie einem Projektmanagementsystem oder einem Ticketing-Tool interagieren.
- Der Dialogflow-Agent sendet eine Antwort zurück an den Chat-App-Dienst in Chat.
- Die Antwort wird im Chatbereich angezeigt.
Umgebung einrichten
Bevor Sie Google-APIs verwenden können, müssen Sie sie in einem Google Cloud-Projekt aktivieren. Sie können eine oder mehrere APIs in einem einzelnen Google Cloud-Projekt aktivieren.Aktivieren Sie in der Google API Console die Google Chat API und die Dialogflow API.
Prüfen Sie, ob Sie die APIs im richtigen Cloud-Projekt aktivieren, und klicken Sie dann auf Weiter.
Prüfen Sie, ob Sie die richtigen APIs aktivieren, und klicken Sie dann auf Aktivieren.
Dialogflow ES-Agent erstellen
Wenn Sie noch keinen Dialogflow ES-Agenten haben:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Klicken Sie auf Create Agent (Agent erstellen).
- Geben Sie einen Namen ein und wählen Sie eine Standardsprache und eine Zeitzone aus.
- Verknüpfen Sie sie mit Ihrem Cloud-Projekt.
- Klicken Sie auf Erstellen.
- Erstellen Sie Intents und Entitäten nach Bedarf für den Konversationsablauf Ihrer Chat-App. Sie können mit einer Begrüßungsabsicht beginnen.
- Notieren Sie sich Ihre Projekt-ID.
Eine ausführliche Anleitung finden Sie unter Agent erstellen.
Chat-App erstellen und mit dem Dialogflow-Agent verbinden
Nachdem Sie einen Dialogflow ES-Agent erstellt haben, gehen Sie so vor, um ihn in eine Chat-App umzuwandeln:
Rufen Sie in der Google API Console die Google Chat API auf. Suchen Sie nach „Google Chat API“, klicken Sie auf Google Chat API und dann auf Verwalten.
Klicken Sie auf Konfiguration und richten Sie die Chat-App ein:
- Geben Sie unter App-Name
Dialogflow Appein. - Geben Sie unter Avatar-URL
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.pngein. - Geben Sie unter Beschreibung
Responds to real human conversationein. - Wählen Sie unter Funktionsweise die Option Gruppenbereichen und Gruppenunterhaltungen beitreten aus.
- Wählen Sie unter Verbindungseinstellungen die Option Dialogflow aus.
- Wählen Sie unter Dialogflow-Einstellungen die Option Dialogflow ES aus.
- Diese Chat-App bestimmten Personen und Gruppen zur Verfügung stellen in Ihrer Domain und geben Sie Ihre E‑Mail-Adresse ein.
- Wählen Sie unter Logs die Option Fehler in Logging protokollieren aus.
- Geben Sie unter App-Name
Klicken Sie auf Speichern.
Die Chat App ist bereit, Nachrichten in Google Chat zu empfangen und darauf zu antworten.
Chat-App testen
Testen Sie die Dialogflow ES-Chat-App, indem Sie ihr in Google Chat Nachrichten senden.
Öffnen Sie Google Chat mit dem Google Workspace-Konto, das Sie angegeben haben, als Sie sich als vertrauenswürdiger Tester hinzugefügt haben.
- Klicken Sie auf Neuer Chat.
- Geben Sie im Feld Eine oder mehrere Personen hinzufügen den Namen Ihrer Chat-App ein.
Wählen Sie Ihre Chat-App in den Ergebnissen aus. Eine Direktnachricht wird geöffnet.
Geben Sie in der neuen Direktnachricht mit der App
Helloein und drücken Sieenter.Die Dialogflow Chat-App antwortet mit einer Begrüßungsnachricht.
Textantworten
Textantworten werden als Nachrichten an Google Chat gesendet. Mit dieser Formatierung können Sie Text fett oder kursiv formatieren, indem Sie ihn in bestimmte (Markdown Light-)Symbole einschließen.
Die SMS-Antwort sieht in der Dialogflow-Konsole genauso aus wie die Standardtextantwort. Die ursprüngliche API-Antwort sieht jedoch etwas anders aus. Außerdem wird die Plattformkonfiguration auf GOOGLE_HANGOUTS festgelegt, was interessant sein kann, wenn Sie Agenten für mehrere Integrationen erstellen.
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
Karten
Kartenantworten werden als Kartenmitteilungen an Google Chat gesendet.
Bilder
Bildantworten werden als Google Chat-Bild-Widgets an Google Chat gesendet.
Benutzerdefinierte Nutzlast
Wenn Sie andere Arten von Google Chat-Nachrichten senden möchten, können Sie eine benutzerdefinierte Nutzlast verwenden.
Mit Google Chat Custom Payload können Sie komplexere Karten erstellen. Eine Karte kann einen oder mehrere Abschnitte haben. Jeder Abschnitt kann eine Kopfzeile haben. Im Leitfaden zu Kartenmeldungen finden Sie einige der Kombinationen, die Sie damit erstellen können. Wenn Sie benutzerdefinierte Nutzlasten verwenden, müssen Sie jedoch das JSON-Format angeben.
Hier ist ein Beispiel für eine benutzerdefinierte Nutzlast zum Erstellen einer Nachricht mit einer Karte:
{ "hangouts": { "hostAppDataAction": { "chatDataAction": { "createMessageAction": { "message": { "cardsV2": [{ "cardId": "pizza", "card": { "header": { "title": "Pizza Delivery Customer Support", "subtitle": "pizzadelivery@example.com", "imageUrl": "https://goo.gl/aeDtrS" }, "sections": [{ "widgets": [{ "textParagraph": { "text": " Your pizza is here!" }}]}] } }]}} }}}}
Einschränkungen und Überlegungen
- Bei der Verwendung von Google Chat-Apps mit Dialogflow gelten für Chat-Ereignisobjekte die folgenden Einschränkungen und Hinweise:
- App Home Events:Die Unterstützung für
APP_HOME-Ereignisse ist noch nicht verfügbar. - Dialogflow-Abfrageeingabe:Der Text, der als Abfrageeingabe an den Dialogflow-Agent gesendet wird, hängt vom Ereignistyp ab:
MESSAGE:Der Wert des FeldsargumentTextaus der Chatnachricht.APP_COMMAND:Der String"APP_COMMAND_PAYLOAD".ADDED_TO_SPACE:Es wird ein Standard-Begrüßungsereignis gesendet.REMOVED_FROM_SPACE:Der String"REMOVED_FROM_SPACE_PAYLOAD".CARD_CLICKED:Der String"BUTTON_CLICKED_PAYLOAD".WIDGET_UPDATED:Der String"WIDGET_UPDATED_PAYLOAD"(wird für die automatische Vervollständigung verwendet).
- Vollständige Ereignisnutzlast:Die vollständige JSON-Nutzlast des Ereignisses für die Chatinteraktion wird im Feld
WebhookRequest.payloadan Dialogflow gesendet. Sie können in Ihrem Dialogflow-Webhook darauf zugreifen. Weitere Informationen finden Sie in der Dokumentation zu Webhook-Anfragen in Dialogflow ES.
- App Home Events:Die Unterstützung für
- Hinweise zum Reagieren auf Befehle und zum Empfangen von Daten aus Karten oder Dialogfeldern:
- Wenn der Dialogflow-Agent die JSON-Nutzlast des Chat-Interaktionsereignisses verarbeiten muss, kann er dies über einen Dialogflow-Webhook tun, um die benutzerdefinierte Nutzlast im Abfrageparameter zu prüfen.
- Wenn Sie einen Dialog aus dem Dialogflow-Agenten anzeigen möchten, antworten Sie mit einer einzelnen benutzerdefinierten JSON-Nutzlast, die ein
RenderActions-Objekt mit der NavigationpushCardenthält. - Wenn Sie Daten verarbeiten möchten, die über Karten eingegeben wurden, können Sie einen Dialogflow-Webhook verwenden und mit einer einzelnen benutzerdefinierten JSON-Nutzlast antworten, die die entsprechende Aktion enthält.
- Linkvorschauen werden nicht unterstützt.
- Wenn der Dialogflow-Agent nur mit einer Nachricht antwortet, wird die Nachricht synchron an Google Chat gesendet. Wenn der Dialogflow-Agent mit mehreren Nachrichten antwortet, werden alle Nachrichten asynchron an Chat gesendet, indem die Methode
createfür die Ressourcespaces.messagesin der Chat API einmal für jede Nachricht aufgerufen wird. - Wenn Sie die Dialogflow ES-Integration mit Chat verwenden, müssen der Dialogflow-Agent und die Chat-App im selben Google Cloud-Projekt eingerichtet sein.
Fehlerbehebung
Sehen Sie sich zuerst die Fehlerlogs an, um Fehler in Ihrer Chat-App zu beheben. Da diese App Dialogflow verwendet, stehen Ihnen mehrere Ressourcen für die Protokollierung und Fehlerbehebung zur Verfügung:
Google Workspace-Add-on-Logs:Hier können Sie Logs abfragen, um detaillierte Informationen zum Verhalten der Chat-App zu erhalten, einschließlich der Interaktionen mit Chat. Weitere Informationen finden Sie unter Logs für Google Workspace-Add-ons abfragen.
Fehler in der Google Chat App: Allgemeine Fehlermeldungen und Korrekturen für Chat-Apps finden Sie unter Probleme mit Chat-Apps beheben.
Dialogflow ES-Unterhaltungsverlauf:Verlauf | Dialogflow ES
Allgemeine Fehlerbehebung für Dialogflow:Fehlerbehebung | Dialogflow
Bereinigen
Damit Ihrem Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, empfehlen wir, das Cloud-Projekt zu löschen.
- Wechseln Sie in der Google API Console zur Seite Ressourcen verwalten. Klicken Sie auf das Menü > IAM und Verwaltung > Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen .
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.
Weitere Informationen
- Dialogflow CX ist eine weitere Möglichkeit, Dialogflow mit einer Chat-App zu verwenden.