Dialogflow CX Google Chat-App erstellen, die natürliche Sprache versteht und antwortet

Auf dieser Seite wird erläutert, wie Sie mit Dialogflow eine Google Chat-App erstellen, die natürliche Sprache verstehen und mit dieser antworten kann. In dieser Anleitung wird Dialogflow CX verwendet, das direkt in Google Chat eingebunden ist. Sie können auch Dialogflow ES verwenden, um eine Dialogflow ES Google Chat-App zu erstellen. Folgen Sie dazu der Anleitung zu Dialogflow ES Google Chat.

Stellen Sie sich beispielsweise eine Chat-App vor, mit der Nutzer Autos mieten können. Ein Nutzer schreibt vielleicht: „Ich möchte ein Auto mieten“. Die Chat-App antwortet möglicherweise mit einer Frage wie „Wo möchten Sie das Fahrzeug abholen?“. Dadurch wird eine menschenähnliche Unterhaltung mit dem Nutzer gestartet, in der die Chat-App beim Buchen der Autovermietung menschliche Sprache versteht und darauf reagiert.

Dies ist nur ein Beispiel. Dialogflow Chat-Anwendungen sind bei allen Arten von Interaktionen nützlich. Wenn natürliche menschliche Sprache erforderlich ist, wird eine Dialogflow Chat-App aufgerufen. Die vordefinierten Agents ermöglichen einen schnellen Einstieg und zeigen, was Dialogflow leisten kann, zum Beispiel:

  • Flüge buchen
  • Arzttermine planen
  • Lebensmittel bestellen
  • Fragen zu einem Einzelhandelskatalog beantworten, z. B. ob Artikel in anderen Farben verfügbar sind
  • Auswahlseite für vordefinierte Dialogflow-Agenten
    Abbildung 1. Vordefinierten Agent für eine Dialogflow Chat-Anwendung auswählen
  • Agent in Dialogflow CX testen
    Abbildung 2: Testen Sie den Agent in Dialogflow CX, um sicherzustellen, dass die Logik und die Konfiguration des Agents wie vorgesehen funktionieren. Das Diagramm zeigt eine Reihe von Themenseiten, die bestimmte Schritte der Unterhaltung betreffen, z. B. das Festlegen eines Abhol- und Rückgabeorts für einen Mietwagen und die Konfiguration der Logik für die Verknüpfung. Die Unterhaltung wird in einem Simulator getestet.
  • Dialogflow Chat-App konfigurieren
    Abbildung 3: Chat-App auf der Konfigurationsseite der Chat API in der Google Cloud Console konfigurieren, um Antworten mit dem Dialogflow CX-Agent zu verarbeiten
  • Dialogflow CX Chat-App testen
    Abbildung 4: Ein Gespräch über die Buchung eines Mietwagens mit der Dialogflow Chat App in Google Chat

Zielsetzungen

  • die Umgebung einrichten
  • Dialogflow CX-Agent erstellen und bereitstellen
  • Chat-App mit dem Dialogflow CX-Agent erstellen und bereitstellen
  • Chat-App testen

Voraussetzungen

Architektur

Das folgende Diagramm zeigt die Architektur einer Chat-App, die mit Dialogflow erstellt wurde:

Architektur einer mit Dialogflow implementierten Chat-App

Im obigen Diagramm führt ein Nutzer, der mit einer Dialogflow Chat-Anwendung interagiert, den folgenden Informationsfluss:

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

    APIs aktivieren

  2. Prüfen Sie, ob die APIs im richtigen Cloud-Projekt aktiviert sind, und klicken Sie dann auf Weiter.

  3. Aktivieren Sie die richtigen APIs und klicken Sie dann auf Aktivieren.

Dialogflow CX-Agent erstellen

Ein Dialogflow CX-Agent ist ein virtueller Agent, der gleichzeitige Unterhaltungen mit Ihren Endnutzern abwickelt. Es ist ein Modul zum Verständnis natürlicher Sprache, das die Nuancen der menschlichen Sprache versteht. Dialogflow übersetzt den Endnutzertext während einer Unterhaltung in strukturierte Daten, die Ihre Anwendungen und Dienste verstehen können. Sie entwerfen und erstellen einen Dialogflow-Agent, der die für Ihr System erforderlichen Unterhaltungsarten verarbeitet.

Ein Dialogflow-Agent ist wie ein menschlicher Callcenter-Agent. Sie trainieren beide für die Verarbeitung erwarteter Gesprächsszenarien und Ihr Training muss nicht zu explizit sein.

So erstellen Sie den Dialogflow CX-Agent:

  1. Öffnen Sie in der Dialogflow CX-Konsole die Dialogflow CX-Konsole. Klicken Sie auf das Menü > Dialogflow CX.

    Zur Dialogflow CX-Konsole

  2. Wählen Sie ein Google Cloud-Projekt aus. Um Ihr Projekt zu finden, müssen Sie möglicherweise auf Alle klicken und dann danach suchen.

  3. Sie haben jetzt die Möglichkeit, einen vordefinierten Agent auszuwählen oder einen eigenen Agent zu erstellen. Wenn Sie sich die Anpassung von Agents später genauer ansehen möchten, wählen Sie einen der vordefinierten Agents aus. Diese sind ebenfalls hilfreich, um zu erfahren, was Agents leisten können.

    So wählen Sie einen vordefinierten Agent aus:

    1. Klicken Sie auf Use vorkonfigurierte Agents (Vordefinierte Agents verwenden).
    2. Wählen Sie einen vordefinierten Agent aus. Wählen Sie für diesen Leitfaden Reisen: Autovermietung aus.

      Agents werden basierend auf der Anzahl der verwendeten Features und der Komplexität der Unterhaltungslogik als Anfänger, Fortgeschrittene oder Profis eingestuft. Wenn Sie einen Agenten mittlerer Stufe oder einen erweiterten Agent auswählen, sind möglicherweise agent-spezifische Anpassungen und Einstellungen erforderlich. Dazu gehört auch das Aktivieren von Features und APIs in der Google Cloud Console.

    3. Klicken Sie auf Import as agent (Als Agent importieren).

    So erstellen Sie einen eigenen Agent:

    1. Klicken Sie auf Agent erstellen.
    2. Wählen Sie Automatisch generieren aus, um einen Datenspeicher-Agent zu erstellen, oder Eigenen erstellen, um andere Arten von Agents zu erstellen.

    Eine detaillierte Anleitung zum Erstellen eines Agents finden Sie unter Dialogflow CX-Agent erstellen.

  4. Konfigurieren Sie die grundlegenden Agent-Einstellungen:

    1. Geben Sie unter Anzeigename einen Anzeigenamen ein.
    2. Wählen Sie den bevorzugten Standort aus. Wenn Sie die erweiterten Standorteinstellungen ändern möchten, klicken Sie auf Bearbeiten.
    3. Wählen Sie Ihre bevorzugte Zeitzone aus.
    4. Wählen Sie die Standardsprache für Ihren Agent aus. Sie können die Standardsprache für einen Agent nach dem Erstellen nicht mehr ändern.
  5. Klicken Sie auf Erstellen. Dialogflow CX beginnt mit dem Erstellen des Agents und zeigt dann den Standardstartablauf des Agents an.

  6. Passen Sie den Agent bei Bedarf an. Eine detaillierte Anleitung zum Anpassen des Agents finden Sie unter Dialogflow CX-Agent erstellen.

  7. Testen Sie den Agent als Best Practice:

    1. Klicken Sie auf Test agent (Agent testen).
    2. Wählen Sie Test agent inenvironment (Agent in Umgebung testen) aus.
    3. Wählen Sie unter „Umgebung“ die Option Entwurf aus.
    4. Wählen Sie unter Ablauf die Option Standardstartablauf aus.
    5. Wählen Sie auf der Seite die Option Startseite aus.
    6. Geben Sie in der Eingabezeile Mit Kundenservicemitarbeiter sprechen den Text Hello ein und drücken Sie die Eingabetaste. Der Agent antwortet, indem er sich vorstellt.
    7. Schließen Sie den Test mit dem Beispiel-Testgespräch ab.
  8. Der Dialogflow CX-Agent wird erstellt. Kehren Sie zur Dialogflow CX-Konsole zurück. Klicken Sie auf das Menü > Dialogflow CX.

    Zur Dialogflow CX-Konsole

  9. Klicken Sie unter Agents auf > Copy name (Name kopieren). Speichern Sie diesen Namen, da Sie ihn bei der Konfiguration der Chat-App verwenden.

Chat-App erstellen und mit dem Dialogflow-Agent verbinden

Nachdem Sie einen Dialogflow CX-Agent erstellt haben, wandeln Sie ihn mit den folgenden Schritten in eine Chat-App um:

  1. Rufen Sie in der Google Cloud Console die Google Chat API auf. Suchen Sie nach „Google Chat API“, 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 (Avatar-URL) https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ein.
    3. Geben Sie unter Beschreibung den Wert Responds to real human conversation ein.
    4. Wählen Sie unter Funktionen die Option 1:1-Nachrichten empfangen und 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 CX aus.
    7. Fügen Sie in Agent or Environment resource name den Namen des Dialogflow CX-Agents ein, den Sie am Ende von Dialogflow CX-Agent erstellen kopiert haben.
    8. Machen Sie diese Chat-App für bestimmte Personen und Gruppen in Ihrer Domain verfügbar und geben Sie Ihre E-Mail-Adresse ein.
    9. Wählen Sie unter Logs die Option Fehler in Logging protokollieren aus.
  3. Klicke auf Speichern.

Die Chat-App kann jetzt Nachrichten in Google Chat empfangen und beantworten.

Chat App testen

Testen Sie die Chat-App Dialogflow CX, indem Sie sie in Google Chat senden.

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

    Zu Google Chat

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

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

    Die Dialogflow Chat-Anwendung antwortet, indem sie sich vorstellt.

  6. Schließen Sie den Test mit dem Beispiel-Testgespräch ab.

Beispiel für eine Testunterhaltung

Führen Sie die folgende Unterhaltung, um die Chat-App Dialogflow CX entweder in der Dialogflow CX-Konsole oder in Google Chat zu testen. Anhand der Erläuterung können Sie nachvollziehen, wie der Dialogflow CX-Agent die natürliche Sprache des Nutzers interpretiert und bei jedem Schritt der Unterhaltung eine Antwort in natürlicher Sprache erzeugt. Diese Beispielunterhaltung basiert auf dem vordefinierten Agent Travel: car Rental.

Dialog Erklärung
Endnutzer: Hallo
Agent: Hallo! Ich bin die virtuelle Autovermietung. Ich kann Ihnen dabei helfen, eine neue Autovermietung zu reservieren. Wie kann ich Ihnen helfen?
  1. Die Route Standard-Begrüßungs-Intent im Standardstartablauf wird aufgerufen.
  2. Die Auftragsausführung für diesen Status-Handler („Hi! Ich bin...“ wird der Antwortwarteschlange hinzugefügt.
  3. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Ich möchte ein Auto mieten.
Agent: Wo möchten Sie das Fahrzeug abholen?
  1. Die Intent-Route car_rental.reservation_create auf der Startseite wird abgeglichen.
  2. Die Sitzung wird zur Seite Abholort weitergeleitet.
  3. Das Formular auf der Seite Abholort ist nicht vollständig. Daher verwendet der Kundenservicemitarbeiter den Parameter pickup_location, um den Nutzer aufzufordern ("Wo möchten Sie die Abholung abholen?"). das der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Las Vegas
Agent: Ok, die Abholung findet in Las Vegas statt.
Agent: Unterscheidet sich der Rückgabeort von Ihrem Abholort?
  1. Die Endnutzereingabe füllt den Parameter pickup_location aus, der in der vorherigen Unterhaltungsrunde vom Kundenservicemitarbeiter angefordert wurde.
  2. Die Intent-Route car_rental.return_different_location im Standardstartablauf wird abgeglichen.
  3. Die Route für das Ausfüllen des Formulars auf der Seite Abholort wird ausgewertet und aufgerufen. Sie hat eine Auftragsausführung („Ok, dein Abholung...“), die der Antwortwarteschlange hinzugefügt wird, wobei die Parameterverweise in die tatsächlichen Werte aufgelöst werden, die vom Endnutzer angegeben wurden.
  4. Die Sitzung wird zur Seite Standort bestätigen weitergeleitet.
  5. Auf der Seite Confirm Location (Standort bestätigen) wird ein Eintrag ausgeführt („Ist Ihr Abgabeort anders...“)? das der Antwortwarteschlange hinzugefügt wird.
  6. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Ja. Ich gebe das Auto in Los Angeles ab.
Agent: Ok, die Rückgabe erfolgt in Los Angeles.
Agent: An welchem Datum und zu welcher Uhrzeit möchten Sie das Fahrzeug abholen?
  1. Die Intent-Route car_rental.return_different_location im Standardstartablauf wird abgeglichen.
  2. Die Sitzung wird zur Seite Abbruchort weitergeleitet.
  3. Die Endnutzereingabe füllt den Parameter drop_off_location aus, der in der vorherigen Unterhaltung vom Agent angefordert wurde.
  4. Die Route zum Ausfüllen des Formulars auf der Seite Abgabeort wird ausgewertet und aufgerufen. Sie hat eine Auftragsausführung („OK, Ihr Abgabe...“), die der Antwortwarteschlange hinzugefügt wird.
  5. Die Sitzung wird zur Seite Leihdauer weitergeleitet.
  6. Die Seite Leihdauer enthält unvollständige Formularwerte. Daher wird der Nutzer aufgefordert, den Parameter pickup_date_time anzugeben ("Welches Datum und welche Uhrzeit möchten Sie abholen?"). das der Antwortwarteschlange hinzugefügt wird.
  7. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer: Ich möchte das Auto am 5. März um 12:00 Uhr abholen.
Agent: An welchem Datum und zu welcher Uhrzeit möchten Sie das Fahrzeug abgeben?
  1. Die Endnutzereingabe füllt den Parameter pickup_date_time aus, der in der vorherigen Unterhaltung vom Kundenservicemitarbeiter angefordert wurde.
  2. Auf der Seite Leihdauer fehlt ein weiterer Formularwert. Daher wird der Nutzer aufgefordert, den Parameter drop_off_date_time anzugeben ("An welchem Datum und zu welcher Uhrzeit möchten Sie die Leihfrist stellen..."). das der Antwortwarteschlange hinzugefügt wird.
  3. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer: 15. März, 12:00 Uhr.
Agent: Zur Bestätigung:

Sie werden das Fahrzeug in Las Vegas am 05.03.2024 um 12:00:00 Uhr abholen und in Los Angeles am 15.03.2024 um 12:00:00 Uhr abgeben.

Stimmt das?
  1. Die Endnutzereingabe füllt den Parameter drop_off_date_time aus, der in der vorherigen Unterhaltung vom Agent angefordert wurde.
  2. Die Sitzung wird zur Seite Verleihdauer bestätigen weitergeleitet.
  3. Auf der Seite Verleihdauer bestätigen ist ein Eintrag als abgeschlossen („So bestätigst du...“), das der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Ja, vielen Dank.
Agent: Sehr gut. Wählen wir nun ein Fahrzeug aus.
Agent: Möchten Sie ein Economy- oder Luxusfahrzeug?
  1. Die Intent-Route small_talk.confirmation.yes auf der Seite Verleihdauer bestätigen wird zugeordnet.
  2. Der Agent bestätigt die Auswahl mit einer Nachricht („Toll! Jetzt wählen wir... das der Antwortwarteschlange hinzugefügt wird.
  3. Die Sitzung wird zur Seite Fahrzeugauswahl weitergeleitet.
  4. Das Formular auf der Seite Vehicle Disambiguation (Fahrzeugauswahl) ist nicht vollständig. Daher verwendet der Agent den Parameter vehicle_type, um den Nutzer zu fragen, ob er eine Economy- oder eine Luxusklasse wäre. das der Antwortwarteschlange hinzugefügt wird.
  5. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Die Wirtschaft.
Agent: Möchten Sie das Cymbal-Auto oder den Cymbal-Truck?
  1. Die Intent-Route $session.params.vehicle_type="economy_vehicle" wurde abgeglichen.
  2. Die Sitzung wird zur Seite Economy-Optionen weitergeleitet.
  3. Auf der Seite Economy Options (Ökonomieoptionen) gibt es einen Eintrag als Fulfillment („Möchten Sie...“), das der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Cymbal Truck.
Agent: Der Cymbal Truck kostet 50,33 $pro Tag. Es bietet Platz für bis zu vier Personen und ist mit AM/FM-Radio ausgestattet. Möchten Sie mit der Zahlung fortfahren?
Endnutzer:Ja.
  1. Die Intent-Route $session.params.vehicle_type="Cymbal Truck" wird abgeglichen und der Parameter vehicle_model wird ausgefüllt.
  2. Die Sitzung wird zur Seite Cymbal Truck bestätigen weitergeleitet.
  3. Auf der Seite Confirm Cymbal Truck wird der Eintrag ausgeführt („The Cymbal Truck kostet 50,33 $pro Tag ...“), das der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
  5. Die Antwort des Nutzers stimmt mit der Route small_talk.confirmation.yes überein.
Agent: Welchen Kartentyp werden Sie verwenden?
Endnutzer: Altostrat
Agent: Geben Sie die Kartennummer ein.
Endnutzer:1234 1234 1234 1234
Agent: Wie lautet der Name auf der Karte?
Endnutzer: Charlie
Agent: Wie lautet die Adresse für die Rechnungsadresse?
Endnutzer: 1800 Amphibious Blvd. Mountain View, CA, USA
Agent: Wie lautet die Postleitzahl für die Abrechnung?
Endnutzer: 94045
Agent: Sie werden das Cymbal Car in Las Vegas am 05.03.2024 um 12:00:00 Uhr abholen und am 15.03.2024 um 12:00:00 Uhr abgeben. Der Gesamtbetrag für diese Fahrt beträgt 175,38 $.
Agent: Vielen Dank, dass Sie sich für Google entschieden haben. Ich wünsche Ihnen noch einen schönen Tag.
  1. Die Sitzung wird zur Seite Zahlung weitergeleitet.
  2. Das Formular Payment ist nicht vollständig. Daher fordert der Agent den Nutzer zur Eingabe der Parameter card_type, card_number, billing_name, billing_street_address und billing_zip_code auf ("Welcher Kartentyp wird ..."), die der Antwortwarteschlange nacheinander hinzugefügt und gesendet werden, wenn der Nutzer antwortet. Die einzelnen Parameterwerte werden durch die Antworten des Nutzers festgelegt.
  3. Die Sitzung wird zur Seite Verleihbestätigung weitergeleitet.
  4. Auf der Seite Mietbestätigung wird ein Auftragseingang angezeigt ("Ok, deine Abholung wird..."), das der Antwortwarteschlange hinzugefügt wird.
  5. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
  6. Die Sitzung wird zur Seite Sitzung beenden weitergeleitet.

Kartennachrichten von Dialogflow senden

Dialogflow kann mit Text- oder Kartennachrichten antworten. Wenn Sie mit einer Kartennachricht antworten möchten, geben Sie sie in der Auftragsausführung als benutzerdefinierte Nutzlast an.

Die folgende JSON zeigt, wie eine Kartennachricht als benutzerdefinierte Nutzlast bei der Auftragsausführung gesendet wird:

json

{
  'cardsV2': [{
    'cardId': 'createCardMessage',
    'card': {
      'header': {
        'title': 'A card message!',
        'subtitle': 'Sent from Dialogflow',
        'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
        'imageType': 'CIRCLE'
      },
      'sections': [
        {
          'widgets': [
            {
              'buttonList': {
                'buttons': [
                  {
                    'text': 'Read the docs!',
                    'onClick': {
                      'openLink': {
                        'url': 'https://developers.google.com/workspace/chat'
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  }]
}

Einschränkungen und Hinweise

  • Für Chatinteraktionsereignisse ist der Support eingeschränkt. Außerdem müssen einige Aspekte berücksichtigt werden:
    • Die folgenden Interaktionsereignistypen werden unterstützt:
      • MESSAGE
      • ADDED_TO_SPACE
      • CARD_CLICKED
    • Bei MESSAGE- oder ADDED_TO_SPACE-Ereignissen entspricht die an den Dialogflow-Agent gesendete Abfrageeingabe dem Wert des Felds argumentText in der Chatnachricht. Wenn die Nachricht einen Slash-Befehl enthält, wird stattdessen der Wert des Felds text verwendet.
    • Bei CARD_CLICKED-Ereignissen ist die an den Dialogflow-Agent gesendete Abfrageeingabe als CARD_CLICKED.functionName formatiert, wobei functionName dem Wert des Felds function des Action-Objekts entspricht, das an das interaktive Kartenelement (z. B. eine Schaltfläche) angehängt ist.
    • Die vollständige JSON-Nutzlast jedes Chat-Interaktionsereignisses wird als benutzerdefinierte Nutzlast im Abfrageparameter an Dialogflow gesendet und kann mit einem Dialogflow-Webhook aufgerufen werden. Dazu wird der Wert des Felds WebhookRequest.payload abgefragt.
  • Überlegungen zum Antworten auf Slash-Befehle und zum Empfangen von Daten von Karten oder Dialogfeldern:
    • Wenn Dialogflow Chat-Anwendungen eine Nachricht mit einem Schrägstrich-Befehl erhalten, enthält die Abfrageeingabe nur den Wert des Felds text. Das Feld text beginnt mit dem Namen des Slash-Befehls (z. B. /command), mit dem Sie den Intent eines Dialogflow-Agents so konfigurieren können, dass er einen Slash-Befehl erkennt.
    • Wenn der Dialogflow-Agent die JSON-Nutzlast für Chatinteraktionsereignisse verarbeiten muss, kann dies mithilfe eines Dialogflow-Webhooks erfolgen, um die benutzerdefinierte Nutzlast im Abfrageparameter zu prüfen.
    • Wenn Sie ein Dialogfeld vom Dialogflow-Agent aufrufen möchten, antworten Sie mit einer einzelnen benutzerdefinierten JSON-Nutzlast, die eine Nachricht mit einer DIALOG-Aktionsantwort enthält.
    • Zur Verarbeitung von Daten, die von Karten eingegeben werden, kann der Dialogflow-Agent Intents erkennen, die mit dem Text CARD_CLICKED beginnen, und mit einer einzelnen benutzerdefinierten JSON-Nutzlast antworten, die die entsprechende Aktion enthält.
  • Linkvorschauen werden nicht unterstützt.
  • Wenn der Dialogflow-Agent nur eine Nachricht antwortet, wird diese synchron an Google Chat gesendet. Wenn der Dialogflow-Agent mit mehreren Nachrichten antwortet, werden alle Nachrichten asynchron an Chat gesendet. Dazu wird die Methode create für die Ressource spaces.messages in der Chat API einmal pro Nachricht aufgerufen.
  • Wenn Sie die Dialogflow CX-Integration in Google Chat verwenden, müssen der Dialogflow-Agent und die Chat-App im selben Google Cloud-Projekt eingerichtet werden. Wenn Sie Dialogflow und Chat in verschiedenen Cloud-Projekten einrichten müssen, können Sie einen Zwischenserver einrichten, um die Verbindung zu erleichtern. Weitere Informationen finden Sie in diesem Beispiel zur Chatintegration für Dialogflow CX auf GitHub.

Fehlerbehebung

Wenn eine Google Chat-App oder -Karte einen Fehler zurückgibt, wird in der Chat-Oberfläche die Meldung „Ein Fehler ist aufgetreten“ angezeigt. oder „Ihre Anfrage kann nicht verarbeitet werden.“ Manchmal wird in der Chat-UI keine Fehlermeldung angezeigt, aber die Chat-App oder -Karte liefert ein unerwartetes Ergebnis. So kann z. B. keine Kartenmeldung angezeigt werden.

Obwohl eine Fehlermeldung möglicherweise nicht in der Chat-UI angezeigt wird, sind beschreibende Fehlermeldungen und Protokolldaten verfügbar, um Sie beim Beheben von Fehlern zu unterstützen, wenn das Fehler-Logging für Chat-Apps aktiviert ist. Informationen zum Ansehen, Debuggen und Beheben von Fehlern finden Sie unter Google Chat-Fehler beheben.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, sollten Sie das Cloud-Projekt löschen.

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

    Zu 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 Beenden, um das Projekt zu löschen.
  • Dialogflow CX verwendet eine Zustandsmaschine für das Design des Dialogflow-Agents, der Ihnen eine klare und explizite Kontrolle über eine Unterhaltung bietet, eine bessere Endnutzererfahrung und einen besseren Entwicklungsworkflow bietet. Beim Erstellen einer Dialogflow Chat-Anwendung empfehlen wir die Verwendung von Dialogflow CX.
  • Dialogflow ES ist eine weitere Möglichkeit, Dialogflow mit einer Chat-App zu verwenden.