Für jede Unterhaltungsrunde findet eine Interaktion statt. Während einer Interaktion sendet ein Endnutzer eine Eingabe an Conversational Agents (Dialogflow CX) und Conversational Agents (Dialogflow CX) sendet eine Antwort. Sie haben zwei Möglichkeiten, Ihr System für die Verarbeitung von Interaktionen zu implementieren: mithilfe der API oder mithilfe einer Integration.
Wenn Sie die API verwenden, muss Ihr System Folgendes verarbeiten:
- Agent erstellen
- Benutzeroberfläche für Endnutzer bereitstellen
- Rufen Sie die Dialogflow API für jeden Sprecherwechsel auf, um Endnutzereingaben an die API zu senden.
- Wenn die Agent-Antworten nicht nur statisch sind (seltener), müssen Sie einen Webhook-Dienst für die Verarbeitung der Webhook-aktivierten Auftragsausführung hosten.
Wenn Sie eine Integration verwenden, muss Ihr System nur Folgendes verarbeiten:
- Agent erstellen
- Implementieren Sie optional einen Webhook-Dienst.
Das folgende Diagramm zeigt die Schritte, die für einen Sprecherwechsel einer Sitzung ausgeführt werden.
- Der Endnutzer gibt etwas ein oder sagt etwas. Dies wird als Endnutzereingabe bezeichnet.
- Ihr Benutzeroberflächen- oder Integrationssystem empfängt die Eingabe und leitet sie in einer Anfrage zur Intent-Erkennung an die Dialogflow API weiter.
- Die Dialogflow API empfängt die Anfrage zur Intent-Erkennung. Sie ordnet die Eingabe einem Intent- oder Formularparameter zu, legt bei Bedarf Parameter fest und aktualisiert den Sitzungsstatus. Falls eine Webhook-fähige Auftragsausführung aufgerufen werden muss, wird eine Webhook-Anfrage an Ihren Webhook-Dienst gesendet. Fahren Sie andernfalls mit Schritt 6 fort.
- Ihr Webhook-Dienst empfängt die Webhook-Anfrage. Der Dienst führt alle erforderlichen Aktionen aus, z. B. das Aufrufen externer APIs, das Abfragen oder Aktualisieren einer Datenbank usw.
- Ihr Webhook-Dienst erstellt eine Antwort und sendet eine Webhook-Antwort an Conversational Agents (Dialogflow CX).
- Konversations-Agents (Dialogflow CX) erstellen eine Antwort für die Intent-Erkennung. Wenn ein Webhook aufgerufen wurde, verwendet es die Webhook-Antwort. Wenn kein Webhook aufgerufen wurde, verwendet es die im Agent definierte statische Antwort. Conversational Agents (Dialogflow CX) senden eine Antwort für die Intent-Erkennung an Ihre Benutzeroberfläche oder Ihr Integrationssystem.
- Ihr Benutzeroberflächen- oder Integrationssystem empfängt die Antwort für die Intent-Erkennung und leitet die Text- oder Audioantwort an den Endnutzer weiter.
- Der Endnutzer sieht oder hört die Antwort.
Zweck des Leitfadens
In dieser Anleitung erfahren Sie, wie Sie die API für eine Konversationsrunde für einen Agent aufrufen, der keine Integration verwendet (Schritt 2 im obigen Diagramm). In diesem Leitfaden erfahren Sie nicht, wie Sie eine Benutzeroberfläche für Ihren Endnutzer implementieren.
Hinweis
Bevor Sie diese Anleitung lesen, sollten Sie mit Folgendem vertraut sein:
- Grundlagen des Ablaufs lesen
- Einrichtungsschritte ausführen
- Erstellen Sie einen neuen Agenten oder verwenden Sie den Agenten, den Sie unter Agent mithilfe von Abläufen erstellen erstellt haben.
IDs erfassen
In den folgenden Beispielen sind mehrere IDs als Eingabe erforderlich. So ermitteln Sie die Projekt-ID, Regions-ID und Agent-ID:
- Öffnen Sie die Dialogflow CX Console.
- Wählen Sie Ihr Google Cloud-Projekt aus, um die Agent-Auswahl zu öffnen.
- Klicken Sie in der Liste auf das Dreipunkt-Menü more_vert für einen Agent in der Liste.
- Klicken Sie auf die filter_none-Schaltfläche Name kopieren.
- Dadurch wird der vollständige identifizierende Name des Agents kopiert, der Ihre Projekt-ID, Regions-ID und Agent-ID im folgenden Format enthält:
projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID
Außerdem benötigen Sie eine Sitzungs-ID.
A
Sitzung
stellt eine Unterhaltung zwischen einem Conversational Agents (Dialogflow CX)-Agent und einem Endnutzer dar.
Zu Beginn einer Unterhaltung erstellen Sie eine eindeutige Sitzungs-ID und verwenden sie für jede Unterhaltungsrunde.
Zum Testen der API können Sie eine beliebige String-ID verwenden, die höchstens 36 Byte beträgt, z. B. test-session-123
.
Intent-Erkennung aufrufen
In den folgenden Beispielen wird die Methode Sessions.detectIntent
aufgerufen.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Sitzungsressource | Sitzungsressource |
RPC | Sitzungsoberfläche | Sitzungsoberfläche |
C++ | SessionsClient | Nicht verfügbar |
C# | SessionsClient | Nicht verfügbar |
Go | SessionsClient | Nicht verfügbar |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Nicht verfügbar | Nicht verfügbar |
Python | SessionsClient | SessionsClient |
Ruby | Nicht verfügbar | Nicht verfügbar |
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID
- AGENT_ID: Agent-ID
- REGION_ID: Ihre Regions-ID
- SESSION_ID: Ihre Sitzungs-ID
- END_USER_INPUT: Endnutzereingabe
HTTP-Methode und URL:
POST https://REGION_ID-dialogflow.googleapis.com/v3/projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID/sessions/SESSION_ID:detectIntent
JSON-Text anfordern:
{ "queryInput": { "text": { "text": "END_USER_INPUT" }, "languageCode": "en" }, "queryParams": { "timeZone": "America/Los_Angeles" } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "responseId": "38e8f23d-eed2-445e-a3e7-149b242dd669", "queryResult": { "text": "I want to buy a shirt", "languageCode": "en", "responseMessages": [ { "text": { "text": [ "Ok, let's start a new order." ] } }, { "text": { "text": [ "I'd like to collect a bit more information from you." ] } }, { "text": { "text": [ "What color would you like?" ] } }, {} ], "currentPage": { "name": "projects/PROJECT_ID/locations/us-central1/agents/133b0350-f2d2-4928-b0b3-5b332259d0f7/flows/00000000-0000-0000-0000-000000000000/pages/ce0b88c4-9292-455c-9c59-ec153dad94cc", "displayName": "New Order" }, "intent": { "name": "projects/PROJECT_ID/locations/us-central1/agents/133b0350-f2d2-4928-b0b3-5b332259d0f7/intents/0adebb70-a727-4687-b8bc-fbbc2ac0b665", "displayName": "order.new" }, "intentDetectionConfidence": 1, "diagnosticInfo": { ... }, "match": { "intent": { "name": "projects/PROJECT_ID/locations/us-central1/agents/133b0350-f2d2-4928-b0b3-5b332259d0f7/intents/0adebb70-a727-4687-b8bc-fbbc2ac0b665", "displayName": "order.new" }, "resolvedInput": "I want to buy a shirt", "matchType": "INTENT", "confidence": 1 } } }
Java
Richten Sie zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Produktion
Bevor Sie den Agent in der Produktion ausführen, sollten Sie die Best Practices für die Produktion implementieren.