Für jede Unterhaltungsrunde findet eine Interaktion statt. Während einer Interaktion sendet ein Endnutzer eine Eingabe an Dialogflow CX und 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 Dialogflow CX zurück.
- Dialogflow CX erstellt eine Antwort zur 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. Dialogflow CX sendet eine Intent-Erkennungsantwort 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
Hier erfahren Sie, wie Sie die API für einen Gesprächsabschnitt für einen Agenten aufrufen, ohne eine Integration zu verwenden. In diesem Leitfaden wird nicht beschrieben, wie Sie eine Benutzeroberfläche für Ihre Endnutzer implementieren.
Hinweis
Führen Sie folgende Schritte aus, bevor Sie diese Anleitung lesen:
- Grundlagen zu Abläufen
- Einrichtungsschritte ausführen
- Erstellen Sie einen Agenten oder verwenden Sie den Agenten weiter, den Sie unter Agenten mit Abläufen erstellen oder Agenten mit Playbooks erstellen erstellt haben.
IDs erfassen
Für die folgenden Beispiele sind mehrere IDs als Eingabe erforderlich. Sie können Ihre Projekt-ID, Regions-ID und Agenten-ID mit einer der folgenden Methoden ermitteln:
Dialogflow CX-Konsole
- Öffnen Sie die Dialogflow CX-Konsole.
- Wählen Sie Ihr Projekt aus.
- Klicken Sie in der Liste auf das Dreipunkt-Menü more_vert für einen Agent in der Liste.
- Klicken Sie auf den filter_none-Button 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
Generative AI App Builder
Rufen Sie den Generative AI App Builder auf:
Ihre Projekt-ID wird oben in der Console angezeigt.
In der Spalte Standort werden Regions-IDs angezeigt.
Wählen Sie eine App aus.
Das Segment des Browser-URL-Pfads nach
agents/enthält die Agenten-App-ID.
Außerdem benötigen Sie eine Sitzungs-ID. Eine Sitzung stellt eine Unterhaltung zwischen einem Dialogflow CX-Agenten und einem Endnutzer dar. Erstellen Sie zu Beginn einer Unterhaltung eine eindeutige Sitzungs-ID und verwenden Sie sie für jede Runde der Unterhaltung. Zum Testen der API können Sie eine beliebige String-ID mit maximal 36 Byte verwenden, 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 eine JSON-Antwort ähnlich wie diese 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 CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Richten Sie zur Authentifizierung bei Dialogflow CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Richten Sie zur Authentifizierung bei Dialogflow CX Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Produktion
Bevor Sie Ihren Agent in der Produktion ausführen, sollten Sie die Best Practices für die Produktion beachten.