Wenn Sie keine Einbindung verwenden, müssen Sie Code schreiben, um mit Endnutzern zu interagieren. Für jede Konversationsrunde ruft Ihr Code die Dialogflow API auf, um Ihren Agent abzufragen. In diesem Leitfaden erfahren Sie, wie Sie mit einem Agent interagieren, indem Sie die REST API über die Befehlszeile sowie die Clientbibliotheken verwenden.
Hinweis
Wenn Sie nicht vorhaben, die API zu verwenden, können Sie diese Kurzanleitung überspringen.
Bevor Sie diese Anleitung lesen, sollten Sie mit Folgendem vertraut sein:
- Grundlagen von Dialogflow
- Einrichtungsschritte ausführen
- Die Schritte in der Kurzanleitung Agent erstellen ausführen.
Führen Sie die folgenden Schritte aus, um den Agent weiter zu bearbeiten, mit dem Sie in diesem Leitfaden begonnen haben.
Wenn Sie diesen Agent nicht mehr haben, können Sie
build-agent-quickstart.zip
herunterladen und die Datei importieren.
Sessions
Der Begriff Sitzung steht für eine Unterhaltung zwischen einem Dialogflow-Agent und einem Endnutzer. Zu Beginn einer Unterhaltung erstellen Sie eine Sitzung und verwenden diese für jede Unterhaltungsrunde. Sobald die Unterhaltung zu Ende ist, beenden Sie die Sitzung.
Für gleichzeitige Unterhaltungen mit verschiedenen Endnutzern sollten Sie nicht dieselbe Sitzung verwenden. Dialogflow erhält für jede aktive Sitzung die aktuell aktiven Kontexte aufrecht. Sitzungsdaten speichert Dialogflow 20 Minuten lang.
Jeder Sitzung wird von Ihrem System eine eindeutige Sitzungs-ID zugewiesen. Sie erstellen eine neue Sitzung, indem Sie in einer Anfrage zur Intent-Erkennung eine neue Sitzungs-ID bereitstellen. Eine Sitzungs-ID besteht aus einem String mit höchstens 36 Byte. Die Verantwortung für die Generierung eindeutiger Sitzungs-IDs liegt bei Ihrem System. Dabei kann es sich um Zufallszahlen, um gehashte Endnutzer-IDs oder um alle erdenklichen anderen Werte handeln, die Sie bequem generieren können.
Intent erkennen
Wenn Sie die API für Interaktionen verwenden, interagiert der Dienst direkt mit dem Endnutzer.
Für jede Unterhaltungsrunde ruft der Dienst die Methode detectIntent
oder streamingDetectIntent
des Sessions
-Typs auf und sendet so Endnutzerausdrücke an Dialogflow.
Dialogflow antwortet mit Informationen zum zugeordneten Intent, zur Aktion, zu den Parametern und zu der für den Intent definierten Antwort.
Bei Bedarf führt Ihr Dienst Aktionen aus (z. B. Datenbankabfragen oder Aufrufe an externe APIs) und sendet eine Nachricht an den Endnutzer.
Dieser Vorgang wird fortgesetzt, bis die Unterhaltung beendet ist.
In den folgenden Beispielen wird veranschaulicht, wie der Intent erkannt wird. Für jedes Beispiel wird ein Teil der folgenden Eingaben akzeptiert:
- Projekt-ID: Verwenden Sie die Projekt-ID für das Projekt, das Sie in den Einrichtungsschritten erstellt haben.
- Session-ID: Zum Testen des Agents können Sie eine beliebige ID verwenden. In Beispielen wird häufig "123456789" verwendet.
- Text oder Texte: Ein einzelner Endnutzerausdruck oder eine Liste von Endnutzerausdrücken. Wenn mehrere Ausdrücke angegeben werden, werden durch die Aufrufe in den Codebeispielen Intents für jeden Ausdruck erkannt. Verwenden Sie "I know french".
- Sprachcode: Der Sprachcode für den Endnutzerausdruck. Verwenden Sie für diesen Beispiel-Agent "en-US".
REST
Zur Intent-Erkennung rufen Sie die MethodedetectIntent
für die Ressource Sessions
auf.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- PROJECT_ID: Ihre Google Cloud-Projekt-ID
- SESSION_ID: eine Sitzungs-ID
HTTP-Methode und URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
JSON-Text anfordern:
{ "query_input": { "text": { "text": "I know french", "language_code": "en-US" } } }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "responseId": "856510ca-f617-4e25-b0bb-a26c0a59e030-19db3199", "queryResult": { "queryText": "I know french", "parameters": { "language": "French", "language-programming": "" }, "allRequiredParamsPresent": true, "fulfillmentText": "Wow! I didn't know you knew French. How long have you known French?", "fulfillmentMessages": [ { "text": { "text": [ "Wow! I didn't know you knew French. How long have you known French?" ] } } ], "outputContexts": [ { "name": "projects/PROJECT_ID/agent/sessions/123456789/contexts/set-language-followup", "lifespanCount": 2, "parameters": { "language": "French", "language.original": "french", "language-programming": "", "language-programming.original": "" } } ], "intent": { "name": "projects/PROJECT_ID/agent/intents/fe45022f-e58a-484f-96e8-1cbd6628f648", "displayName": "set-language" }, "intentDetectionConfidence": 1, "languageCode": "en" } }
Beachten Sie für die Antwort Folgendes:
- Das Feld
queryResult.intent
enthält den zugeordneten Intent. - Der Wert des Felds
queryResult.fulfillmentMessages
enthält die Intent-Antwort. Das ist die Antwort, die Ihr System an den Endnutzer weiterleiten soll. - Der Wert des Felds
queryResult.parameters
enthält die aus dem Endnutzerausdruck extrahierten Parameter. - Das Feld
queryResult.outputContext
enthält den aktiven Kontext.
Go
Richten Sie zur Authentifizierung bei Dialogflow die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 Standardanmeldedaten für Anwendungen ein, um sich bei Dialogflow zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Dialogflow-Referenzdokumentation für .NET auf.
PHP: Bitte folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite „Clientbibliotheken“ und rufen Sie dann die Dialogflow-Referenzdokumentation für PHP
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Dialogflow-Referenzdokumentation für Ruby auf.
Produktion
Bevor Sie den Agent in der Produktion ausführen, sollten Sie die Best Practices für die Produktion implementieren.