Auf dieser Seite wird erläutert, wie Sie eine Google Chat-App erstellen, die sowohl natürliche Sprache verstehen als auch darauf reagieren kann, indem Sie Dialogflow verwenden. 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, mit der Nutzer Autos mieten können. Ein Nutzer könnte beispielsweise schreiben: „Ich möchte ein Auto mieten.“ Die Chatanwendung 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 Chatanwendung sowohl menschliche Sprache versteht als auch darauf antwortet, während sie die Autovermietung bucht.
Dies 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 die richtige Wahl. Mit den vordefinierten Agents können Sie schnell loslegen und sehen, was Dialogflow alles 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
-
Abbildung 1: Auswählen eines vordefinierten Agents für eine Dialogflow-Chat-App. -
Abbildung 2: Testen des Agents in Dialogflow CX, um sicherzustellen, dass die Logik und Konfiguration des Agents wie vorgesehen funktionieren. Das Diagramm zeigt eine Reihe von thematischen Seiten, die sich auf bestimmte Schritte im Gespräch 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. -
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. -
Abbildung 4: Sie führen eine Unterhaltung mit der Dialogflow Chat-App in Google Chat über die Buchung eines Mietwagens.
Lernziele
- die Umgebung einrichten
- Erstellen und stellen Sie einen Dialogflow CX-Agent bereit.
- Erstellen und Bereitstellen einer Chat-App, die vom Dialogflow CX-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 in Google Chat eine Nachricht an eine Chat-App, entweder in einer Direktnachricht oder in einem Chatbereich.
- Ein virtueller Dialogflow-Agent, der sich in Google Cloud 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 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 Cloud Console die Google Chat API und die Dialogflow API.
Bestätigen Sie, dass 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 CX-Agent erstellen
Ein Dialogflow CX-Agent ist ein virtueller Agent, der nebenläufige Unterhaltungen mit Ihren Endnutzern abwickelt. Mithilfe von Natural Language Understanding (NLU) versteht der Agent die Nuancen der menschlichen Sprache. Im Laufe der Unterhaltung übersetzt Dialogflow Nutzereingaben in Textform 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 verschiedenen Typen von Unterhaltungen verarbeitet.
Ein Dialogflow-Agent ähnelt einem menschlichen Callcenter-Agent. Beide werden für die Bearbeitung erwarteter Szenarien trainiert. Dabei sind keine übermäßig genauen Vorgaben nötig.
So erstellen Sie den Dialogflow CX-Agent:
Öffnen Sie die Dialogflow CX Console. Klicken Sie auf das Menü > Dialogflow CX.
Wählen Sie ein Google Cloud-Projekt aus. Möglicherweise müssen Sie auf Alle klicken und dann nach dem Projekt suchen.
Sie haben jetzt die Möglichkeit, einen vorgefertigten Agent auszuwählen oder einen eigenen zu erstellen. Wenn Sie die Anpassung von Agents lieber später im Detail untersuchen möchten, wählen Sie einen der vorgefertigten Agents aus. Diese sind auch hilfreich, um zu erfahren, was Agents leisten können.
So wählen Sie einen vordefinierten Agent aus:
- Klicken Sie auf Vordefinierte Agents verwenden.
Wählen Sie einen vordefinierten Agent aus. Wählen Sie für diese Anleitung Reisen: Autovermietung aus.
Agents werden als Anfänger, Fortgeschrittene oder Profis eingestuft, je nachdem, wie viele Funktionen der Agent verwendet und wie ausgefeilt seine Konversationslogik ist. 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.
Klicken Sie auf Als Agent importieren.
So erstellen Sie einen eigenen Agent:
- Klicken Sie auf Agent erstellen.
- 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 Agents finden Sie unter Dialogflow CX-Agent erstellen.
Grundlegende Agent-Einstellungen konfigurieren:
- Geben Sie unter Anzeigename einen Anzeigenamen ein.
- Wählen Sie den bevorzugten Standort aus. Wenn Sie die erweiterten Standorteinstellungen ändern möchten, klicken Sie auf Bearbeiten.
- Wählen Sie Ihre bevorzugte Zeitzone aus.
- Wählen Sie die Standardsprache für Ihren Agent aus. Sie können die Standardsprache für einen Agent nicht mehr ändern, nachdem er erstellt wurde.
Klicken Sie auf Erstellen. Dialogflow CX beginnt mit der Erstellung des Agents und zeigt dann den Standardstartablauf des Agents an.
Optional können Sie den Agent anpassen. Eine detaillierte Anleitung zum Anpassen von Agents finden Sie unter Dialogflow CX-Agent erstellen.
Wir empfehlen, den Agenten zu testen:
- Klicken Sie auf Agent testen.
- Wählen Sie Agent in Umgebung testen aus.
- Wählen Sie unter „Umgebung“ die Option Entwurf aus.
- Wählen Sie in Flow den Standardstartablauf aus.
- Wählen Sie unter „Seite“ die Option Startseite aus.
- Geben Sie in der Leiste Mit Kundenservicemitarbeiter sprechen
Hello
ein und drücken Sie die Eingabetaste. Der Agent stellt sich vor. - Führen Sie den Test durch, indem Sie die Beispiel-Testunterhaltung führen.
Der Dialogflow CX-Agent wird erstellt. Kehren Sie zur Dialogflow CX-Konsole zurück. Klicken Sie auf das Menü > Dialogflow CX.
Klicken Sie unter Agents (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, gehen Sie so vor, um ihn in eine Chat-App umzuwandeln:
Rufen Sie in der Google Cloud Console die Google Chat API auf. Suchen Sie nach „Google Chat API“ und 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 App
ein. - Geben Sie unter Avatar URL (Avatar-URL)
https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
ein. - Geben Sie unter Beschreibung
Responds to real human conversation
ein. - 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 CX aus.
- Fügen Sie in Agent or Environment resource name (Name der Agent- oder Umgebungsressource) den Namen des Dialogflow CX-Agents ein, den Sie am Ende von Dialogflow CX-Agent erstellen kopiert haben.
- 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 CX 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
Hello
ein und drücken Sieenter
.Die Dialogflow Chat-App antwortet, indem sie sich vorstellt.
- Führen Sie den Test durch, indem Sie die Beispielunterhaltung führen.
Beispiel für eine Testunterhaltung
Wenn Sie die Dialogflow CX Chat-App in der Dialogflow CX Console oder in Google Chat testen möchten, führen Sie die folgende Unterhaltung. 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 Reise: Autovermietung.
Dialog | Erklärung |
---|---|
Endnutzer:Hallo Agent:Hallo! Ich bin der virtuelle Kundenservicemitarbeiter der Autovermietung. Ich kann Ihnen helfen, ein Mietauto zu reservieren. Was kann ich für Sie tun? |
|
Endnutzer:Ich möchte ein Auto mieten. Agent:Wo möchten Sie das Fahrzeug abholen? |
|
Endnutzer:Las Vegas Agent:Ok, your pickup will be in Las Vegas. Kundenservicemitarbeiter:Weicht Ihr Abgabeort von Ihrem Abholort ab? |
|
Endnutzer:Ja. Ich gebe das Auto in Los Angeles ab. Agent:Ok, your drop off will be in Los Angeles. Agent:An welchem Datum und zu welcher Uhrzeit möchten Sie das Fahrzeug abholen? |
|
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? |
|
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? |
|
Endnutzer:Ja, vielen Dank. Agent:Sehr gut! Wählen wir jetzt ein Fahrzeug aus. Agent:Möchten Sie ein Fahrzeug der Economy- oder Luxusklasse? |
|
Endnutzer:Economy bitte. Agent:Möchten Sie das Cymbal Car oder den Cymbal Truck? |
|
Endnutzer:Cymbal Truck. Agent:The Cymbal Truck is $50.33 per day. 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. |
|
Kundenservicemitarbeiter:Welche Art von Karte verwenden Sie? Endnutzer:Altostrat Kundenservicemitarbeiter:Bitte geben Sie die Kartennummer ein. Endnutzer: 1234 1234 1234 1234 Agent: Wie lautet der Name auf der Karte? Endnutzer: Charlie Agent: Wie lautet die Rechnungsadresse? Endnutzer: 1800 Amphibious Blvd. Mountain View, CA Kundenservicemitarbeiter: Wie lautet die Postleitzahl für die Abrechnung? 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. Die Gesamtsumme für diese Reise beträgt 175,38 $. Kundenservicemitarbeiter:Vielen Dank, dass Sie bei uns gemietet haben. Wir wünschen Ihnen einen schönen Tag! |
|
Kartenbenachrichtigungen aus 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 Auftragsausführung an.
Das folgende JSON zeigt, wie Sie eine Kartenmitteilung als benutzerdefinierte Nutzlast in der Ausführung senden:
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
- Chat-Interaktionsereignisse werden nur eingeschränkt unterstützt und es gibt einige Aspekte zu beachten:
- Die folgenden Interaktionsereignistypen werden unterstützt:
MESSAGE
ADDED_TO_SPACE
CARD_CLICKED
- Bei
MESSAGE
- oderADDED_TO_SPACE
-Ereignissen entspricht die an den Dialogflow-Agent gesendete Abfrageeingabe dem Wert des FeldsargumentText
in der Chatnachricht. Wenn die Nachricht einen Slash-Befehl enthält, wird stattdessen der Wert des Feldstext
verwendet. - Bei
CARD_CLICKED
-Ereignissen wird die an den Dialogflow-Agent gesendete Abfrageeingabe alsCARD_CLICKED.functionName
formatiert, wobeifunctionName
dem Wert des Feldsfunction
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 über einen Dialogflow-Webhook abgerufen werden, indem der Wert des Felds
WebhookRequest.payload
abgefragt wird.
- Die folgenden Interaktionsereignistypen werden unterstützt:
- Hinweise zum Reagieren auf Slash-Befehle und zum Empfangen von Daten von Karten oder Dialogfeldern:
- Wenn Dialogflow Chat-Apps eine Nachricht mit einem Slash-Befehl erhalten, enthält die Anfrageeingabe nur den Wert des Felds
text
. Das Feldtext
beginnt mit dem Namen des Slash-Befehls (z. B./command
). Damit können Sie die Intention eines Dialogflow-Agents so konfigurieren, dass ein Slash-Befehl erkannt wird. - 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 eine Nachricht mit einer
DIALOG
-Aktionsantwort enthält. - Um Daten zu verarbeiten, die über 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 action enthält.
- Wenn Dialogflow Chat-Apps eine Nachricht mit einem Slash-Befehl erhalten, enthält die Anfrageeingabe nur den Wert des Felds
- 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 diespaces.messages
-Ressource 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
Wenn eine Google Chat-App oder Karte einen Fehler zurückgibt, wird in der Chat-Benutzeroberfläche die Meldung „Ein Fehler ist aufgetreten“ angezeigt. oder „Ihre Anfrage kann nicht bearbeitet werden.“ Manchmal wird in der Chat-Benutzeroberfläche keine Fehlermeldung angezeigt, aber die Chat-App oder ‑Karte liefert ein unerwartetes Ergebnis, z. B. wird eine Kartennachricht nicht angezeigt.
Auch wenn in der Chat-Benutzeroberfläche keine Fehlermeldung angezeigt wird, sind aussagekräftige Fehlermeldungen und Protokolldaten verfügbar, die Ihnen helfen, Fehler zu beheben, wenn die Fehlerprotokollierung für Chat-Apps aktiviert ist. Informationen zum Aufrufen, 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, empfehlen wir, das Cloud-Projekt zu löschen.
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten. 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 verwendet einen Zustandsmaschinenansatz für das Design von Dialogflow-Agents. So können Sie die Unterhaltung genau steuern, die Endnutzererfahrung verbessern und die Entwicklung ist benutzerfreundlicher. Wenn Sie eine Dialogflow-Chat-App erstellen, empfehlen wir die Verwendung von Dialogflow CX.
- Weitere Informationen zum Erstellen und Konfigurieren von Agents finden Sie unter Dialogflow CX-Agents.
- Eine detaillierte Anleitung zum Erstellen und Konfigurieren von Agents finden Sie unter Dialogflow CX-Agent erstellen.
- Apps für Google Chat mit Gemini entwickeln. Codelab:Ein Beispiel für das Erstellen eines Dialogflow CX-Datenspeicher-Agents finden Sie in der Wissens-Chat-App aus dem Codelab
- Apps für Google Chat mit Gemini entwickeln. Codelab:Ein Beispiel für das Erstellen eines Dialogflow CX-Agents für konversationelle KI finden Sie in der Feedback-Chat-App aus dem Codelab
- Dialogflow ES ist eine weitere Möglichkeit, Dialogflow mit einer Chat-App zu verwenden.