Auftragsausführungen

Damit der Agent an der Unterhaltung teilnehmen kann, muss der Agent auf den Endnutzer mit einer Antwort auf eine Frage, einer Anfrage nach Informationen oder dem Beenden der Sitzung antworten. Ihr Agent muss sich möglicherweise auch mit Ihrem Dienst in Verbindung setzen, um dynamische Antworten zu generieren oder Aktionen für eine weitere Unterhaltungsrunde auszuführen. Auftragsausführung wird für all dies verwendet.

Eine Auftragsausführung kann folgende Elemente enthalten:

  • Statische Antwortnachrichten
  • Webhook-Aufrufe nach dynamischen Antworten und/oder Aktionen
  • Parametervoreinstellungen zum Festlegen oder Überschreiben von Parameterwerten

Während der Unterhaltungsrunde eines Agents ist es möglich (und manchmal gewünscht), mehrere Auftragsausführungen aufzurufen, von denen jede eine Antwort erzeugen kann. Dialogflow CX speichert diese Antworten in einer Antwortwarteschlange. Nach Abschluss der Unterhaltungsrunde des Agents sendet Dialogflow CX die sortierten Antworten an den Endnutzer.

Anwendungsfälle für Auftragsausführungen

Mit der Auftragsausführung können Sie an den folgenden Stellen Antwortnachrichten bereitstellen:

Für jeden dieser Anwendungsfälle wird in der Konsole das Bearbeitungsfenster für die Auftragsausführung geöffnet.

Screenshot: Auftragsausführung

Agentenantworten (Dialogoptionen)

Definieren Sie Agentenantwortnachrichten während der Entwicklung, wenn Sie eine Auftragsausführung erstellen. Während der Laufzeit werden diese Antworten der Antwortwarteschlange hinzugefügt.

Es gibt verschiedene Arten von Antwortnachrichten, die in den folgenden Unterabschnitten beschrieben werden. Bei Verwendung der Konsole enthalten Auftragsausführungsfelder eine erste Agent-Dialogfeld -Karte. Sie können aber auch auf Dialogfeldantwort hinzufügen klicken, um weitere Karten für andere Antwortnachrichtentypen hinzuzufügen.

Statische Textantwort

Statische Textantwortnachrichten stellen dem Nutzer Textdialoge zur Verfügung. Wenn Ihre API-Aufrufe zur Intent-Erkennung oder Integration die Sprachsynthese verwenden, wird aus diesem Text Audioinhalt generiert. Für diese Nachrichten wird für den bereitgestellten Text die Speech Synthesis Markup Language (SSML) verwendet.

Sie können mehrere Textantwortkarten und mehrere Textantworten auf jeder Karte definieren. Wenn Sie mehrere Karten definieren, werden diese zur Laufzeit zu einer einzelnen Antwort verkettet. Wenn Sie mehrere Antworten innerhalb einer Karte definieren, wird eine der Nachrichten auf der Karte nach dem Zufallsprinzip ausgewählt.

Solche Textnachrichten können Parameterreferenzen und Inline-Systemfunktionen enthalten.

Benutzerdefinierte Nutzlast

Einige Integrationen unterstützen benutzerdefinierte Nutzlastantworten, um komplexe Antworten zu verarbeiten. Diese benutzerdefinierten Nutzlasten müssen im JSON-Format bereitgestellt werden, das in der Integrationsdokumentation definiert ist. Ein Beispiel dafür ist das benutzerdefinierte Dialogflow CX Messenger-Nutzlastformat.

Sie können Parameterreferenzen in den JSON-Code Ihrer benutzerdefinierten Nutzlast aufnehmen. Setzen Sie sie in doppelte Anführungszeichen, um sie als JSON-Stringwerte zu behandeln. Beispiel:

{
  "someField": "$session.params.date"
}

Benutzerdefinierte JSON-Nutzlasten dürfen maximal 24 Ebenen tief sein.

Sie können auch eine benutzerdefinierte Nutzlast an selbst entwickelte Integrationen senden. Diese wird nicht von Dialogflow CX verarbeitet, sondern muss in Ihrer eigenen Geschäftslogik behandelt werden.

Weitere Informationen finden Sie unter Vorlagen für benutzerdefinierte Nutzlasten.

Übergabe an Kundenservicemitarbeiter

Diese Antwort signalisiert dem Aufrufer der API zur Intent-Erkennung, dass die Unterhaltung an einen menschlichen Mitarbeiter übergeben werden soll. Dialogflow CX verwendet dieses Signal nur, um zu übergebende Unterhaltungen zu Messzwecken zu identifizieren. Der Sitzungsstatus wird nicht geändert.

Ihr System oder Ihre Integration kann dieses Signal verwenden, um alle erforderlichen Aktionen auszuführen, um die Unterhaltung zu übergeben. Da Dialogflow CX keine Struktur für diese Daten vorschreibt, können Sie eine beliebige Struktur auswählen, die für Ihr System geeignet ist.

Metadaten für erfolgreiche Unterhaltungen

Diese Antwort signalisiert dem Aufrufer der API zur Intent-Erkennung, dass die Unterhaltung mit dem Dialogflow CX-Agent erfolgreich war. Dialogflow CX verwendet dieses Signal, um Unterhaltungen zu identifizieren, die zu Messzwecken erfolgreich waren. Der Sitzungsstatus wird nicht geändert.

Ihr System oder Ihre Integration kann dieses Signal verwenden, um alle erforderlichen Aktionen auszuführen. Dialogflow CX schreibt keine Struktur für diese Daten vor. Sie können also eine beliebige Struktur auswählen, die für Ihr System geeignet ist.

Aufgenommenes Audio abspielen

Diese Antwort spielt eine Audiodatei für Integrationen , die dieses Feature unterstützen.

Die Anforderungen an das Audiodateiformat können sich für verschiedene Integrationen unterscheiden. Informationen finden Sie beispielsweise unter den Anforderungen für das Dialogflow CX-Telefonie-Gateway.

Bei Telefonieintegrationen von Partnern, muss die URL für die Audiodatei für den Partner zugänglich sein. Eine öffentlich verfügbare URL, z. B. eine öffentliche Datei in Cloud Storage, ist immer für den Partner zugänglich. Der Partner kann auch eingeschränkten Zugriff auf Audiodateien gewähren. Weitere Informationen finden Sie in der Partnerdokumentation.

Audiotext ausgeben

Diese Antwort ähnelt der Text-Antwort, gilt jedoch nur für die Sprachsynthese. Wenn der Agent sowohl Text- als auch Sprachsitzungen verarbeiten kann, können Sie mithilfe von eindeutigen Text - und Audiotextausgabe -Antworten eine andere Nutzererfahrung für Text bzw. Sprache generieren. Wenn eine Audiotextausgabe für eine Sprachsitzung bereitgestellt wird, werden die Antworten für Nur-Text ignoriert.

Wenn Ihr Agent sowohl Text- als auch Sprachsitzungen verarbeitet und Sie dieselben Antwortnachrichten wünschen, verwenden Sie nur Textantworten für Text- und Sprachsitzungen.

Der Ausgabe-Audiotext wird ähnlich wie Textantworten verkettet. Wenn die Ausgabe-Audiotextantworten eine Mischung aus Text und SSML sind, wird das verkettete Ergebnis als SSML behandelt. Sie sollten idealerweise konsistent Text oder SSML verwenden.

Bedingte Antwort

Dieser Antworttyp bietet bedingte Antworten:

Das allgemeine Format ist:

if [condition]
  [response]
elif [condition]
  [response]
elif [condition]
  [response]
else
  [response]
endif

Dabei gilt:

  • [condition] verwendet dasselbe Format wie Routenbedingungen.
  • [response] ist eine Textantwort.
  • Die Blöcke elif und else sind optional.

Beispiel:

if $session.params.user-age >= 21
  Ok, you may enter.
else
  Sorry, you cannot enter.
endif

Sowohl [condition] als auch [response] können Inline-Systemfunktionen verwenden, um dynamische Werte während Unterhaltungen zu generieren. Weitere Informationen finden Sie unter Systemfunktionen und Routenbedingungen. [condition] wird basierend auf dem Sitzungsstatus zu Beginn der Auftragsausführung aufgelöst. Wenn [response] vom Sitzungsstatus abhängt, wird es basierend auf dem aktualisierten Sitzungsstatus am Ende der Auftragsausführung aufgelöst.

Bei mehrsprachigen Agents, [condition] ist für alle Sprachen üblich, während [response] sprachspezifisch ist. Wenn Sie [condition] für eine Sprache in der Konsole ändern, wird dieser Teil in allen Sprachen des Agents aktualisiert. Da es zu einer neuen Bedingung wird, wird [response] für alle Sprachen gelöscht, außer der Sprache, die Sie beim Aktualisieren von [condition] ausgewählt haben.

Telefonie-Anrufweiterleitung

Anrufweiterleitungen sind nur für das Dialogflow CX-Telefonie-Gateway verfügbar.

Für einige Telefonieintegrationen können Sie eine Telefonnummer in den USA für Anrufweiterleitungen angeben. Zur Laufzeit, wenn der Dialogflow CX-Agent eine Auftragsausführung mit Anrufweiterleitung auslöst, wird der Anruf an die angegebene Anzahl weitergeleitet und die Verarbeitung des Agents wird angehalten.

Antwort des Datenspeichertools

Dieser Antworttyp konfiguriert Agentenantworten, die von verknüpften Datenspeichertools zurückgegeben werden. Wenn Sie in dieser Auftragsausführung ein Datenspeichertool konfiguriert haben, wird automatisch eine Antwortkarte für das Datenspeichertool ausgefüllt.

  • Quelllinks:Legen Sie die maximale Anzahl der Zitate fest, die dem Nutzer nach der Antwort zurückgegeben werden sollen. Ein Zitat ist ein Link zur Informationsquelle im Datenspeicher, der als Schaltfläche dargestellt wird. Der Standardwert ist 1.
  • Inline-Zitate:Beschränken Sie die Anzahl der Inline-Zitate, die pro Satz zurückgegeben werden, anstatt Links nach der Antwort aufzulisten.
  • Generatives Fallback:Konfigurieren Sie den Agent so, dass er eine KI-generierte Antwort versucht, wenn der Datenspeicher ein leeres Ergebnis zurückgibt. Wenn dies fehlschlägt, verwendet der Agent statische Antworten.
  • Statische Antworten: Geben Sie im letzten Feld statische Textantworten ein, die dem Nutzer Wort für Wort gesendet werden sollen.

Channelspezifische Antwortnachrichten

Beim Definieren der Auftragsausführung können Sie channelspezifische Antwortnachrichten erstellen, um gezielte Antworten für Textchats, Sprache, SMS oder bestimmte Integrationen zu erstellen, die Channels unterstützen. Alle Antwortnachrichten, die nicht channelspezifisch sind, werden als Standardantwortnachrichten bezeichnet.

Zur Laufzeit wählt Dialogflow CX entweder die Standardantwortnachricht oder eine channelspezifische Antwortnachricht aus, wenn in einer Anfrage zur Intent-Erkennung ein Channel angegeben ist. Als Best Practice sollten Sie Standardantwortnachrichten definieren, auch wenn Sie channelspezifische Antwortnachrichten verwenden. Die Standardantwortnachrichten dienen als Fallback, wenn Ihr System keinen gültigen Channel bereitstellen kann.

Ein Channelname ist ein benutzerdefiniertes Feld, das Sie auf beliebigen Text festlegen können. Wenn Sie die Dialogflow CX API direkt für Laufzeitaufrufe verwenden, können Sie beliebige Channelnamen verwenden. Wenn Sie eine vorhandene Integration verwenden, müssen Sie die Channelnamen verwenden, die von der Integration erkannt werden.

Channelspezifische Antwortnachrichten während der Entwicklung festlegen

So stellen Sie channelspezifische Antwortnachrichten für die Auftragsausführung bereit, wenn Sie die Konsole verwenden:

  • Klicken Sie nach dem Hinzufügen von Standardantwortnachrichten auf Channel hinzufügen , um channelspezifische Antwortnachrichten hinzuzufügen. Klicken Sie noch einmal auf Channel hinzufügen , um weitere Channels hinzuzufügen.

So stellen Sie channelspezifische Antwortnachrichten für die Auftragsausführung bereit, wenn Sie die API verwenden:

  • Legen Sie das Feld Fulfillment.messages[i].channel für jede Antwortnachricht auf den ausgewählten Channel fest. Wenn dieses Feld nicht festgelegt ist, wird die Antwort als Standardantwortnachricht behandelt.

Channelspezifische Antwortnachrichten zur Laufzeit verwenden

Wenn Sie eine vorhandene Integration verwenden, die Channels unterstützt, werden diese Schritte von der Integrationsimplementierung ausgeführt.

Um eine channelspezifische Antwortnachricht zu erhalten, müssen Sie den Channel in der Anfragenachricht zur Intent-Erkennung angeben. Informationen finden Sie im Feld queryParams.channel der Methode detectIntent des Typs Sessions.

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

Dialogflow CX gibt die Standardantwortnachricht zurück, wenn in einer Anfrage kein Channel definiert ist oder wenn bei der Auftragsausführung kein übereinstimmender Channel gefunden wird.

Vorlagen für benutzerdefinierte Nutzlasten

Wenn Sie häufig benutzerdefinierte Nutzlasten verwenden, nutzen Sie Vorlagen für benutzerdefinierte Nutzlasten. Benutzerdefinierte Nutzlasten sind manchmal groß und komplex. Die Verwendung von Vorlagen vereinfacht daher die Erstellung von Agenten.

Geben Sie diese Vorlagen in den Agenteneinstellungen an, damit sie bei der Erstellung der Auftragsausführung für Ihren Agent ausgewählt werden können.

Beispielsweise kann die JSON-Nutzlast für die Schaltflächen „Ja“ und „Nein“ als Vorlage für benutzerdefinierte Nutzlasten definiert werden. Wenn Sie eine Auftragsausführung erstellen, für die diese Schaltflächen erforderlich sind, wählen Sie die Vorlage aus.

Wenn Sie eine Vorlage für eine benutzerdefinierte Nutzlast für die Auftragsausführung auswählen, wird der Inhalt der Vorlage in die Nutzlast eingefügt. Sie können die Nutzlast dann nach Bedarf bearbeiten.

Wenn Sie eine Vorlage ändern, werden die Änderungen nicht automatisch auf alle Nutzlasten für die Auftragsausführung übertragen, in denen darauf verwiesen wird.

Informationen zum Erstellen einer Vorlage für benutzerdefinierte Nutzlasten finden Sie unter Allgemeine Einstellungen für Agenten.

Wenn Sie beim Erstellen einer Auftragsausführung eine Vorlage für benutzerdefinierte Nutzlasten auswählen möchten, klicken Sie beim Erstellen einer benutzerdefinierten Nutzlast für die Auftragsausführung auf Vorlage auswählen.

Webhook-Aufrufe

Wenn eine Auftragsausführung einen Webhook, sendet der Agent eine Anfrage an Ihren Dienst. Ihr Webhook kann Aktionen ausführen, dynamische Antwortnachrichten bereitstellen, Parameterwerte überschreiben und die aktuelle Seite ändern.

Im Folgenden werden die Webhook-Einstellungen für die Auftragsausführung beschrieben:

X Element
Webhook aktivieren Dadurch wird der Webhook für die Auftragsausführung aktiviert.
Webhook Wählen Sie die Webhook-Ressource aus.
Tag Das hier angegebene Text-Tag wird in das Feld WebhookRequest.fulfillmentInfo.tag der Webhook-Anfrage eingefügt, die an Ihren Webhook-Dienst gesendet wird. So können Sie das Webhook-Verhalten auf eine Weise steuern, die spezifisch für die Auftragsausführung ist.
Teilantwort zurückgeben Ermöglicht das Abbrechen der Wiedergabe einer Teilantwort. Weitere Informationen finden Sie unter Erweiterte Spracheinstellungen.

Parametervoreinstellungen

Mit der Auftragsausführung können Sie Voreinstellungen bereitstellen, die aktuelle Parameterwerte festlegen oder überschreiben. Diese Voreinstellungen werden angewendet, bevor statische Antwortnachrichten verarbeitet werden oder ein Webhook aufgerufen wird.

Sie können auch Systemfunktionen verwenden, um einen Parameter auf einen dynamisch generierten Wert festzulegen.

Beispiele:

  • Parameter now auf die aktuelle Zeit festlegen:

    Parameter Wert
    jetzt $sys.func.NOW()
  • Vorhandenen Parameter counter um 1 erhöhen:

    Parameter Wert
    Zähler $sys.func.ADD($session.params.counter, 1)
  • Parameter new-cost auf den Parameterwert other-cost festlegen, während der vollständige zusammengesetzte Objektwert beibehalten wird:

    Parameter Wert
    new-cost $sys.func.IDENTITY($session.params.other-cost)

Datenspeichertools

Weitere Informationen zu dieser Funktion finden Sie in der Dokumentation zu Datenspeichertools.

Erweiterte Spracheinstellungen

Diese erweiterten Spracheinstellungen können die Spracheinstellungen für Seiten, Abläufe und Agenten überschreiben.

Antwortwarteschlange

Während der Unterhaltungsrunde eines Agents können Sie mehrere Auftragsausführungen aufrufen, von denen jede eine Antwort erzeugen kann. Dialogflow CX speichert diese Antworten in einer Antwortwarteschlange.

Unvollständige Beantwortung für Streaming API

Standardmäßig sendet Dialogflow CX die sortierten Antworten nur dann an den Endnutzer, wenn die Unterhaltungsrunde des Agents beendet ist. Sie können bei der Auftragsausführung auch die Option Teilantwort zurückgeben aktivieren, um mithilfe der Streaming-APIs derzeit in der Warteschlange befindliche Antworten als Teilantwort zurückzugeben. Weitere Informationen finden Sie unter Lebenszyklus einer Seite.

Wenn Ihr Webhook beispielsweise lange Zeit ausgeführt wird, können Sie der Auftragsausführung eine statische Antwort hinzufügen und die unvollständige Beantwortung aktivieren. Dadurch wird Dialogflow CX die Antwortwarteschlange geleert und alle Nachrichten als unvollständige Beantwortung gesendet, bevor der Webhook aufgerufen wird.

Die unvollständige Beantwortung wird für Folgendes nicht unterstützt:

Um diese Funktion im Simulator zu testen, aktivieren Sie die unvollständige Beantwortung.

Screenshot: unvollständige Beantwortung für Simulator

Beachten Sie im folgenden Beispiel, dass der Webhook 5 Sekunden dauert und Sie die unvollständige Beantwortung nicht aktivieren. Die Unterhaltungsrunde des Dialogflow CX-Agents wird erst beendet, wenn der Webhook abgeschlossen ist. Während dieser 5 Sekunden werden die Antworten während des Wartens auf den Webhook in die Warteschlange gestellt und erst nach Abschluss der Runde an den Endnutzer zurückgegeben. Dies führt zu einer schlechten Nutzererfahrung.

Ohne unvollständige Beantwortung

Wenn Sie die unvollständige Beantwortung bei der ersten Auftragsausführung aktivieren, gibt Dialogflow CX die erste Auftragsausführungsnachricht schnell zurück und ruft den Webhook auf. Nachdem der Webhook abgeschlossen ist, gibt Dialogflow CX die endgültige Antwort zurück. In diesem Szenario wird die Endnutzererfahrung verbessert, da mitgeteilt wird, dass eine kurze Wartezeit zu erwarten ist. Außerdem wird der Webhook-Aufruf gleichzeitig mit einer Antwort ausgeführt, die an den Endnutzer gesendet wird.

Mit unvollständiger Beantwortung.

Speech Synthesis Markup Language (SSML)

Sie können die Speech Synthesis Markup Language (SSML) in den Feldern für Text- oder Audiotextausgabe der Auftragsausführung verwenden. So können Sie Ihre Audioantwort anpassen, indem Sie Details zu Pausen und Audioformatierungen für Akronyme, Daten, Uhrzeiten, Abkürzungen oder zu zensierenden Text angeben.

Details zur Syntax finden Sie in der SSML-Dokumentation für Text-to-Speech.