Auf dieser Seite wird beschrieben, wie Sie eine Google Chat-App als Google Workspace-Add‑on erstellen, die Dialogflow ES verwendet, um natürliche Sprache zu verstehen und darauf zu reagieren. Sie können auch Dialogflow CX verwenden, das direkt in Google Chat integriert ist, 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 vom Dialogflow ES-Agent unterstützt wird.
- Chat App testen
Vorbereitung
- Ein Google Workspace-Konto für Unternehmen 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 Chatbereich.
- 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 an den Chat App-Dienst in Chat zurück.
- Die Antwort wird an den Chatbereich gesendet.
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.
Bestätigen Sie, dass Sie die APIs im richtigen Cloud-Projekt aktivieren, und klicken Sie 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, gehen Sie so vor:
- 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 die 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 (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: Wählen Sie diese Option aus 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 aus 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 den Text in bestimmte (Markdown-Light) Symbole zusammenfassen.
Die Textnachrichtenantwort sieht in etwa genauso aus wie die Standard-Textantwort in der Dialogflow-Konsole. Die ursprüngliche API-Antwort sieht jedoch etwas anders aus. Außerdem wird die Plattformkonfiguration auf GOOGLE_HANGOUTS gesetzt, was beim Erstellen von Agents für mehrere Integrationen interessant sein könnte.
"fulfillmentMessages": [
{
"text": {
"text": [
"This is a test."
]
},
"platform": "GOOGLE_HANGOUTS"
},
Karten
Kartenantworten werden als Kartennachrichten an Google Chat gesendet.
Bilder
Bildantworten werden als Google Chat-Bild-Widgets an Google Chat gesendet.
Benutzerdefinierte Nutzlast
Wenn Sie andere Google Chat-Nachrichten senden möchten, können Sie eine benutzerdefinierte Nutzlast verwenden.
Mit der benutzerdefinierten Google Chat-Nutzlast können Sie erweiterte Karten erstellen. Eine Karte kann einen oder mehrere Abschnitte enthalten. Jeder Abschnitt kann eine Kopfzeile haben. Im Referenzhandbuch für die Nachrichtenformate von Google Chat finden Sie eine Liste mit möglichen Kombinationen. Wenn Sie jedoch benutzerdefinierte Nutzlasten verwenden, müssen Sie das JSON-Format bereitstellen.
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 Workspace-Add-ons mit Dialogflow gelten für Chat-Ereignisobjekte die folgenden Einschränkungen und Überlegungen:
- App Home-Ereignisse: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:Ein Standard-Willkommensereignis wird gesendet.REMOVED_FROM_SPACE:Der String"REMOVED_FROM_SPACE_PAYLOAD".CARD_CLICKED:Der String"BUTTON_CLICKED_PAYLOAD".WIDGET_UPDATED:Der String"WIDGET_UPDATED_PAYLOAD"(für die automatische Vervollständigung).
- Vollständige Ereignisnutzlast:Die vollständige JSON-Nutzlast des Chatinteraktionsereignisses wird im Feld
WebhookRequest.payloadan Dialogflow gesendet. Sie können in Ihrem Dialogflow-Webhook darauf zugreifen. Weitere Informationen finden Sie in der Dokumentation zu Dialogflow ES-Webhook-Anfragen.
- App Home-Ereignisse:Die Unterstützung für
- Hinweise zum Reagieren auf Befehle und zum Empfangen von Daten von Karten oder Dialogfeldern:
- Wenn der Dialogflow-Agent die JSON-Nutzlast des Chat-Interaktionsereignisses verarbeiten muss, kann er dies mithilfe eines Dialogflow-Webhooks tun, um die benutzerdefinierte Nutzlast im Abfrageparameter zu prüfen.
- Wenn Sie einen Dialog aus dem Dialogflow-Agent 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
createcreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreatecreate�spaces.messages - 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 in dieser App Dialogflow verwendet wird, 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 des Add-ons 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 Fehler in 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.
- Rufen Sie in der Google API Console die Seite Ressourcen verwalten auf. Klicken Sie auf das Menü > IAM & Verwaltung > Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann 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.