In dieser Anleitung erfahren Sie, wie Sie mit der Dialogflow CX-Konsole einen einfachen Agent für Hemdbestellungen mithilfe von Abläufen erstellen und testen. Bei der Interaktion mit diesem Agent können Sie nach dem Filialstandort und den Öffnungszeiten fragen und eine Hemdbestellung aufgeben.
Der fertige Agent für diese Anleitung wird von der Konsole so dargestellt:
Hinweis
Bevor Sie diese Anleitung lesen, sollten Sie mit Folgendem vertraut sein:
- Grundlagen von Abläufen
- Einrichtungsschritte ausführen
Agent erstellen
Erstellen Sie einen neuen Agent für diese Anleitung:
- Öffnen Sie die Dialogflow CX Console.
- Erstellen Sie ein Projekt oder wählen Sie ein Projekt aus.
- Klicken Sie auf Agent erstellen.
- Wählen Sie Eigene erstellen aus.
- Füllen Sie das Formular für die grundlegenden Agent-Einstellungen aus.
- Sie können einen beliebigen Anzeigenamen wählen.
- Wählen Sie den bevorzugten Standort aus. Klicken Sie auf die Schaltfläche Bearbeiten, wenn Sie die erweiterten Standorteinstellungen ändern möchten.
- Wählen Sie Ihre bevorzugte Zeitzone aus.
- Wählen Sie die Standardsprache für Ihren Agent aus.
- Aktivieren Sie optional Stackdriver Logging.
- Klicken Sie auf Speichern.
Optionaler Agent-Import
In dieser Anleitung wird gezeigt, wie Sie einen einfachen Agent für die Bestellung von T-Shirts erstellen. Wenn Sie die Schritte mit der Console überspringen möchten, können Sie den Agent herunterladen und importieren.
Standardablauf und -Intents
Der folgende Ablauf und folgende Intents werden automatisch für neue Agents erstellt. Um die Intents zu lokalisieren, klicken Sie auf Verwalten und dann auf Intents. Sie können den Ablauf durch einen Klick auf Erstellen lokalisieren.
Begriff | Definition |
---|---|
Standard-Begrüßungs-Intent | Der Standard-Begrüßungs-Intent enthält einfache Trainingsformulierungen wie "Hi" oder "Hallo", die den anfänglichen Endnutzereingaben entsprechen sollen. Sie können diesen Intent nach Bedarf bearbeiten. |
Standardmäßig auszuschließender Intent | Der standardmäßig auszuschließende Intent kann als Trainingsformulierung für diesen Intent als negatives Beispiel hinzugefügt werden. |
Standardstartablauf | Der Standardstartablauf kann als einziger Ablauf verwendet werden. Nur dieser Ablauf wird in der Anleitung genutzt. Für komplexere Agents können Sie weitere Abläufe hinzufügen. Dieser Ablauf hat eine Standard-Intent-Route mit dem Standard-Begrüßungs-Intent als Intent-Anforderung. |
Standardmäßige Begrüßungsnachricht testen
Der Standardablauf und die Intents können eine einfache Unterhaltung nur mit einer Begrüßungsnachricht verarbeiten. So testen Sie den neuen Agent:
- Klicken Sie auf die Schaltfläche Agent testen, um den Simulator zu öffnen.
- Geben Sie
hello
in das Texteingabefeld ein und drücken Sie die Eingabetaste. - Der Agent antwortet mit einer standardmäßigen Begrüßung.
- Schließen Sie den Simulator.
Der Agent hat für diese Endnutzereingabe folgende Schritte ausgeführt:
- Bei der Bereitstellung einer Eingabe war der Standardstartablauf der aktive Ablauf und die Ablaufstartseite die aktive Seite. Alle Zustands-Handler, die auf den aktiven Ablauf angewendet wurden, waren im Bereich, sodass der Agent sie ausgewertet hat.
- Eine der ausgewerteten Routen hat den Standard-Begrüßungs-Intent als Intent-Anforderung. Da Ihre Eingabe mit diesem Intent übereinstimmt, wurde die Route aufgerufen.
- Die aufgerufene Route hat mehrere Antwortnachrichten der Auftragsausführung. Der Agent hat eine zufällig ausgewählt und der Antwortwarteschlange hinzugefügt.
- Die aufgerufene Route hat kein Umstellungsziel, sodass sich der aktive Ablauf und die Seite nicht geändert haben.
- Der Agent hat mit dem Inhalt der Antwortwarteschlange geantwortet.
Begrüßungsnachricht bearbeiten
Diese Begrüßungsnachricht können Sie ändern. So bearbeiten Sie die Begrüßungsantwort:
- Klicken Sie auf den Tab Erstellen.
- Wählen Sie im Abschnitt Abläufe den Standardstartablauf aus.
- Klicken Sie in der Grafik auf den Knoten Start. Dies ist die Startseite für den Standardstartablauf.
- Suchen Sie die Intent-Route mit dem Standard-Begrüßungs-Intent als Intent-Anforderung und klicken Sie darauf. Daraufhin wird ein Fenster geöffnet, in dem Sie die Informationen zur Intent-Route bearbeiten können.
- Suchen Sie den Abschnitt "Auftragsausführung" und löschen Sie alle Antwortnachrichten. Fügen Sie dann
Hello, this is a shirt ordering virtual agent. How can I help you?
als einzige Antwort hinzu. - Klicken Sie auf Speichern.
- Schließen Sie das Bearbeitungsfeld für Intent-Routen.
Aktualisierte Begrüßungsnachricht testen
So testen Sie die aktualisierte Antwort:
- Klicken Sie auf die Schaltfläche Agent testen, um den Simulator zu öffnen.
- Geben Sie
hello
in das Texteingabefeld ein und drücken Sie die Eingabetaste. - Der Agent antwortet mit der neuen Nachricht.
- Schließen Sie den Simulator.
Seite "Filialstandort"
Eine Unterhaltung (Sitzung) in Conversational Agents (Dialogflow CX) kann als Zustandsmaschine beschrieben und dargestellt werden. Die Zustände einer CX-Sitzung werden durch Seiten dargestellt. Bisher haben Sie nur eine Seite, der Agent ist also noch nicht sehr nützlich. In diesem Abschnitt erstellen Sie eine weitere Seite zur Verarbeitung von Fragen zum Filialstandort.
Standort-Intent erstellen
Ein Intent kategorisiert die Absicht eines Endnutzers für eine Unterhaltungsrunde. So erstellen Sie einen Intent, der zugeordnet wird, wenn die Endnutzereingabe den Filialstandort anfordert:
- Wählen Sie den Tab Verwalten.
- Klicken Sie auf Intents.
- Klicken Sie auf Erstellen.
- Geben Sie
store.location
für den Intent-Anzeigenamen ein. - Geben Sie die folgenden Trainingsformulierungen ein:
Where is the store?
Directions
Tell me the address
Where do I pick up my order?
How do I get there?
Where is the store located?
What street are you on?
What is your address?
How do I get to your store?
Where are you located?
- Klicken Sie auf Speichern.
Standortseite erstellen
Erstellen Sie nun die neue Seite. Sie können dieser Seite eine Eingabeauftragsausführung hinzufügen, die immer dann aufgerufen wird, wenn die Seite aktiv wird. Diese Eingabeauftragsausführung sollte eine Antwortnachricht mit dem Standort des Geschäfts enthalten. So erstellen Sie die Seite mit dem Standort des Geschäfts:
- Klicken Sie auf den Tab Erstellen.
- Wählen Sie im Abschnitt Abläufe den Standardstartablauf aus.
- Klicken Sie im Abschnitt Seiten auf die Schaltfläche "add hinzufügen". Ein Texteintrag für den Seitennamen wird angezeigt.
- Geben Sie
Store Location
für den Namen der Seite ein und drücken Sie die Eingabetaste. - Klicken Sie auf Schaltfläche "Optionen" more_vert neben dem Seitennamen.
- Wählen Sie Bearbeiten aus, um den Bearbeitungsbereich für die Seite zu öffnen.
- Suchen Sie Ausführung für Eingabe und klicken Sie auf Ausführung bearbeiten.
- Geben Sie
Our store is located at 1007 Mountain Drive, Gotham City, NJ.
in das Feld Agent sagt ein. - Klicken Sie auf Speichern.
- Schließen Sie den Bearbeitungsbereich.
Standort-Intent-Route zum Ablauf hinzufügen
Erstellen Sie jetzt eine Route mit der Filialstandortseite als Umstellungsziel. Wenn diese Route aufgerufen wird, wechselt die Sitzung zur Seite mit dem Filialstandort. Diese Route wird auf den Standardstartablauf angewendet und ist somit innerhalb des Bereichs, solange der Ablauf aktiv ist. Für einen Agent mit nur einem Ablauf bedeutet dies, dass die Route immer im Bereich liegt. Der Endnutzer kann während der Unterhaltung jederzeit den Filialstandort abfragen und diese Route wird aufgerufen.
So erstellen Sie diese Route:
- Klicken Sie auf den Tab Erstellen.
- Wählen Sie im Abschnitt Abläufe den Standardstartablauf aus.
- Klicken Sie in der Grafik auf den Knoten Start. Dies ist die Startseite für den Standardstartablauf.
- Fügen Sie die folgende Intent-Route hinzu:
- Intent:
store.location
- Seitenübergang:
Store Location
- Intent:
- Klicken Sie auf Speichern.
- Schließen Sie das Bearbeitungsfeld für Intent-Routen.
Wenn Sie den Bearbeitungsbereich schließen, sehen Sie, dass die neue Seite der Grafik als Knoten hinzugefügt wurde. Der Pfeil vom Knoten Start zum Knoten Filialstandort gibt an, wie die Sitzung von Knoten zu Knoten wechselt.
Seite "Filialstandort" testen
So testen Sie Ihre Seite:
- Klicken Sie auf die Schaltfläche Agent testen, um den Simulator zu öffnen.
- Geben Sie
What is the store location?
ein und drücken Sie die Eingabetaste. - Der Agent stellt die Adresse bereit.
- Schließen Sie den Simulator.
Der Agent hat für diese Endnutzereingabe folgende Schritte ausgeführt:
- Bei der Bereitstellung einer Eingabe war der Standardstartablauf der aktive Ablauf und die Ablaufstartseite die aktive Seite. Alle Zustands-Handler, die auf den aktiven Ablauf angewendet wurden, waren im Bereich, sodass der Agent sie ausgewertet hat.
- Eine der ausgewerteten Routen hat store.location als Intent-Anforderung. Da Ihre Eingabe mit diesem Intent übereinstimmt, wurde die Route aufgerufen.
- Die aufgerufene Route enthält keine Antwortnachrichten der Auftragsausführung. Aus diesem Grund wurden keine Antworten zur Antwortwarteschlange hinzugefügt.
- Die aufgerufene Route hat ein Umstellungsziel. Daher wurde die Seite Filialstandort zur aktiven Seite.
- Die Seite Filialstandort enthält eine Eingabeauftragsausführung und die Antwortnachricht für die Auftragsausführung (die Adresse) wurde der Antwortwarteschlange hinzugefügt.
- Der Agent hat mit dem Inhalt der Antwortwarteschlange geantwortet.
Seite" Öffnungszeiten" mit Inline-Erstellung
In diesem Abschnitt erstellen Sie eine Seite mit Öfnungszeiten, die Endnutzerfragen zu Öffnungszeiten beantworten. In den vorherigen Abschnitten haben Sie Seiten und Intents auf den Tabs Erstellen und Verwalten generiert. In diesem Abschnitt erfahren Sie, wie Sie solche Typen schneller mit der Inline-Erstellung generieren.
So erstellen Sie eine Intent-Route, einen Intent und eine Seite:
- Klicken Sie in der Grafik auf den Knoten Start.
- Klicken Sie auf die Schaltfläche zum Hinzufügen add der Intent-Route. Das Bearbeitungsfeld für die Intent-Route wird geöffnet.
- Wählen Sie im Abschnitt Intent die Option Neuer Intent aus. Das Bearbeitungsfeld für den Intent wird geöffnet.
Erstellen Sie einen
store.hours
-Intent mit folgenden Trainingssätzen:What are your store hours?
What time do you close?
Klicken Sie auf Speichern, um den Intent zu speichern. Das Bearbeitungsfeld für Intents wird geschlossen.
Scrollen Sie im Bearbeitungsfeld für die Intent-Route zum Abschnitt Umstellung.
Wählen Sie für den Seitenübergang die Option Neue Seite aus.
Geben Sie
Store Hours
in das nun angezeigte Texteingabefeld ein.Klicken Sie auf Speichern. Die neue Seite wird in der Grafik angezeigt, da nun eine Umstellung zu ihr vorhanden ist.
Schließen Sie das Bearbeitungsfeld für Intent-Routen.
Fügen Sie eine Auftragsaufführung hinzu, die die Öffnungszeiten enthält. Der Vorgang ähnelt dem zur Definition eines Standorts.
Schließen Sie alle geöffneten Bearbeitungsfelder.
Seite "Bestellartikel"
Als Nächstes erstellen Sie eine Seite mit Formularparametern. Wenn der Endnutzer eine neue T-Shirt-Bestellung eingibt, wird in der Sitzung zu dieser Seite gewechselt. Wenn diese Seite aktiv ist, werden darin Größe und Farbe der T-Shirt-Bestellung erfasst.
Benutzerdefinierten Entitätstyp für Hemdgröße erstellen
Entitätstypen steuern, wie Daten aus Endnutzereingaben extrahiert werden. Conversational Agents (Dialogflow CX) stellt vordefinierte Systementitäten bereit, die mit vielen gängigen Datentypen übereinstimmen. So gibt es beispielsweise Systementitäten für den Abgleich von Datumsangaben, Uhrzeiten, Farben und E-Mail-Adressen. Sie können auch eigene benutzerdefinierte Entitäten erstellen, um benutzerdefinierte Daten zuzuordnen.
Für diesen Agent können Sie eine Systementität für die Hemdfarbe verwenden. Allerdings müssen Sie eine benutzerdefinierte Entität für die Hemdgröße erstellen. Der Entitätstyp für die Größe sollte die folgenden Entitätseinträge enthalten:
Entity | Synonyme |
---|---|
klein | klein, winzig, schmal |
Mittel | mittel, normal, Durchschnitt |
groß | groß, breit, extragroß |
So erstellen Sie diese Entität:
- Wählen Sie den Tab Verwalten.
- Klicken Sie auf Entitätstypen.
- Klicken Sie auf +Erstellen.
- Legen Sie für den Anzeigenamen
size
fest. - Fügen Sie die Entitätseinträge aus der Tabelle oben hinzu.
- Klicken Sie auf Speichern.
Bestell-Intent mit Intent-Parametern erstellen
Sie benötigen einen Intent, der zugeordnet wird, wenn der Endnutzer eine neue Hemdbestellung anfordert. Der Intent sollte außerdem optional die gewünschte Hemdfarbe und/oder -größe erfassen, falls der Endnutzer diese Informationen im Voraus bereitstellt.
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.
Sie steuern, wie Endnutzerdaten mit Intent-Zuordnungen extrahiert werden. Dazu werden Teile Ihrer Trainingsformulierungen annotiert und die zugehörigen Intent-Parameter konfiguriert.
Stellen Sie sich beispielsweise eine Trainingsformulierung wie "Wie ist die Wettervorhersage für morgen in Tokio?" vor.
Sie sollten "morgen" mit einem Parameter date
und "Tokio" mit einem Parameter location
annotieren.
Wenn Sie Teile einer Trainingsformulierung annotieren, erkennt Dialogflow CX, dass diese Teile nur Beispiele für tatsächliche Werte sind, die von Endnutzern zur Laufzeit bereitgestellt werden.
Für eine Endnutzereingabe wie "Wie ist die Wettervorhersage für Sydney am Freitag?"
Conversational Agents (Dialogflow CX) würden den Parameter date
aus „Freitag“ und den Parameter location
aus „Sydney“ extrahieren.
So können Sie eine Trainingsformulierung mit der Konsole annotieren:
- Wählen Sie den Teil der Trainingsformulierung aus, den Sie annotieren möchten.
- Wählen Sie den gewünschten Entitätstyp aus der Liste aus.
- In der Parametertabelle unten wird ein Parameter erstellt.
Erstellen Sie einen Intent mit den zuvor beschriebenen Schritten.
Geben Sie diesem Intent den Namen order.new
.
Für jede Formulierung mit einer Farbe versehen Sie die Farbe mit einem color
-Parameter und mit dem @sys.color
-Systementitätstyp.
Für jede Formulierung mit einer T-Shirt-Größe versehen Sie die Größe mit einem size
-Parameter und mit dem benutzerdefinierten Entitätstyp @size
, den Sie in den vorherigen Schritten erstellt haben.
Die Trainingsformulierungen und -parameter sollten in etwa so aussehen:
Bestellseite erstellen
Erstellen Sie eine Seite für neue Bestellungen ähnlich den vorherigen Schritten:
- Anzeigename:
New Order
- Eingabeauftragsausführung:
Ok, let's start a new order.
Ein Formular zur Bestellseite hinzufügen
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.
Wenn ein Endnutzer Intent-Parameter für eine Intent-Zuordnung bereitstellt, werden die Intent-Parameter zu Sitzungsparameter. Wenn eine Seite erstmalig aktiv wird, werden alle Formularparameter mit gleichnamigen Sitzungsparametern vorausgefüllt. Wenn also der Endnutzer bei der Zuordnung des Intents order.new die Größe oder Farbe angibt, werden diese Werte automatisch in das Formular übernommen.
Für die Seite für neue Bestellungen müssen zwei erforderliche Formularparameter definiert werden:
Erforderlich | Anzeigename | Entitätstyp | Is list | Eingabeaufforderung |
---|---|---|---|---|
Farbe | @sys.color | Welche Farbe wünschen Sie? | ||
Größe | @size | Welche Größe wünschen Sie? |
So fügen Sie dieses Formular hinzu:
- Klicken Sie in der Grafik auf die Seite Neue Bestellung.
- Klicken Sie auf die Schaltfläche zum Hinzufügen add von Parametern. Das Bearbeitungsfeld für Parameter wird geöffnet.
- Fügen Sie die Parameter wie in der Tabelle oben beschrieben hinzu.
- Klicken Sie auf Speichern.
- Schließen Sie das Bearbeitungsfeld für Parameter.
Bestell-Intent-Route zum Ablauf hinzufügen
Fügen Sie dem Standardstartablauf ähnlich wie bei den oben beschriebenen Schritten eine Route hinzu. Diese Route sollte aufgerufen werden, wenn der Endnutzer eine neue Bestellung aufgeben möchte:
- Intent: order.new
- Umstellungszielseite: Neue Bestellung
Seite "Bestätigung"
Mit der letzten Seite wird die Bestellung bestätigt und die Sitzung beendet.
Bestätigungsseite erstellen
Erstellen Sie eine Bestätigungsseite mit einer Antwort, die die Sitzungsparameter verwendet, um die Bestellung zu bestätigen:
- Anzeigename:
Order Confirmation
- Eingabeauftragsausführung:
You can pick up your order for a $session.params.size $session.params.color shirt in 7 to 10 business days. Goodbye.
Bedingungsrouten zur Bestellseite hinzufügen
Sie können auch Bedingungen verwenden, um zu bestimmen, ob eine Route aufgerufen wird. Bedingungen werden üblicherweise verwendet, um zu prüfen, ob ein Formular vollständig ist. Sie können auch so konfiguriert werden, dass sie immer bei der Auswertung aufgerufen werden.
Informationen zum Festlegen von Bedingungen in der Konsole finden Sie in der Dokumentation zum Festlegen von Bedingungen.
Fügen Sie der Bestellseite die folgende Route hinzu, die nach dem Ausfüllen des Formulars für die Bestellseite aufgerufen wird. Beachten Sie, wie in dieser Bedingungsroute Parameterverweise in der Antwort an den Endnutzer verwendet werden und wie die Sitzung zur Seite Bestellbestätigung wechselt.
- Condition (Bedingung):
$page.params.status = "FINAL"
- Agent sagt:
You have selected a $session.params.size, $session.params.color shirt.
- Seitenübergang:
Order Confirmation
Fügen Sie folgende Route der Auftragsseite hinzu, die für jede Unterhaltung geöffnet wird, in der die Seite aktiv ist und die Bedingungsroute ausgewertet wird. Wenn obige Bedingung ausgewertet und aufgerufen wird, wird die Seite inaktiv. Die true-Bedingungsroute wird also nicht ausgewertet:
- Condition (Bedingung):
true
- Agent sagt:
I'd like to collect a bit more information from you.
Bedingungsroute zum Beenden der Sitzung erstellen
Fügen Sie die folgende Bedingungsroute auf der Seite Bestellung bestätigen hinzu, um die Sitzung zu beenden, sobald sie aktiv ist und die zugehörige Auftragsausführung verarbeitet wurde:
- Condition (Bedingung):
true
- Umstellungsziel: Seite:
End Session
Fertiggestellten Agent testen
Testen Sie den Agent mit dem folgenden Dialog:
Dialog | Erklärung |
---|---|
Endnutzer: Hallo Agent: Hallo, dies ist ein virtueller Kundenservicemitarbeiter für eine Hemdbestellung. Wie können wir Ihnen helfen? |
|
Endnutzer:Ich möchte ein blaues Hemd kaufen Agent: Ok, starten wir eine neue Bestellung. Agent: Ich brauche noch ein paar Informationen. Agent: Welche Größe möchten Sie? |
|
Endnutzer: groß Agent: Sie haben ein großes blaues T-Shirt ausgewählt. Agent: Sie können Ihre Bestellung für ein großes blaues T-Shirt in 7 bis 10 Werktagen abholen. Auf Wiedersehen. |
|
Produktion
Bevor Sie den Agent in der Produktion ausführen, sollten Sie die Best Practices für die Produktion implementieren.