Google Chat-Add-on mit Dialogflow ES erstellen

Auf dieser Seite wird erläutert, 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 eine direkte Integration mit 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
  • Dialogflow ES-Agent erstellen und bereitstellen
  • Chat-App erstellen und bereitstellen, die vom Dialogflow ES-Agent unterstützt wird
  • Chat-App testen

Vorbereitung

Architektur

Das folgende Diagramm zeigt die Architektur einer mit Dialogflow erstellten Chat-App:

Architektur einer mit Dialogflow implementierten Chat-App.

Im vorherigen Diagramm hat ein Nutzer, der mit einer Dialogflow-Chat-App interagiert, den folgenden Informationsfluss:

  1. Ein Nutzer sendet eine Nachricht in Google Chat an eine Chat-App, entweder in einer Direktnachricht oder in einem Gruppenbereich.
  2. Ein virtueller Dialogflow-Agent, der sich in befindet, empfängt und verarbeitet die Nachricht, um eine Antwort zu generieren.
  3. Optional kann der Dialogflow-Webhook, der Dialogflow-Agent mit externen Drittanbieterdiensten interagieren, z. B. mit einem Projektmanagementsystem oder einem Ticketsystem.
  4. Der Dialogflow-Agent sendet eine Antwort zurück an den Google Chat-App-Dienst in Google Chat.
  5. Die Antwort wird an den Gruppenbereich 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.
  1. Aktivieren Sie in der Google API Console die Google Chat API und die Dialogflow API.

    APIs aktivieren

  2. Bestätigen Sie, dass Sie die APIs im richtigen Cloud-Projekt aktivieren, und klicken Sie dann auf Weiter.

  3. Bestätigen Sie, dass Sie die richtigen APIs aktivieren, und klicken Sie dann auf Aktivieren.

Dialogflow ES-Agent erstellen

Wenn Sie noch keinen Dialogflow ES-Agent haben, gehen Sie so vor:

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Klicken Sie auf Agent erstellen.
  3. Geben Sie einen Namen ein und wählen Sie eine Standardsprache und eine Zeitzone aus.
  4. Verknüpfen Sie den Agent mit Ihrem Cloud-Projekt.
  5. Klicken Sie auf Erstellen.
  6. Erstellen Sie Ihre Intents und Entitäten nach Bedarf für den Konversationsablauf Ihrer Chat-App. Sie können mit einem Begrüßungs-Intent beginnen.
  7. Notieren Sie sich Ihre Projekt-ID.

Eine detaillierte 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:

  1. Rufen Sie in der Google API Console die Google Chat API auf. Suchen Sie nach "Google Chat API" und klicken Sie auf Google Chat API und dann auf Verwalten.

    Zur Chat API

  2. Klicken Sie auf Konfiguration und richten Sie die Chat-App ein:

    1. Geben Sie unter App-Name Dialogflow App ein.
    2. Geben Sie unter Avatar-URL https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ein.
    3. Geben Sie unter Beschreibung Responds to real human conversation ein.
    4. Wählen Sie unter Funktionen die Option Gruppenbereichen und Gruppenunterhaltungen beitreten aus.
    5. Wählen Sie unter Verbindungseinstellungen die Option Dialogflow aus.
    6. Wählen Sie unter Dialogflow-Einstellungen die Option Dialogflow ES aus.
    7. Wählen Sie Diese Chat-App bestimmten Personen und Gruppen zur Verfügung stellen in Ihrer Domain aus und geben Sie Ihre E-Mail-Adresse ein.
    8. Wählen Sie unter Logs die Option Fehler in Logging protokollieren aus.
  3. Klicken Sie auf Speichern.

Die Chat-App ist jetzt 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 eine Nachricht senden.

  1. Öffnen Sie Google Chat mit dem Google Workspace-Konto, das Sie angegeben haben, als Sie sich als vertrauenswürdiger Tester hinzugefügt haben.

    Zu Google Chat

  2. Klicken Sie auf Neuer Chat.
  3. Geben Sie im Feld 1 oder mehrere Personen hinzufügen den Namen Ihrer Chat-App ein.
  4. Wählen Sie Ihre Chat-App in den Ergebnissen aus. Eine Direktnachricht wird geöffnet.

  5. Geben Sie in der neuen Direktnachricht an die App Hello ein und drücken Sie enter.

    Die Dialogflow-Chat-App antwortet mit einer Begrüßungsnachricht.

Textantworten

Textantworten werden als Textnachrichten 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 Textnachricht 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 interessant sein könnte beim Erstellen von Agents für mehrere Integrationen.

"fulfillmentMessages": [
{
   "text": {
   "text": [
        "This is a test."
   ]
},
  "platform": "GOOGLE_HANGOUTS"
},

Karten

Kartenantworten werden als Kartennachrichten an Google Chat gesendet.

Google 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 zum Erweitern von Google Workspace-Add-ons mit Chat-Karten 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-Startseite-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 Felds argumentText aus der Chat-Nachricht.
      • APP_COMMAND: Der String "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE: Ein Standard-Begrüßungsereignis 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 verwendet).
    • Vollständige Ereignisnutzlast:Die vollständige JSON-Nutzlast des Chat-Interaktionsereignisses wird im Feld WebhookRequest.payload an Dialogflow gesendet. Sie können in Ihrem Dialogflow-Webhook darauf zugreifen. Weitere Informationen finden Sie in der Dokumentation zur Dialogflow ES-Webhook-Anfrage.
  • Überlegungen zum Antworten auf Befehle und zum Empfangen von Daten von Karten oder Dialogfeldern:
  • 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 Google Chat gesendet . Dazu wird die create Methode für die spaces.messages Ressource in der Chat API einmal für jede Nachricht aufgerufen.
  • Bei der Verwendung der Dialogflow ES-Integration mit Google Chat 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 Logging und Fehlerbehebung zur Verfügung:

Bereinigen

Damit Ihnen die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, empfehlen wir, das Cloud-Projekt zu löschen.

  1. Wechseln Sie in der Google API Console zur Seite Ressourcen verwalten. Klicken Sie auf das Menü > IAM & Verwaltung > Ressourcen verwalten.

    Zum Resource Manager

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen .
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Herunterfahren, um das Projekt zu löschen.
  • Dialogflow CX ist eine weitere Möglichkeit, Dialogflow mit einer Chat-App zu verwenden.