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 festlegen: Während der Laufzeit führt der Conversational Agents (Dialogflow CX)-Dienst, Ihr Dienst, der die API aufruft, und Ihr Webhook-Dienst kann Parameterwerte festlegen. Beispiel: Der Conversational Agents-Dienst (Dialogflow CX) 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.
Parameter benennen
Für die Benennung von Parametern gelten die folgenden Regeln:
- Verwenden Sie die folgenden Zeichen:
[A-Z]
,[a-z]
,[0-9]
,.
,-
,_
- Bei Parameternamen wird nicht zwischen Groß- und Kleinschreibung unterschieden.
Daher behandeln Conversational Agents (Dialogflow CX)
Apple
undapple
als denselben Parameter. Der Webhook und der API-Clientcode sollten auch Parameternamen als nicht Groß- und Kleinschreibung behandeln, da es für Dialogflow CX-Namen keine Garantie gibt. - Wenn Sie Parameter mit derselben ID oder demselben Anzeigenamen in verschiedenen Intents oder Formularen erstellen, müssen der Entitätstyp und andere Einstellungen für alle Definitionen gleich sein. Wenn sich der Entitätstyp oder andere Parametereinstellungen unterscheiden, verwenden Sie für jede Definition eine eindeutige Parameter-ID oder einen eindeutigen Anzeigenamen.
Parameterwerttypen
Parameterwerte unterstützen mehrere Werttypen. Im Abschnitt Sitzungen unten wird Folgendes beschrieben: wie auf die einzelnen Parameterwerttypen verwiesen wird. Die folgenden Typen werden unterstützt:
Typ | Beschreibung |
---|---|
Skalar | Ein einzelner numerischer oder Stringwert. |
Zusammengesetzte Indexe | Ein JSON-Objekt, das durch Abgleich einer zusammengesetzten Entität oder durch Ausfüllen eines Intent-Parameters ausgefüllt wird, der die Felder original und resolved enthält. |
Liste | Eine Liste von Skalar- oder zusammengesetzten Werten, die für einen als Liste konfigurierten Parameter ausgefüllt werden. Weitere Informationen finden Sie unten im Abschnitt Ist Liste. |
Leere Strings und Nullwerte als Parameter
Sie können Stringparameterwerte auf ""
festlegen, wodurch der Parameter auf den leeren String gesetzt wird.
Sie können jeden Parameterwert auf null
setzen, was bedeutet, dass der Parameter nicht festgelegt wurde.
Ursprüngliche Parameterwerte
Wird einer bestimmten Entität während der Laufzeit ein Text zugeordnet, wird dieser oft in einen Wert aufgelöst, der eine einfachere Verarbeitung erlaubt. Beispiel: Das Wort „Äpfel“ in Endnutzereingabe wird möglicherweise als „Apfel“ aufgelöst für ein Obstunternehmen.
Alle Werttypen für Intent-Parameterverweise können entweder auf den ursprünglichen oder den aufgelösten Wert verweisen.
Nur zusammengesetzte Werttypen für Referenzen zu Sitzungsparametern auf den ursprünglichen Wert verweisen kann.
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.
- Im Log entfernen: Wenn der Wert "true" ist, werden vom Endnutzer bereitgestellte Parameterdaten entfernt.
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.
Sie können entweder auf den ursprünglichen Wert oder auf den aufgelösten Wert 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.
Intent-Parameter festlegen
Wenn eine Endnutzereingabe zur Laufzeit einem Intent zugeordnet wird, wird jeder von einer Anmerkung verwendete Parameter für die zugehörige Trainingsformulierung von Conversational Agents (Dialogflow CX) 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.
Weitere Informationen finden Sie im Feld queryResult.parameters
der Methode detectIntent
für den Typ Session
.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Sitzungsressource | Sitzungsressource |
RPC | Sitzungsschnittstelle | 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 |
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. Der Agent erfasst diese Parameter in der auf der Seite definierten Reihenfolge. 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.
Folgende Daten werden verwendet, um Formularparameter zu definieren:
Name der Konsolenoption | API-Feldkette | Beschreibung |
---|---|---|
Anzeigename | Page.form.parameters[].displayName |
Ein Name zur Identifizierung des Parameters. |
Entitätstyp | Page.form.parameters[].entityType |
Entity (Entität): Der Entitätstyp für den Parameter. |
Erforderlich | Page.form.parameters[].required |
Gibt an, ob der Parameter erforderlich ist. Erforderliche Parameter müssen ausgefüllt werden, bevor das Ausfüllen des Formulars abgeschlossen ist. Der Agent fordert den Endnutzer auf, Werte einzugeben. Weitere Informationen finden Sie unten im Abschnitt Formularparameter festlegen. |
Standardwert (nur sichtbar, wenn Erforderlich deaktiviert ist) | Page.form.parameters[].defaultValue |
Der Standardwert eines optionalen Parameters. Weitere Informationen finden Sie unten im Abschnitt Formularparameter festlegen. |
Is list | Page.form.parameters[].isList |
Wenn "true", wird der Parameter als Liste von Werten behandelt. |
Im Log entfernen | Page.form.parameters[].redact |
Bei Einstellung auf "true" werden vom Endnutzer bereitgestellte Parameterdaten entfernt. |
Erstauftragsausführung | Page.form.parameters[].fillBehavior.initialPromptFulfillment |
Erste Aufforderungen in Form von Auftragsausführung, um einen erforderlichen Parameterwert vom Endnutzer anzufordern. Weitere Informationen finden Sie unten im Abschnitt Formularparameter festlegen. |
Event-Handler für erneute Eingabeaufforderungen | Page.form.parameters[].fillBehavior.repromptEventHandlers |
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. Wenn keine Ereignis-Handler für die erneute Eingabeaufforderung definiert sind, wird der Nutzer nach einem fehlgeschlagenen Versuch noch einmal mit den ursprünglichen Prompts aufgefordert. |
DTMF | Nicht verfügbar | Weitere Informationen finden Sie im Abschnitt DTMF weiter unten. |
Formularparameter definieren und verwalten
Formularparameter werden bei der Erstellung einer Seite zur Entwurfszeit definiert.
So ändern Sie die Reihenfolge der Formularparameter über die Console: Klicken Sie auf der Seite auf den Titel des Abschnitts Parameter. und ziehen Sie Parameterzeilen in die Parametertabelle.
Um einen Formularparameter zu löschen, Klicken Sie auf der Seite auf den Titel des Abschnitts Parameter. die Maus über einen Parameter bewegen, und klicken Sie dann auf die Schaltfläche delete löschen.
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
Formularparameterwerte können auf verschiedene Arten festgelegt werden. In den folgenden Unterabschnitten werden die einzelnen Mechanismen zum Festlegen von Formularparameterwerten beschrieben.
Standardparameterwerte
Sie können Standardwerte für optionale Formularparameter angeben. Wenn das Ausfüllen des Formulars beginnt, werden alle nicht festgelegten optionalen Formularparameter auf ihre Standardwerte gesetzt. Diese Werte können mit einigen der folgenden Mechanismen initialisiert oder überschrieben werden.
Wenn ein Parameter erforderlich ist, wird sein Standardwert ignoriert.
Formular ausfüllen
Konversations-Agenten (Dialogflow CX) legen automatisch Parameterwerte fest, die der Endnutzer während des Ausfüllens eines Formulars angegeben hat. Der Agent erfasst die erforderlichen Parameter in der auf der Seite definierten Reihenfolge. Der Agent fordert den Endnutzer auf, die erforderlichen Werte mithilfe der anfänglichen Eingabeauftragsausführung für jeden erforderlichen Parameter einzugeben. Optionale Parameter lösen keine Aufforderungen aus.
Wenn ein erforderlicher Parameterwert nicht vom Endnutzer nach einer Agent-Eingabeaufforderung bereitgestellt wird, wird die erste Eingabeaufforderung wiederholt, es sei denn, in den Handlern für erneute Eingabeaufforderungen ist ein anderes Verhalten definiert. Wenn mehrere anfängliche Texteingaben definiert sind, entspricht das Agent-Verhalten dem Verhalten von Antworttexten der Auftragsausführung.
Weitergabe von Intent- und Sitzungsparametern
Wenn ein Parameter eines beliebigen Typs zur Laufzeit festgelegt wird, wird er in die Sitzung geschrieben und wird zu einem Sitzungsparameter.
Wenn eine Seite erstmalig aktiv wird und während ihres aktiven Zeitraums, wird jeder Formularparameter mit demselben Namen wie ein Sitzungsparameter automatisch auf den Sitzungsparameterwert gesetzt.
Dies kann mit einem zugeordneten Intent-Parameter in einer Intent-Route oder Parameterverteilung auftreten.
Die Intent- und Sitzungsparameterverteilung ist der einzige Mechanismus, um optionale Formularparameter auf Werte aus der Endnutzereingabe festzulegen. Dieser Mechanismus kann jedoch auch die erforderlichen Formularparameterwerte festlegen oder überschreiben.
Voreinstellungen für Auftragsausführungsparameter
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. Eine Voreinstellung für einen Auftragsausführungsparameter überschreibt einen Parameterwert, einschließlich der Standardwerte von Parametern.
Webhook-Parametereinstellung
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.
Weitere Informationen finden Sie im Feld queryResult.parameters
der Methode detectIntent
für den Typ Session
.
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 |
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
Handler für erneute Eingabeaufforderungen, auch als Event-Handler auf Parameterebene bezeichnet, werden verwendet, um das Verhalten von komplexen Parametern für erforderliche Parameter zu definieren. Handler für die erneute Eingabeaufforderung können beispielsweise verwendet werden, um die Eingabeaufforderung zu ändern, wenn der Endnutzer nach der ersten Eingabeaufforderung keinen Wert angibt, und um nach einer fehlgeschlagenen N-Eingabe zu einer anderen Seite zu wechseln.
Wenn keine Handler für die erneute Eingabeaufforderung definiert sind, wird die erste Eingabeaufforderung verwendet, um den Endnutzer nach Bedarf noch einmal aufzufordern.
Macht der Endnutzer unerwartete Eingaben, wird ein Ereignis vom Typ sys.no-match-*
oder sys.no-input-*
aufgerufen und alle für diese Ereignisse definierten Handler für die erneute Eingabeaufforderung werden aufgerufen.
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
Die Verweise können auch in folgenden Tools verwendet werden:
- Webhook-Headerwerte für die Authentifizierung.
- Flexible Webhook-Anfragen zum Senden von Parameterwerten an einen Webhook.
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 denzip-code
-Mitgliedswert als$session.params.location.zip-code
verweisen.So greifen Sie auf den ursprünglichen Wert eines Parameters mit dem Entitätstyp „Composite“ zu:
$session.params.parameter-id.original
Um auf das vollständige Objekt eines Parameters mit einem zusammengesetzten Entitätstyp zuzugreifen, verwenden Sie die IDENTITY-Systemfunktion.
Liste
So greifen Sie auf eine vollständige Liste der Elemente zu:
$session.params.parameter-id
Beispiel: Wenn die Listenparameter-ID
colors
lautet und die aus einer Nutzerabfrage extrahierten Werte["red", "blue", "yellow"]
sind, können Sie mit$session.params.colors
auf alle Werte verweisen.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 Conversational Agents (Dialogflow CX) 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 im Feld sessionInfo.parameters
in der
Standard-Webhook-Antwort
oder schauen Sie sich
flexible Webhook-Antwort aus.
Durch Interaktion mit der API können Sitzungsparameterwerte festgelegt werden.
Weitere Informationen finden Sie im Feld queryParams.parameters
der Anfragemethode detectIntent
für den Typ Session
.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Sitzungsressource | Sitzungsressource |
RPC | Sitzungsoberfläche | Sitzungsschnittstelle |
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 |
Sitzungsparameter abrufen
Interaktionen mit der API geben Sitzungsparameterwerte zurück
Weitere Informationen finden Sie im Feld queryResult.parameters
der Methode detectIntent
für den Typ Session
.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Sitzungsressource | Sitzungsressource |
RPC | Sitzungsschnittstelle | 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 |
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.
DTMF für Telefonieintegrationen
Sie können DTMF (Dual-Tone-Multifrequenzsignalisierung) für einen Parameter aktivieren und konfigurieren. Nach der Aktivierung kann ein Endnutzer für einen Agent, der eine Telefonie verwendet, Integration kann Parameterwerte über die Telefontastatur bereitstellen.
Zur Vermeidung von Mehrdeutigkeit kann die DTMF-Eingabe sowohl in normalen als auch in DTMF-spezifischen Formen (empfohlen) interpretiert werden:
- Die normale Form ist einfach die Keypad-Werte, die vom Endnutzer eingegeben werden.
z. B.
123#
. - Die DTMF-spezifische Form konvertiert die Eingabe in
dtmf_digits_[digits]
, wobei[digits]
die ursprünglichen DTMF-Ziffern sind, wobei*
durchstar
und#
durchpound
ersetzt wird. Beispiel:123#
wird alsdtmf_digits_123pound
interpretiert.
Beim Abgleich von Entitätstypen für einen Parameter versucht Dialogflow CX, sowohl die normalen als auch die DTMF-spezifischen Formen abzugleichen.
Wenn ein Entitätstyp für die DTMF-Eingabe verwendet wird, sollten Sie Synonyme wie dtmf_digits_123
definieren, um den NLU-Abgleich zu verbessern.
Wenn die DTMF-Eingabe die Beendigungsbedingung nicht erfüllt (entweder nicht die maximale Ziffernlänge erreicht hat oder nicht bis zum Ende beendet wurde. Ziffer), wartet der Conversational Agents (Dialogflow CX)-Agent weiterhin auf weitere Eingaben. Wenn in diesem Zeitraum das Zeitlimit ohne Sprache ausgelöst wird, ruft der Agent stattdessen ein Ereignis ohne Eingabe auf. Wenn nur eine Sprachäußerung erkannt wird, stimmt der Agent mit der Spracheingabe überein. Wenn sowohl die Sprach- als auch die DTMF-Eingabe erkannt werden, wird die Spracheingabe verworfen und nur die DTMF-Eingabe berücksichtigt.
So aktivieren und passen Sie DTMF für einen Parameter an:
Console
- Aktivieren Sie Erweiterte Einstellungen in den Agent-Sprach- und IVR-Einstellungen, falls Sie diese noch nicht aktiviert haben.
- Erstellen Sie einen Seitenparameter.
- Wählen Sie im Parameterbereich die Option DTMF aktivieren aus.
- Legen Sie für Maximale Ziffern die maximale Anzahl von Ziffern fest, die der Endnutzer für diesen Parameter angeben kann.
- Setzen Sie Ziffer beenden auf den Keypad-Wert, der die DTMF-Eingabe für den Parameter beendet.
Für diese Einstellung ist die Verwendung von
#
üblich. Die Zielziffer wird der Conversational Agents-Abfrage (Dialogflow CX) des Agents nicht hinzugefügt. Wenn die Zielziffer also # und die Eingabe 123# ist, ist die eigentliche Abfrageeingabe wird „123“ sein
Beim Erstellen Ihres Agents können Sie DTMF-Eingabe im Simulator testen.
Intelligente Endpunktverwaltung
Wenn die intelligente Weiterleitung für den Kundenservicemitarbeiter aktiviert ist, können Sie das Verhalten der intelligenten Weiterleitung für einen numerischen Parameter anpassen.
- Legen Sie die Mindestanzahl von Ziffern fest, um zu signalisieren, dass der intelligente Endpunkt warten soll, bis alle Ziffern gesammelt.
- Richte Transkripte korrigieren ein, um die Spracherkennung von Ziffern zu verbessern. häufig vorkommende Ziffern-Transkriptionsfehler. Dies wird nur für Anfragen unterstützt die den Sprachcode „en“ oder „en-*“ angeben.
- Legen Sie mit Wartezeit fest, wie lange Konversations-Agenten (Dialogflow CX) zusätzlich warten, bis der Nutzer weitere Eingaben macht.
Parameter auf Flussebene
Parameter auf Flussebene können definiert werden als Voreinstellungen für Auftragsausführungsparameter oder Formparameter. Auf diese Parameter kann nur verwiesen werden, während der Ablauf, in dem sie definiert sind, aktiv und nicht in den Sitzungsparametern enthalten.
Verwenden Sie die folgende Syntax, um einen Parameter auf Flussebene zu definieren oder darauf zu verweisen:
$flow.parameter-name
Beispiel:
Wenn der Parametername date
ist,
können Sie den Parameter als $flow.date
definieren oder darauf verweisen.
Die Verwendung eines $
-Präfixes bei der Definition von Parametern unterscheidet sich von anderen Parametertypen, bei denen $
nicht für Parameterdefinitionen verwendet wird.
Beispiel für eine ablaufbezogene Parameterdefinition:
Lifetime-Wert des Parameterwerts auf Flussebene
Das kommt zwar selten vor, aber in fortgeschrittenen Fällen müssen Sie möglicherweise wissen, wie Parameterwerte auf Ablaufebene beibehalten werden, (oder verworfen) wenn ein Ablauf inaktiv wird, dann wieder aktiv.
Gibt an, ob Parameterwerte auf Ablaufebene beibehalten werden, wenn ein Ablauf inaktiv wird, dann wieder aktiv ist, hängt davon ab, Flow Stack und instances im Stack weiterleiten.
- Wenn Ablauf A mit Ablauf B in Ablauf B übergeht, ein bestimmtes Übergangsziel, Flow A (übergeordneter Ablauf) bleibt auf dem Stack, Ablauf A behält seine ablaufbezogenen Parameterwerte bei, und eine neue Instanz des Ablaufs B (untergeordneter Ablauf) wird dem Stack hinzugefügt.
- Wenn ein untergeordneter Ablauf mithilfe eines symbolischer Übergangsziel (z. B. END_FLOW), wird der untergeordnete Ablauf aus dem Stack entfernt. werden alle untergeordneten Parameterwerte mit Ablaufebene verworfen. Alle übergeordneten Parameterwerte auf Ablaufebene bleiben erhalten.
- Wenn Sie eine Reihe von Übergängen mit bestimmten Übergangszielen verwenden, kann der Flussstack mehrere Instanzen eines Ablauftyps enthalten. Jede Instanz des Ablauftyps hat eindeutige Parameterwerte auf Ablaufebene. Beispiel: A1 -> B1 -> C1 -> B2 wobei A, B und C Flusstypen sind, und die Zahlen stehen für Instanzen dieser Ablauftypen. In diesem Beispiel B1 und B2 unterschiedliche Instanzen von Fluss B sind, und eindeutige ablaufbezogene Parameter haben.
Beispiele:
Übergänge | Ergebnis |
---|---|
Ablauf A (A1) wird aktiv. Ablauf B (B1) wird über ein bestimmtes Umstellungsziel aktiviert. Ablauf B wechselt über ein symbolisches Umstellungsziel zurück zu Ablauf A (A1), der ihn gestartet hat. |
Bei Ablauf A bleiben die Parameterwerte erhalten. |
Ablauf A (A1) wird aktiv. Ablauf B (B1) wird über ein bestimmtes Umstellungsziel aktiviert. Ablauf B geht mit einem bestimmten Übergangsziel zu einer neuen Instanz von Ablauf A (A2) über. |
Die neue Instanz von Ablauf A (A2) oben im Stack hat keinen Zugriff auf die Parameterwerte von Ablauf A (A1) unten im Stack. |
Ablauf A (A1) wird aktiv. Ablauf B (B1) wird über ein bestimmtes Umstellungsziel aktiviert. Ablauf A (A1) wird über ein symbolisches Umstellungsziel aktiviert. Ablauf B (B2) wird mit einem bestimmten Übergangsziel aktiv. |
Ablauf B (B2) behält keine Parameterwerte bei, die festgelegt wurden, während er nach dem zweiten Übergang (B1) aktiv war. |
Parameter auf Anfrageebene
Parameter auf Anfrageebene sind kurzlebige Parameter, die von Conversational Agents (Dialogflow CX) erstellt werden. Auf sie kann nur während des Lebenszyklus der aktuellen Anfrage verwiesen werden. Sie werden nicht in den Sitzungsparametern festgehalten.
Parameter auf Anfrageebene werden von Konversations-Agents (Dialogflow CX) für die folgenden Funktionen generiert.
Integrierte Parameter
Sie können auf die verschiedenen Daten zugreifen, die mit der Anfrage verknüpft sind:
Referenz | Beschreibung |
---|---|
$request.agent-id | Die Kennung des Kundenservicemitarbeiters. |
$request.session-id | Die ID der Sitzung. |
$request.language | Der in QueryInput.language_code angegebene Sprachcode. |
$request.resolved-language | Der tatsächliche Sprachcode, der vom Agent während der Verarbeitung verwendet wird. Die ermittelte Sprache kann von der in der Anfrage angegebenen Sprache abweichen. Wenn der Kundenservicemitarbeiter beispielsweise nur „en“ unterstützt, in der Anfrage aber „en-US“ angegeben ist, wird „en“ als Sprache ermittelt. |
$request.user-utterance | Die aktuelle Nutzeräußerung, die in der Anfrage angegeben ist. |
$request.last-agent-utterance | Die letzte vom Agenten gesendete Äußerung. |
Benutzerdefinierte Nutzlast
Wenn QueryParameters.payload
festgelegt ist, können Sie über $request.payload.param-id
auf den entsprechenden Parameter zugreifen.
Sentimentanalyse
Wenn die Sentimentanalyse aktiviert ist, sind die folgenden Sentimentreferenzen verfügbar:
Referenz | Typ | Beschreibung |
---|---|---|
$request.sentiment.score | Zahl | Stimmungswert zwischen -1,0 (negative Stimmung) und 1,0 (positive Stimmung). |
$request.sentiment.magnitude | Zahl | Gibt die allgemeine Stärke der (sowohl positiven als auch negativen) Stimmung zwischen 0,0 und +inf an. Anders als der „Score“-Wert ist dieser Wert nicht angepasst. Jeder Ausdruck von Stimmung in der Endnutzereingabe, ob positiv oder negativ, trägt zum Magnitude-Wert bei. Längere Eingaben können eine höhere Größe haben. |
$request.sentiment.succeeded | Boolesch | „True“, wenn die Stimmungsanalyse erfolgreich war, andernfalls „false“. |
Entfernen von Parametern
Für jeden Intent oder Formularparameter
können Sie das Entfernen
von Parametern aktivieren,
Dadurch werden Laufzeitparameterdaten des Endnutzers aus Logs entfernt.
und den internen Speicher der Conversational Agents (Dialogflow CX).
Entfernende Parameter werden in Logs als $parameter-name_redacted
angezeigt.
Beispiel: Der Endnutzer gibt "My address is 1600 Amphitheatre Parkway" ein. Dies führt dazu, dass ein Address-Parameter an "1600 Amphitheatre Parkway" gesendet wird. Der protokollierte Text lautet "My address is $address_redacted".
So aktivieren Sie die Parameterentfernung:
Console
Klicken Sie beim Erstellen oder Aktualisieren eines Parameters das Kästchen Redlog im Log entfernen an.
API
Setzen Sie das Feld parameters[].redact
für den Typ Intent
auf "true".
Wählen Sie ein Protokoll und eine Version für die Intent-Referenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Intent-Ressource | Intent-Ressource |
RPC | Intent-Oberfläche | Intent-Oberfläche |
C++ | IntentsClient | Nicht verfügbar |
C# | IntentsClient | Nicht verfügbar |
Go | IntentsClient | Nicht verfügbar |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | Nicht verfügbar | Nicht verfügbar |
Python | IntentsClient | IntentsClient |
Ruby | Nicht verfügbar | Nicht verfügbar |
Setzen Sie das Feld form.parameters[].redact
für den Typ Page
auf "true".
Wählen Sie ein Protokoll und eine Version für die Seitenreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Seitenressource | Seitenressource |
RPC | Seitenoberfläche | Seitenoberfläche |
C++ | PagesClient | Nicht verfügbar |
C# | PagesClient | Nicht verfügbar |
Go | PagesClient | Nicht verfügbar |
Java | PagesClient | PagesClient |
Node.js | PagesClient | PagesClient |
PHP | Nicht verfügbar | Nicht verfügbar |
Python | PagesClient | PagesClient |
Ruby | Nicht verfügbar | Nicht verfügbar |
Als Alternative können Sie alle Parameter eines bestimmten Entitätstyps entfernen.