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

Auf dieser Seite wird beschrieben, wie Sie eine Google Chat-App erstellen, die mithilfe von Dialogflow natürliche Sprache verstehen und darauf reagieren kann. In dieser Anleitung wird Dialogflow CX verwendet, das direkt in Google Chat eingebunden werden kann. Sie können auch Dialogflow ES verwenden, um eine Dialogflow ES Google Chat App zu erstellen. Folgen Sie dazu der Anleitung für Dialogflow ES Google Chat.

Stellen Sie sich zum Beispiel eine Chat-App vor, die Menschen bei der Autovermietung unterstützt. Ein Nutzer könnte beispielsweise schreiben: „Ich möchte ein Auto mieten.“ Die Chat-App antwortet möglicherweise mit einer Frage wie „Wo möchten Sie das Fahrzeug abholen?“. So wird ein menschenähnlicher Dialog mit dem Nutzer gestartet, in dem die Chat-App sowohl menschliche Sprache versteht als auch mit menschlicher Sprache antwortet, während sie die Autovermietung bucht.

Das ist nur ein Beispiel. Dialogflow-Chat-Apps sind für alle Arten von Interaktionen nützlich. Wenn natürliche menschliche Sprache erforderlich ist, ist eine Dialogflow-Chat-App erforderlich. Die vorgefertigten Agents helfen Ihnen, schnell loszulegen, und zeigen, was Dialogflow leisten kann, z. B.:

  • Flüge buchen
  • Arzttermine vereinbaren
  • Lebensmittel bestellen
  • Fragen zu einem Einzelhandelsproduktkatalog beantworten, z. B. ob Artikel in anderen Farben verfügbar sind
  • Die Seite zur Auswahl vordefinierter Dialogflow-Agents.
    Abbildung 1. Einen vordefinierten Agenten für eine Dialogflow Chat-App auswählen.
  • Agent in Dialogflow CX testen
    Abbildung 2: Testen Sie den Agenten in Dialogflow CX, um sicherzustellen, dass die Logik und Konfiguration des Agenten wie vorgesehen funktionieren. Das Diagramm zeigt eine Reihe von thematischen Seiten, die sich auf bestimmte Schritte in der Unterhaltung beziehen, z. B. das Festlegen eines Abhol- und Rückgabeorts für einen Mietwagen, und konfiguriert die Logik, die sie verbindet. Die Unterhaltung wird in einem Simulator getestet.
  • Dialogflow Chat-App konfigurieren
    Abbildung 3: Konfigurieren einer Chat-App zur Verarbeitung von Antworten mit dem Dialogflow CX-Agent auf der Seite zur Chat API-Konfiguration in der Google Cloud Console.
  • Dialogflow CX-Chat-App testen
    Abbildung 4: Eine Unterhaltung mit der Dialogflow Chat-App in Google Chat über die Buchung eines Mietwagens führen.

Ziele

  • die Umgebung einrichten
  • Erstellen und stellen Sie einen Dialogflow CX-Agenten bereit.
  • Erstellen und stellen Sie eine Chat-App bereit, die auf dem Dialogflow CX-Agent basiert.
  • Testen Sie die Chat App.

Vorbereitung

Architektur

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

Architektur einer mit Dialogflow implementierten Chat-App

Im vorherigen Diagramm sieht der Informationsfluss bei der Interaktion eines Nutzers mit einer Dialogflow-Chat-App so aus:

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

    APIs aktivieren

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

  3. Prüfen Sie, ob Sie die richtigen APIs aktivieren, und klicken Sie dann auf Aktivieren.

Dialogflow CX-Agent erstellen

Ein Dialogflow CX-Agent ist ein virtueller Kundenservicemitarbeiter, der gleichzeitige Unterhaltungen mit Ihren Endnutzern abwickelt. Es ist ein Modul für das Verstehen natürlicher Sprache, das die Nuancen der menschlichen Sprache versteht. Dialogflow übersetzt den Text des Endnutzers während einer Unterhaltung in strukturierte Daten, die Ihre Apps und Dienste verstehen können. Sie entwerfen und erstellen einen Dialogflow-Agenten, der die für Ihr System erforderlichen Typen von Unterhaltungen verarbeiten kann.

Ein Dialogflow-Agent ähnelt einem menschlichen Callcenter-Mitarbeiter. Sie trainieren beide, um erwartete Gesprächsszenarien zu bewältigen. Das Training muss nicht übermäßig explizit sein.

So erstellen Sie den Dialogflow CX-Agenten:

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

    Zur Dialogflow CX-Konsole

  2. Wählen Sie ein Google Cloud-Projekt aus. Möglicherweise müssen Sie auf Alle klicken und dann nach dem Projekt suchen.

  3. Sie haben jetzt die Möglichkeit, einen vorgefertigten Agent auszuwählen oder einen eigenen zu erstellen. Wenn Sie die Anpassung von KI-Agenten lieber später im Detail untersuchen möchten, wählen Sie einen der vorgefertigten KI-Agenten aus. Diese sind auch hilfreich, um zu erfahren, was KI-Agenten leisten können.

    So wählen Sie einen vorgefertigten Agent aus:

    1. Klicken Sie auf Vorgefertigte KI-Agents verwenden.
    2. Wählen Sie einen vordefinierten KI-Agenten aus. Wählen Sie für diese Anleitung Reisen: Autovermietung aus.

      KI-Agents werden je nach Anzahl der verwendeten Funktionen und der Komplexität ihrer Konversationslogik als „Anfänger“, „Mittelstufe“ oder „Fortgeschritten“ eingestuft. Wenn Sie einen Agent für Fortgeschrittene oder einen erweiterten Agent auswählen, sind möglicherweise agentspezifische Anpassungen und Einstellungen erforderlich, z. B. das Aktivieren von Funktionen und APIs in der Google Cloud Console.

    3. Klicken Sie auf Als Agent importieren.

    So erstellen Sie einen eigenen Agenten:

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

    Eine detaillierte Anleitung zum Erstellen von Agenten finden Sie unter Dialogflow CX-Agent erstellen.

  4. Grundlegende Agent-Einstellungen konfigurieren:

    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 der Erstellung nicht mehr ändern.
  5. Klicken Sie auf Erstellen. Dialogflow CX beginnt mit der Erstellung des Agenten und zeigt dann den standardmäßigen Startablauf des Agenten an.

  6. Optional können Sie den Agenten anpassen. Eine detaillierte Anleitung zum Anpassen von Agents finden Sie unter Dialogflow CX-Agent erstellen.

  7. Wir empfehlen, den Agenten zu testen:

    1. Klicken Sie auf Agent testen.
    2. Wählen Sie Agent in Umgebung testen aus.
    3. Wählen Sie unter „Umgebung“ die Option Entwurf aus.
    4. Wählen Sie in Flow die Option Standardstart-Flow aus.
    5. Wählen Sie unter „Seite“ die Option Startseite aus.
    6. Geben Sie in der Mit Agent sprechen Eingabezeile Hello ein und drücken Sie die Eingabetaste. Der KI-Agent stellt sich vor.
    7. Führen Sie den Test durch, indem Sie die Beispielunterhaltung führen.
  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  > Name kopieren. Speichern Sie diesen Namen, da Sie ihn beim Konfigurieren der Chat-App verwenden.

Chat-App erstellen und mit dem Dialogflow-Agent verbinden

Nachdem Sie einen Dialogflow CX-Agent erstellt haben, gehen Sie so vor, um ihn in eine Chat-App umzuwandeln:

  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 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 Funktionsweise 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 CX aus.
    7. Fügen Sie unter Name der Agent- oder Umgebungsressource den Namen des Dialogflow CX-Agents ein, den Sie am Ende von Dialogflow CX-Agent erstellen kopiert haben.
    8. Diese Chat-App bestimmten Personen und Gruppen zur Verfügung stellen in Ihrer Domain und geben Sie Ihre E‑Mail-Adresse ein.
    9. Wählen Sie unter Logs die Option Fehler in Logging protokollieren aus.
  3. 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 CX-Chat-App, indem Sie ihr in Google Chat Nachrichten 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 wechseln

  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 Ihre Chat-App in den Ergebnissen aus. Eine Direktnachricht wird geöffnet.

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

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

  6. Führen Sie den Test durch, indem Sie die Beispielunterhaltung führen.

Beispiel für eine Testunterhaltung

So testen Sie die Dialogflow CX Chat-App in der Dialogflow CX-Konsole oder in Google Chat: Die Erläuterung hilft Ihnen zu verstehen, wie der Dialogflow CX-Agent die natürliche Sprache des Nutzers interpretiert und in jedem Schritt der Unterhaltung eine eigene Antwort in natürlicher Sprache generiert. Diese Beispielunterhaltung basiert auf dem vorgefertigten Agenten Reisen: Autovermietung.

Dialog Erklärung
Endnutzer:Hallo
Kundenservicemitarbeiter:Hallo! Ich bin der virtuelle Kundenservicemitarbeiter der Autovermietung. Ich kann dir helfen, eine neue Mietwagenreservierung zu starten. Wie kann ich dir heute helfen?
  1. Die Route Standard-Begrüßungs-Intent im Standardstartablauf wird aufgerufen.
  2. Die Erfüllung für diesen Status-Handler („Hallo! 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. Der Agent verwendet daher den Parameter pickup_location, um den Nutzer zu fragen („Wo möchten Sie … abholen?“). die der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Las Vegas
Kundenservicemitarbeiter:Okay, die Abholung erfolgt in Las Vegas.
KI-Agent:Weicht Ihr Absetzort von Ihrem Abholort ab?
  1. Die Eingabe des Endnutzers füllt den Parameter pickup_location aus, der vom Agenten im vorherigen Gesprächsabschnitt angefordert wurde.
  2. Die Intent-Route car_rental.return_different_location wird im Standardstart-Flow abgeglichen.
  3. Die Route zum Ausfüllen des Formulars auf der Seite Abholort wird ausgewertet und aufgerufen. Es enthält eine Auftragsausführung („Ok, your pickup…“), die der Antwortwarteschlange hinzugefügt wird, wobei die Parameterreferenzen in tatsächliche Werte aufgelöst werden, die vom Endnutzer angegeben wurden.
  4. Die Sitzung wird zur Seite Standort bestätigen weitergeleitet.
  5. Auf der Seite Standort bestätigen gibt es einen Eintrag zur Erfüllung („Ist Ihr Abgabeort ein anderer…“). die der Antwortwarteschlange hinzugefügt wird.
  6. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Ja. Ich gebe das Auto in Los Angeles ab.
Kundenservicemitarbeiter:Okay, Ihr Zielort ist Los Angeles.
Kundenservicemitarbeiter:An welchem Datum und zu welcher Uhrzeit möchten Sie das Fahrzeug abholen?
  1. Die Intent-Route car_rental.return_different_location wird im Standardstart-Flow abgeglichen.
  2. Die Sitzung wird zur Seite Abgabeort weitergeleitet.
  3. Die Eingabe des Endnutzers füllt den Parameter drop_off_location aus, der vom Agenten im vorherigen Gesprächsabschnitt angefordert wurde.
  4. Die Route für das Ausfüllen des Formulars auf der Seite Drop Off Location (Abgabeort) wird ausgewertet und aufgerufen. Es gibt eine Ausführung („Ok, your drop off...“), die der Antwortwarteschlange hinzugefügt wird.
  5. Die Sitzung wird zur Seite Rental Duration (Leihdauer) weitergeleitet.
  6. Die Seite Mietdauer enthält unvollständige Formularwerte. Daher wird der Nutzer nach dem Parameter pickup_date_time gefragt („An welchem Datum und zu welcher Uhrzeit möchten Sie... abholen?“). die 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.
Kundenservicemitarbeiter:An welchem Datum und zu welcher Uhrzeit möchten Sie das Fahrzeug abgeben?
  1. Die Eingabe des Endnutzers füllt den Parameter pickup_date_time aus, der vom Agenten im vorherigen Konversationsschritt angefordert wurde.
  2. Auf der Seite Mietdauer fehlt ein weiterer Formularwert. Der Nutzer wird daher nach dem Parameter drop_off_date_time gefragt („An welchem Datum und zu welcher Uhrzeit möchten Sie das Fahrzeug zurückgeben?“). die der Antwortwarteschlange hinzugefügt wird.
  3. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer: 15. März, 12:00 Uhr
Kundenservicemitarbeiter: Zur Bestätigung:

Sie holen das Fahrzeug in Las Vegas am 05.03.2024 um 12:00 Uhr ab und geben es in Los Angeles am 15.03.2024 um 12:00 Uhr zurück.

Stimmt das?
  1. Die Eingabe des Endnutzers füllt den Parameter drop_off_date_time aus, der vom Agenten im vorherigen Gesprächsabschnitt angefordert wurde.
  2. Die Sitzung wird zur Seite Leihdauer bestätigen weitergeleitet.
  3. Die Seite Leihdauer bestätigen enthält einen Eintrag zur Ausführung („Zur Bestätigung…“), die der Antwortwarteschlange hinzugefügt wird.
  4. Der KI-Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Ja, vielen Dank.
Agent:Prima! Wählen wir nun ein Fahrzeug aus.
Kundenservicemitarbeiter:Möchten Sie ein Fahrzeug der Economy- oder Luxusklasse?
  1. Der Intent small_talk.confirmation.yes wird auf der Seite Confirm Rental Duration (Leihdauer bestätigen) abgeglichen.
  2. Der Agent bestätigt die Auswahl des Nutzers mit einer Nachricht („Super! Wählen Sie nun…“), die der Antwortwarteschlange hinzugefügt wird.
  3. Die Sitzung wird zur Seite Vehicle Disambiguation (Fahrzeug disambiguieren) weitergeleitet.
  4. Das Formular auf der Seite Vehicle Disambiguation (Fahrzeugunterscheidung) ist nicht vollständig. Der Agent verwendet daher den Parameter vehicle_type, um den Nutzer zu fragen („Möchten Sie ein Economy- oder Luxusfahrzeug?“). die der Antwortwarteschlange hinzugefügt wird.
  5. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Economy bitte.
KI-Agent:Möchten Sie das Cymbal Car oder den Cymbal Truck?
  1. Die Intent-Route $session.params.vehicle_type="economy_vehicle" wird abgeglichen.
  2. Die Sitzung wird zur Seite Economy Options (Wirtschaftsoptionen) weitergeleitet.
  3. Die Seite Economy-Optionen enthält einen Eintrag zur Erfüllung („Möchten Sie, dass…“), die der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
Endnutzer:Cymbal Truck.
Agent:Der Cymbal-LKW kostet 50,33 $ pro Tag. Es bietet Platz für 4 Personen und ist mit einem AM/FM-Radio ausgestattet. Möchten Sie mit der Zahlung fortfahren?
Endnutzer:Ja, bitte.
  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 Cymbal Truck bestätigen gibt es einen Eintrag zur Auftragsausführung („Der Cymbal Truck kostet 50,33 $ pro Tag…“). die der Antwortwarteschlange hinzugefügt wird.
  4. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
  5. Die Antwort des Nutzers entspricht dem Pfad small_talk.confirmation.yes.
Kundenservicemitarbeiter:Welche Art von Karte verwenden Sie?
Endnutzer:Altostrat
Kundenservicemitarbeiter:Bitte geben Sie die Kartennummer ein.
Endnutzer:1234 1234 1234 1234
Kundenservicemitarbeiter:Wie lautet der Name auf der Karte?
Endnutzer:Charlie
KI-Agent:Wie lautet die Rechnungsadresse?
Endnutzer:1800 Amphibious Blvd., Mountain View, CA
Kundenservicemitarbeiter:Was ist die Rechnungs-Postleitzahl?
Endnutzer:94045
Kundenservicemitarbeiter:Sie holen den Cymbal Car am 05.03.2024 um 12:00:00 in Las Vegas ab und geben ihn am 15.03.2024 um 12:00:00 wieder zurück. Der Gesamtbetrag für diese Fahrt beträgt 175,38 $.
Kundenservicemitarbeiter:Vielen Dank, dass Sie bei uns gemietet haben. Wir wünschen Ihnen einen schönen Tag!
  1. Die Sitzung wird zur Seite Zahlung weitergeleitet.
  2. Das Zahlungsformular ist nicht vollständig. Der Kundenservicemitarbeiter fordert den Nutzer daher auf, die Parameter card_type, card_number, billing_name, billing_street_address und billing_zip_code anzugeben („Welche Art von Karte...“). die sequenziell der Antwortwarteschlange hinzugefügt und gesendet werden, wenn der Nutzer antwortet. Die Antworten des Nutzers legen den Wert jedes Parameters fest.
  3. Die Sitzung wird zur Seite Bestätigung der Ausleihe weitergeleitet.
  4. Die Seite Mietbestätigung enthält einen Eintrag zur Erfüllung („Ok, die Abholung erfolgt am…“), die der Antwortwarteschlange hinzugefügt wird.
  5. Der Agent sendet die Antwortwarteschlange an den Endnutzer.
  6. Die Sitzung wird zur Seite Sitzung beenden weitergeleitet.

Kartenbenachrichtigungen über Dialogflow senden

Dialogflow kann mit Text- oder Karten-Nachrichten antworten. Wenn Sie mit einer Kartenbenachrichtigung antworten möchten, geben Sie sie als benutzerdefinierte Nutzlast in der Ausführung an.

Das folgende JSON zeigt, wie Sie eine Kartenmitteilung als benutzerdefinierte Nutzlast in der Ausführung senden:

json

{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
  "message": { "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 Ü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 Felds argumentText aus der Chatnachricht.
      • APP_COMMAND:Der String "APP_COMMAND_PAYLOAD".
      • ADDED_TO_SPACE:Der String "ADDED_TO_SPACE_PAYLOAD".
      • 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.payload an Dialogflow gesendet. Sie können in Ihrem Dialogflow-Webhook darauf zugreifen. Weitere Informationen finden Sie in der Dokumentation zu Dialogflow CX-Webhook-Anfragen.
  • Hinweise zum Reagieren auf Befehle und zum Empfangen von Daten aus 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 Chat gesendet, indem die Methode create für die Ressource spaces.messages in der Chat API einmal für jede Nachricht aufgerufen wird.
  • Wenn Sie die Dialogflow CX-Integration mit Chat verwenden, müssen der Dialogflow-Agent und die Chat-App im selben Google Cloud-Projekt eingerichtet sein. Wenn Sie Dialogflow und Chat in verschiedenen Cloud-Projekten einrichten müssen, können Sie einen Zwischenserver einrichten, um die Verbindung zu ermöglichen. Beispiel für die Chatintegration für Dialogflow CX auf GitHub

Fehlerbehebung

Sehen Sie sich zuerst die Fehlerprotokolle 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-Protokolle:Hier können Sie Protokolle abfragen, um detaillierte Informationen zum Verhalten der Chat-App zu erhalten, einschließlich der Interaktionen mit Google Chat. Weitere Informationen finden Sie unter Abfrageprotokolle für Google Workspace-Add-ons.

  • Fehler in der Google Chat App:Allgemeine Fehlermeldungen und Lösungen für die Chat App finden Sie unter Fehler in der Chat App beheben.

  • Dialogflow CX Cloud Logging:Achten Sie darauf, dass Cloud Logging in den Einstellungen Ihres Dialogflow-Agents aktiviert ist, um detaillierte Ausführungsprotokolle zu erfassen, einschließlich Fehlern des Agents und Webhook-Interaktionen. Informationen zum Aktivieren und Konfigurieren dieser Funktion finden Sie in der Dokumentation zu den Dialogflow CX-Agent-Einstellungen. Diese Logs können im Log-Explorer der Google Cloud Console aufgerufen werden.

  • Dialogflow CX-Unterhaltungsverlauf:Sehen Sie sich vergangene Interaktionen an, um den Unterhaltungsablauf zu verstehen und Probleme zu identifizieren. Weitere Informationen finden Sie unter Unterhaltungsverlauf.

  • Allgemeine Fehlerbehebung für Dialogflow:Bei allgemeinen Dialogflow-Problemen finden Sie weitere Informationen im Leitfaden zur Fehlerbehebung für Dialogflow CX.

Bereinigen

Damit Ihrem Google Cloud-Konto 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 Cloud Console zur Seite Ressourcen verwalten. Klicken Sie auf das Menü > IAM und Verwaltung > Ressourcen verwalten.

    Zum Ressourcenmanager

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie 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 einen Zustandsautomaten für das Design von Dialogflow-Agents. So haben Sie eine klare und explizite Kontrolle über eine Unterhaltung, was zu einer besseren Endnutzererfahrung und einem besseren Entwicklungsablauf führt. Wenn Sie eine Dialogflow-Chat-App erstellen, empfehlen wir die Verwendung von Dialogflow CX.
  • Dialogflow ES ist eine weitere Möglichkeit, Dialogflow mit einer Chat-App zu verwenden.

Chat-Apps, die keine Add-ons sind: Dialogflow CX Google Chat-App erstellen

Wenn Sie eine Chat-App entwickeln oder verwalten, die kein Google Workspace-Add‑on ist, beachten Sie die folgenden Unterschiede bei Konfiguration, Nutzlast und Ereignissen.

Dialogflow CX-Chat-App konfigurieren, die kein Add‑on ist

Bei der Konfiguration der Google Chat API in der Google Cloud Console gilt Folgendes:

  1. Deaktivieren Sie Diese Chat-App als Google Workspace-Add‑on erstellen. Ein Dialogfeld wird geöffnet, in dem Sie den Vorgang bestätigen müssen. Klicken Sie im Dialogfeld auf Deaktivieren.
  2. Nehmen Sie die restlichen Konfigurationseinstellungen für Dialogflow CX vor und klicken Sie auf Speichern.

Karten-Nachrichten aus einer Dialogflow CX-Chat-App senden, die kein Add-on ist

Geben Sie in einer Chat-App, die kein Add-on ist, ein cardsV2-Objekt der obersten Ebene in der benutzerdefinierten Dialogflow-Nutzlast in der Auftragsausführung an:

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 Überlegungen für Dialogflow CX-Chat-Apps, die keine Add-ons sind

  • Chat-Interaktionsereignisse werden folgendermaßen unterstützt und müssen 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 Anfrage 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 wird die an den Dialogflow-Agent gesendete Anfrage als CARD_CLICKED.functionName formatiert, wobei functionName dem Wert des Felds function des Action-Objekts entspricht, das an das interaktive Kartenelement (z. B. einen Button) angehängt ist.
    • Die vollständige JSON-Nutzlast jedes Chat-Interaktionsereignisses wird als benutzerdefinierte Nutzlast im Suchparameter an Dialogflow gesendet und kann über einen Dialogflow-Webhook abgerufen werden, indem der Wert des Felds WebhookRequest.payload abgefragt wird.
  • Hinweise zum Reagieren auf Slash-Befehle und zum Empfangen von Daten von Karten oder Dialogfeldern in Chat-Apps, die keine Add-ons sind:
    • Wenn Dialogflow Chat-Apps, die keine Add-ons sind, eine Nachricht mit einem Slash-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). Damit können Sie die Intention eines Dialogflow-Agents konfigurieren, um einen Slash-Befehl zu erkennen.
    • Wenn Sie einen Dialog aus dem Dialogflow-Agent in einer Chat-App anzeigen möchten, die kein Add-on ist, antworten Sie mit einer einzelnen benutzerdefinierten JSON-Nutzlast, die eine Nachricht mit einer DIALOG-Aktionsantwort enthält.
    • Wenn Sie Daten verarbeiten möchten, die über Karten in einer Chat-App eingegeben werden, die kein Add-on ist, kann der Dialogflow-Agent Intents erkennen, die mit dem Text CARD_CLICKED beginnen, und mit einer einzelnen benutzerdefinierten JSON-Nutzlast antworten, die die entsprechende action enthält.