Parameter

Parameter werden zum Erfassen und Referenzieren von Werten verwendet, die der Endnutzer während einer Sitzung bereitgestellt hat. Jeder Parameter hat einen Namen und einen Entitätstyp. Im Unterschied zu unstrukturierten Endnutzereingaben sind Parameter strukturierte Daten, mit denen auf einfache Weise ein bestimmter Ablauf ausgeführt werden kann oder Antworten erzeugt werden können.

CX-Parameter ähneln ES-Parametern. Allerdings wurden das Dienstprogramm und der Bereich erweitert und die Syntax zum Verweisen auf Parameter hat sich geändert.

Parameter definieren, referenzieren, festlegen und abrufen

Es gibt vier allgemeine Arten der Verwendung von Parametern:

  • Während der Entwicklung definieren: Während der Entwicklung verwenden Sie die Konsole oder die API, um Parameter zu definieren. Sie können beispielsweise einen Intent-Parameter definieren und in einer Trainingsformulierung verwenden, um die Endnutzereingabe zu bestimmen, die extrahiert werden soll.
  • Bei der Entwicklung referenzieren: Parameterverweise sind Variablen, die zur Laufzeit extrahierte Parameterwerte enthalten. Während der Entwicklung verwenden Sie die Konsole oder die API, um auf Parameter in verschiedenen Datentypen zu verweisen. Sie können beispielsweise auf einen Sitzungsparameter in einer statischen Auftragserfüllungsantwort für eine Route verweisen.
  • Zur Laufzeit festgelegt: Zur Laufzeit können der Dialogflow-Dienst, der die API aufruft, und Ihr Webhook-Dienst alle Parameterwerte festlegen. Beispiel: Der Dialogflow-Dienst legt den Wert eines Intent-Parameters fest, wenn eine Endnutzereingabe dem Intent entspricht und die Eingabe Parameterdaten enthält.
  • Zur Laufzeit abrufen: Zur Laufzeit verweist Ihr Parameter auf die festgelegten Parameterwerte. Sie können die Parameterwerte mit der API oder einem Webhook abrufen. Wenn beispielsweise ein Intent zugeordnet und Ihr Webhook aufgerufen wird, empfängt Ihr Webhook-Dienst die Parameterwerte für den Intent.

Intent-Parameter

Intents verwenden Parameter, um beim Abgleich von Intents von Endnutzern angegebene Daten zu extrahieren. Zum Definieren von Intent-Parametern werden folgende Daten verwendet:

  • Name (auch als ID oder Anzeigename bezeichnet): Ein Name zur Bezeichnung des Parameters.
  • Entitätstyp: der Entitätstyp, der dem Parameter zugeordnet ist
  • Ist-Liste: Wenn "true", wird der Parameter als Liste von Werten behandelt.

Intent-Parameter definieren

Intent-Parameter werden während der Erstellung definiert, wenn Intent-Daten erstellt oder Trainingsformulierungen annotiert werden.

Intent-Parameter referenzieren

Intent-Parameterverweise können in statischen Antwortnachrichten der Auftragsausführung von Intent-Routen verwendet werden.

Wird einer bestimmten Entität während der Laufzeit ein Text zugeordnet, wird dieser oft für eine einfachere Verarbeitung in einen Wert konvertiert. Beispielsweise kann das Wort "Äpfel" in der Endnutzereingabe für eine Obstentität als "Apfel" extrahiert werden. Sie können entweder auf den vom Endnutzer geschriebenen oder gesprochenen Wert original oder auf den von der Entität extrahierten Wert resolved verweisen.

Verwenden Sie eines der folgenden Formate, um für den aktuell zugeordneten Intent auf einen Parameter zu verweisen:

$intent.params.parameter-id.original
$intent.params.parameter-id.resolved

Wenn die Parameter-ID beispielsweise date lautet, können Sie auf den aufgelösten Wert als $intent.params.date.resolved verweisen.

Sie können auch auf den Entitätstypnamen des Parameters zugreifen:

$intent.params.parameter-id.type

Intent-Parameter festlegen

Wenn eine Endnutzereingabe zur Laufzeit einem Intent zugeordnet wird, wird jeder von einer Annotation verwendete Parameter für die zugehörige Trainingsformulierung von Dialogflow festgelegt.

Die Auftragsausführung für eine Intent-Route kann mit einer Voreinstellung für den Auftragsausführungsparameter einen Intent-Parameterwert zur Laufzeit festlegen.

Intent-Parameter abrufen

Während der Unterhaltungsrunde, in der ein Intent zugeordnet wird, kann Ihr Code auf die Werte des Intent-Parameters zugreifen.

Interaktionen mit der API geben Intent-Parameterwerte zurück. Siehe das Antwortfeld queryResult.parameters der detectIntent-Methode in der

Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:

Protokoll V3beta1
REST Sitzungsressource
RPC Sitzungsoberfläche

Die empfangenden Intent-Parameterwerte von Webhook. Weitere Informationen finden Sie in der Webhook-Anfrage im Feld intentInfo.parameters.

Formularparameter

Für jede Seite können Sie ein Formular definieren. Dies ist eine Liste von Parametern, die vom Endnutzer für die Seite erfasst werden sollen. Der Agent interagiert mit dem Endnutzer mehrere Unterhaltungsrunden lang, bis er alle erforderlichen Formularparameter, auch Seitenparameter genannt, erfasst hat. Für jeden Formularparameter geben Sie auch Aufforderungen an, mit denen der Agent diese Informationen vom Endnutzer anfordert. Dieser Vorgang wird als Ausfüllen von Formularen bezeichnet.

Sie können beispielsweise ein Formular erstellen, in dem der Name und die Telefonnummer des Endnutzers für eine Collect Customer Info-Seite erfasst werden.

Das Ausfüllen von CX-Formularen ähnelt dem Ausfüllen von ES-Slots.

Folgende Daten werden verwendet, um Formularparameter zu definieren:

  • Name (auch als ID oder Anzeigename bezeichnet): Ein Name zur Bezeichnung des Parameters.
  • Entitätstyp: der Entitätstyp, der dem Parameter zugeordnet ist
  • Ist-Liste: Wenn "true", wird der Parameter als Liste von Werten behandelt.
  • Erforderlich: Gibt an, ob der Parameter erforderlich ist. Optionale Parameter lösen keine Aufforderungen aus. Sie werden jedoch ausgefüllt, wenn der Nutzer sie angibt. Erforderliche Parameter müssen ausgefüllt werden, bevor das Ausfüllen des Formulars abgeschlossen ist.
  • Standardwert: Der Standardwert eines optionalen Parameters. Wenn der Parameter erforderlich ist, wird der Standardwert ignoriert.
  • Erste Aufforderung zur Auftragsausführung: Sie konfigurieren dies mit einer Auftragsausführung, die verwendet wird, wenn der Agent den Endnutzer erstmals auffordern muss, um Parameter auszufüllen.
  • Handler für erneute Eingabeaufforderungen: Diese werden verwendet, wenn der Agent den Endnutzer nach einem fehlgeschlagenen Versuch zur erneuten Eingabe zum Ausfüllen des Parameters hinweisen muss. Weitere Informationen finden Sie unter Handler für die erneute Eingabeaufforderung zum Ausfüllen von Formularen.

Formularparameter definieren

Formularparameter werden bei der Erstellung einer Seite zur Entwurfszeit definiert.

Formularparameter referenzieren

Formularparameterreferenzen werden nicht direkt verwendet. Sie können nur den Ausfüllstatus einzelner Formularparameter oder des gesamten Formulars prüfen. Sie können diese Formularstatusreferenzen in einer Bedingungsanforderung einer Bedingungsroute verwenden.

Verwenden Sie die folgende Bedingung, um zu prüfen, ob das vollständige Formular der aktuellen Seite ausgefüllt ist:

$page.params.status = "FINAL"

Mit der folgenden Bedingung können Sie prüfen, ob ein bestimmter Formularparameter in der letzten Runde ausgefüllt wurde:

$page.params.parameter-id.status = "UPDATED"

Formularparameter festlegen

Die Auftragsausführung für eine Route, einen Event-Handler oder eine erneute Aufforderung zur Formulareingabe kann eine Voreinstellung für einen Auftragsausführungsparameter verwenden, um einen Formularparameterwert zur Laufzeit festzulegen.

Ihr Webhook kann Formularparameterwerte zur Laufzeit festlegen. Weitere Informationen finden Sie in der Webhook-Antwort im Feld pageInfo.formInfo.parameterInfo.

Formularparameter abrufen

Interaktionen mit der API geben Formularparameterwerte zurück. Siehe das Antwortfeld queryResult.parameters der detectIntent-Methode in der

Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:

Protokoll V3beta1
REST Sitzungsressource
RPC Sitzungsoberfläche

Die empfangenden Formularparameterwerte von Webhook. Weitere Informationen finden Sie in der Webhook-Anfrage im Feld pageInfo.formInfo.parameterInfo.

Handler für die erneute Eingabeaufforderung zum Ausfüllen von Formularen

Beim Ausfüllen des Formulars fordert der Agent den Endnutzer auf, Parameterwerte anzugeben. Macht der Endnutzer unerwartete Eingaben, wird ein Ereignis vom Typ sys.no-match-* oder sys.no-input-* aufgerufen. Sie können Reprompt-Handler definieren, auch Ereignis-Handler auf Parameterebene genannt, um den Endnutzer zur Neueingabe des Parameterwerts aufzufordern.

Wie andere Ereignis-Handler ist ein Reprompt-Handler ein Zustands-Handler, der mit einer oder beiden der folgenden Optionen konfiguriert werden kann:

  • Eine Auftragsausführung zur Bereitstellung einer Nachricht an den Nutzer mit einer erneuten Eingabeaufforderung und/oder einer Parametervoreinstellung.
  • Ein Umstellungsziel zum Ändern der aktuellen Seite.

Sitzungsparameter

Wenn ein Parameter eines beliebigen Typs zur Laufzeit festgelegt wird, wird er in die Sitzung geschrieben und wird zu einem Sitzungsparameter. Diese Parameter werden nicht explizit bei der Entwicklung definiert. Sie können während einer Sitzung jederzeit auf diese Sitzungsparameter verweisen.

Sitzungsparameter referenzieren

Sitzungsparameterverweise können in den statischen Antwortnachrichten für die folgenden Arten von Auftragsausführungen verwendet werden:

  • Auftragsausführung für Seiteneingaben
  • Auftragsausführung für Routen
  • Auftragsausführung für Event-Handler
  • Auftragsausführung für Eingabeaufforderungen für Formulare
  • Auftragsausführungen für erneute Eingabeaufforderungen für Formulare

Verwenden Sie folgende Formate, um auf einen Sitzungsparameter zu verweisen:

Skalar

So greifen Sie auf einen Parameter mit dem Entitätstyp "Skalar" zu:

$session.params.parameter-id

Wenn die Parameter-ID beispielsweise date lautet, können Sie auf den Wert als $session.params.date verweisen.

Composite

So greifen Sie auf ein Mitglied eines Parameters mit dem Entitätstyp "Composite" zu:

$session.params.parameter-id.member-name

Beispiel: Lautet die Parameter-ID location, können Sie auf den zip-code-Mitgliedswert als $session.params.location.zip-code verweisen.

List

So greifen Sie auf das x-te Element eines Listenparameters zu:

$session.params.parameter-id[i]

Beispiel: Wenn die Listenparameter-ID colors lautet, verweist $session.params.colors[0] auf den ersten Wert.

Sitzungsparameter festlegen

Wenn das Ausfüllen des Formulars abgeschlossen ist, werden die ausgefüllten Parameter von Dialogflow in die Sitzung geschrieben.

Die Auftragsausführung für eine Route, einen Event-Handler oder eine erneute Eingabeaufforderung für Formulare kann mit einer Voreinstellung für Auftragsausführungsparameter einen Sitzungsparameterwert zur Laufzeit festlegen.

Ihr Webhook kann Sitzungsparameterwerte zur Laufzeit festlegen. Weitere Informationen finden Sie in der Webhook-Antwort im Feld sessionInfo.parameters.

Durch Interaktion mit der API können Sitzungsparameterwerte festgelegt werden. Weitere Informationen finden Sie im Anfragefeld queryParams.parameters der detectIntent-Methode in der

Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:

Protokoll V3beta1
REST Sitzungsressource
RPC Sitzungsoberfläche

Sitzungsparameter abrufen

Interaktionen mit der API geben Sitzungsparameterwerte zurück Siehe das Antwortfeld queryResult.parameters der detectIntent-Methode in der

Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:

Protokoll V3beta1
REST Sitzungsressource
RPC Sitzungsoberfläche

Die empfangenden Sitzungsparameterwerte von Webhook. Weitere Informationen finden Sie in der Webhook-Anfrage im Feld sessionInfo.parameters.

Parameterverteilung

Wenn eine Endnutzereingabe einen Parameterwert bereitstellt, kann der Parameter an andere Ebenen weitergegeben werden:

  • Wenn ein Intent-Parameter durch eine Intent-Übereinstimmung festgelegt wird, werden ähnliche Formularparameter für die aktive Seite auf denselben Wert gesetzt. Der Entitätstyp des Parameters wird durch die Intent-Parameterdefinition festgelegt.
  • Wenn ein Intent-Parameter durch einen Intent-Abgleich festgelegt wird oder ein Formularparameter beim Ausfüllen eines Formulars festgelegt wird, wird der Parameter zu einem Sitzungsparameter.