API-Interaktionen

Wenn Sie keine Integrationsoption verwenden, müssen Sie Code schreiben, der direkt mit dem Endnutzer interagiert. Sie müssen auch direkt mit der API von Dialogflow interagieren, damit für jede Unterhaltungsrunde Endnutzerausdrücke gesendet und Intent-Abgleiche empfangen werden. Das folgende Diagramm zeigt den Verarbeitungsablauf bei der Interaktion mit der API.

Diagramm zum Ablauf für die API
  1. Der Endnutzer gibt einen Ausdruck ein oder spricht ihn aus.
  2. Der Dienst sendet diesen Endnutzerausdruck in einer Anfragenachricht zur Intent-Erkennung an Dialogflow.
  3. Dialogflow sendet eine Antwortnachricht für die Intent-Erkennung an den Dienst. Diese Nachricht enthält Informationen zum zugeordneten Intent, zur Aktion, zu den Parametern und der für den Intent definierten Antwort.
  4. Ihr Dienst führt die geeigneten Aktionen aus, z. B. Datenbankabfragen oder externe API-Aufrufe.
  5. Ihr Dienst sendet eine Antwort an den Endnutzer.
  6. Der Endnutzer sieht oder hört die Antwort.

Projekt einrichten und authentifizieren

Bevor Sie die API aufrufen, müssen Sie ein GCP-Projekt und eine Authentifizierungsmethode einrichten. Sie können dabei der Kurzanleitung zur Einrichtung folgen.

Agent erstellen

In den meisten Fällen sollten Sie zum Erstellen von Agents die Dialogflow ES-Konsole (Dokumentation ansehen, Konsole öffnen) verwenden. Beim Erstellen eines Agents können Sie der Kurzanleitung zur Konsole folgen. Agents für komplexere Szenarien können Sie auch mit der Dialogflow API erstellen. Auf vielen Konzeptseiten wird hauptsächlich das Erstellen von Agents mithilfe der Konsole behandelt, doch sie enthalten auch Links zu relevanten API-Typen.

REST, gRPC und Clientbibliotheken

Auf die Dialogflow API können Sie über REST, gRPC oder eine der bereitgestellten Clientbibliotheken zugreifen. Weitere Informationen zu diesen Optionen finden Sie in der Übersicht zur API-Nutzung.

Sitzungen

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.

Beispiele für Aufrufe der Intent-Erkennung finden Sie in der Kurzanleitung zur API und auf den Anleitungsseiten.