https://d226lax1qjow5r.cloudfront.net/blog/blogposts/choose-your-own-adventure-with-vonage-ai-studio/vonageaistuido.png

Wählen Sie Ihr eigenes Abenteuer mit Vonage AI Studio

Zuletzt aktualisiert am August 2, 2022

Lesedauer: 10 Minuten

Vonage AI Studio ist eine no-code/low-code Plattform zur Erstellung von Konversationsabläufen über verschiedene Kommunikationskanäle. Es verwendet eine Drag-and-Drop-Schnittstelle, um Module und Aktionen zu komplexen Abläufen zu verbinden, die Prozesse automatisieren und mit vielen verschiedenen Diensten verbinden können. Die Konversationsabläufe von AI Studio basieren auf den proprietären Algorithmen von Vonage AI zum Verstehen natürlicher Sprache (Natural Language Understanding, NLU), um Konversationsinteraktionen zu ermöglichen, bei denen Benutzer in "natürlicher Sprache" kommunizieren können, ohne bestimmte Schlüsselwörter verwenden, aus einer Liste von Optionen auswählen oder ihre Fragen auf eine bestimmte Weise formulieren zu müssen.

AI Studio ist bereits seit einiger Zeit in der Developer Preview verfügbar. Seit kurzem ist es allgemein verfügbar, was sehr aufregend ist, und ich wollte diese Tatsache hervorheben, indem ich über einige seiner Fähigkeiten schreibe. Es gab mehrere Ansätze, die ich hätte wählen können, z. B. den Aufbau eines "realen" Kundendienstes. Für diesen Artikel wollte ich jedoch etwas anderes ausprobieren und einige der Funktionen von AI Studio auf unterhaltsame und interessante Weise erkunden.

Als ich jünger war, habe ich gerne Bücher gelesen, in denen man sein eigenes Abenteuer wählen kann. Diese Bücher folgten nicht einer linearen Erzählstruktur, sondern erlaubten es einem, an bestimmten Punkten der Geschichte Entscheidungen zu treffen und dann je nach Entscheidung zur entsprechenden Seite im Buch zu blättern. Ich dachte, es wäre vielleicht cool, mit AI Studio meine eigene "Choose your own adventure"-Geschichte zu entwickeln.

Book cover from 'The Warlock of Firetop Mountain' depicting a dragon and a wizard'The Warlock of Firetop Mountain' book cover

Agenten

Innerhalb der AI Studio-Schnittstelle wird jeder Konversationsfluss als "Agent" erstellt. Je nach Anwendungsfall stehen verschiedene Arten von Agenten zur Verfügung, z. B. Voice, SMS, WhatsApp und HTTP.

A screenshot of the Agent Creation step in Vonage AI Studio showing the channel selection options: Telephony, WhatsApp, SMS, HTTP AI Studio screenshot: Agent Creation

Für meine "Wähle dein eigenes Abenteuer"-Geschichte habe ich mich entschieden, einen Voice-Agenten zu erstellen. Die Voice-Agenten von AI Studio kombinieren die firmeneigene automatische Spracherkennung (ASR) von Vonage mit den NLU-Fähigkeiten des Unternehmens, um naturalistische Sprachinteraktionen zu ermöglichen.

Bei der erstmaligen Erstellung eines Agenten müssen mehrere Einstellungen vorgenommen werden, z. B. der Agentenname, das Land, die Sprache und die Zeitzone.

Bei Voice-Agenten müssen Sie zusätzlich die Stimme auswählen, mit der Ihr Agent "sprechen" soll, indem Sie die Text-to-Speech-Funktionen von AI Studio nutzen. Bei der Erstellung der verschiedenen Elemente Ihres Gesprächsflusses besteht jedoch auch die Möglichkeit, stattdessen Audioaufnahmen zu verwenden.

A screenshot of the Agent setup step in Vonage AI Studio showing the selection options: Region, Agent Name, Language, Voices, Time ZoneAI Studio screenshot: Agent Set up

Erfahren Sie mehr über Agenten.

Strömungen

Flows sind Kombinationen aus verschiedenen Konversationsknoten, die auf dem AI Studio Canvas per Drag-and-Drop miteinander verbunden werden.

A screenshot of one of the flows (the intro flow) for my AI Studio agent. Shows various conversation nodes connected together on the AI Studio canvas to form a conversational flowAI Studio screenshot: Intro flow

Sie können alle Knoten für Ihren gesamten Ablauf auf derselben Arbeitsfläche platzieren. Bei großen, komplexen Abläufen kann es jedoch sinnvoller sein, sie in Teilabläufe aufzuteilen. Das ist der Ansatz, den ich für meine Geschichte gewählt habe, die aus vier Hauptteilen besteht. Es gibt einen Hauptablauf, der den Rahmen für das Abenteuer vorgibt. Am Ende dieses Flusses erreicht die Geschichte eine "Weggabelung" und der Abenteurer muss sich für einen Weg entscheiden. An dieser Stelle habe ich ein paar Unterströme geschaffen, wobei die Weggabelung entweder zu einem Flussstrom oder einem Waldstrom führt. Diese beiden Teilströme laufen dann für den letzten Teil des Abenteuers im Schlossstrom wieder zusammen.

A screenshot of part of an AI Studio conversational flow, showing a conversation node linked to two sub-flow nodesAI Studio screenshot: sub-flows

Sie erstellen und verwalten Subflows auf der Registerkarte "Flows" im AI Studio-Menü.

A screenshot of the Flows tab of the AI Studio menu showing the already created sub-flows (Forest Path, Castle, and River Road) as well as an 'Add flow' buttonAI Studio screenshot: Flows tab of the menu

In einem realen Szenario könnten Sie Subflows für verschiedene Geschäftsfunktionen erstellen, auf die ein Kunde zugreifen möchte, z. B. Verkauf, Support, Rechnungsstellung usw.

Erfahren Sie mehr über Strömungen.

Konversationsknoten

Wie bereits erwähnt, sind Flows Kombinationen aus verschiedenen Gesprächsknoten, die miteinander verbunden sind. Es gibt verschiedene Arten von Konversationsknoten, die jeweils einen bestimmten Zweck innerhalb des gesamten Konversationsflusses erfüllen. Werfen wir einen Blick auf einige von ihnen.

A screenshot of the Conversation Nodes tab of the AI Studio menu with buttons for the different types of Conversation nodes (Classification, Collect Input, Speak, Conditions, Listen)AI Studio screenshot: Conversation Nodes tab

Der Startknoten

Alle Geschichten haben einen Anfang, und alle Gesprächsabläufe in AI Studio benötigen einen Startknoten. Startknoten dienen nicht nur als Ausgangspunkt für Ihren Ablauf, sondern ermöglichen Ihnen auch, bestimmte Optionen für den gesamten Ablauf festzulegen. Die genauen Optionen, die Sie hier auswählen können, hängen von der Art des Ablaufs ab. Bei einem Voice Call Flow können Sie den Anruf aufzeichnen und einen Webhook einrichten, der auf ein Ereignis reagiert, bei dem die Verbindung unterbrochen wird. Beides ist für meine Abenteuergeschichte nicht notwendig, daher habe ich den Knoten nur als Ausgangspunkt verwendet.

A screenshot of the setup options for the AI Studio Start node (Record Call, Call Disconnected Webhook)AI Studio screenshot: Start Node setup

Knotenpunkt sprechen

Der Sprechknoten dient dazu, dem Anrufer Informationen zu geben. Beim Einrichten des Knotens haben Sie die Möglichkeit, entweder Text einzugeben, der mit der von Ihnen eingestellten Stimme über die Text-to-Speech-Funktionen von AI Studio vorgelesen wird, oder echte Sprache aufzunehmen.

Da es in meinem "Abenteuerfluss" in erster Linie darum geht, eine spannende Geschichte zu erzählen, habe ich mich an mehreren Stellen des Flusses stark auf diesen Knotenpunkt gestützt, um Szenen zu setzen und verschiedene Teile der Erzählung zu beschreiben.

A screenshot showing an example of the AI Studio Speak node, showing the 'Text to Speech' tab with some text from the conversational flow.AI Studio screenshot: Speak Node

Erfahren Sie mehr über den Speak-Knoten.

Eingabeknoten sammeln

Dies ist einer der wichtigsten Knotentypen, die für den Aufbau eines Konversationsflusses zur Verfügung stehen. AI Studio Konversationsabläufe sind im Wesentlichen Interaktionen zwischen zwei Parteien - dem Benutzer und dem KI-Agenten. Bei jeder Interaktion müssen beide Parteien einen Beitrag leisten können, und genau hier kommt der Knoten "Eingabe sammeln" ins Spiel.

Mit diesem Knoten können Sie im Wesentlichen einen Parameter erstellen und eine Eingabe vom Benutzer sammeln, die als Wert für diesen Parameter festgelegt wird. Sie legen einen Parameternamen und eine Eingabeaufforderung fest, bei der es sich im Wesentlichen um eine Frage oder Aussage handelt, die dem Benutzer eine Antwort entlocken soll. Sie können auch eine bestimmte Anzahl von Wiederholungsversuchen für die Beantwortung der Frage zulassen und haben die Möglichkeit, eine bestimmte Wiederholungsaufforderung zu verwenden.

In meiner Geschichte habe ich diesen Knoten an mehreren Stellen verwendet, an denen der Protagonist bestimmte Entscheidungen treffen muss, z. B. ob er die Aufgabe annehmen soll, welche Abzweigung er nehmen soll, ob er ein verlassenes Gebäude erkunden soll oder nicht usw. In der realen Welt gibt es viele Szenarien, in denen Sie Eingaben von einem Benutzer einholen wollen oder müssen, von der Frage, warum er Ihr Unternehmen kontaktiert, bis hin zur Einholung spezifischer Informationen wie einer Bestellung, einer Kontonummer oder einiger Kontaktangaben.

A screenshot showing an example of the AI Studio Collect Input node, showing Parameter field with 'QUEST_ACCEPTANCE' set as the parameter name, and the Prompts field with 'Are you ready to go on a quest?' set as the prompt text.AI Studio screenshot: Collect Input Node

Erfahren Sie mehr über den Knoten Eingabe sammeln.

Wenn Sie als Teil eines Konversationsflusses Eingaben sammeln, die eine Art von Benutzerwahl darstellen, dann in der Regel deshalb, weil Sie den Fluss als Reaktion auf diese Wahl in eine bestimmte Richtung lenken wollen. Die Art und Weise, wie ein AI Studio-Agent die Benutzereingaben bewertet und darauf reagiert, wird mit Hilfe von Bedingungsknoten oder Klassifizierungsknoten festgelegt, und darin liegt ein Großteil der "Magie" von AI Studio. Die Benutzereingabe wird als Parameter festgelegt, der dann im Kontext von Bedingungen und Klassifizierungsknoten verwendet wird.

Klassifizierungsknoten

Der Klassifizierungsknoten ist eine Möglichkeit zu bestimmen, was als Reaktion auf eine Benutzereingabe zu tun ist. In Ihrem Ablauf folgt er in der Regel auf einen Collect Input-Knoten. Klassifizierungsknoten eignen sich hervorragend für einen natürlichen Konversationsfluss, da sie die Auswahlmöglichkeiten des Benutzers nicht auf eine sehr spezifische Gruppe von Werten beschränken (denken Sie an IVRs mit Optionen wie "Sagen Sie '1' für den Vertrieb, '2' für den Support...." usw.), ermöglichen sie es dem Benutzer, auf natürliche Weise zu sprechen, z. B. mit "Support", "Kundensupport", "die Kundendienstabteilung" oder sogar "ich brauche Hilfe". Die Aufgabe des Klassifizierungsknotens ist es dann, auf der Grundlage dieser Benutzereingabe herauszufinden, was zu tun ist. Dies geschieht durch die Verwendung von Intents.

Beabsichtigt

Eine Möglichkeit, sich Absichten vorzustellen, ist eine allgemeine Erwartung, was ein Benutzer als Antwort auf eine bestimmte Frage oder Situation sagen könnte. Jede Absicht umfasst einen bestimmten Anwendungsfall oder eine Aktion und besteht aus mehreren Benutzerausdrücken oder Dingen, die ein Benutzer sagen könnte, um diese Aktion oder diesen Anwendungsfall vorzuschlagen.

In meiner Abenteuergeschichte habe ich Klassifizierungsknoten und Absichten sehr stark für die verschiedenen Entscheidungspunkte verwendet, die während der Erzählung auftreten. Zum Beispiel muss der Abenteurer entscheiden, ob er ein verlassenes Gebäude erkunden will. Innerhalb des Klassifizierungsknotens für diese Entscheidung verwende ich mehrere Absichten: eine, die Behausung zu untersuchen, und eine, auf der Straße zu bleiben.

A screenshot showing an example of the AI Studio Classification Node, showing a Classification Parameter field with 'INVESTIGATE_DWELLING' set as the parameter name, and the Intents field with 'Investigate Dwelling' and 'Stay on Road' set as the intents..AI Studio screenshot: Classification Node

Dieser Knoten enthält die verschiedenen Absichten, die die möglichen Reaktionen des Benutzers auf die Situation abdecken, und jede Absicht enthält verschiedene Ausdrücke, die diese Absicht nahelegen können.

A screenshot showing an example of an AI Studio Intent, showing the name of the Intent 'Investigate Dwelling' and various User Expressions that make up the intent such as 'Investigate building', 'Investigate house', 'Explore dwelling', etc.AI Studio screenshot: Intent setup

Erfahren Sie mehr über Klassifizierungsknoten und Beabsichtigungen.

Bedingungen Knoten

Bedingungsknoten ähneln vom Zweck her den Klassifizierungsknoten - sie bestimmen eine Aktion auf der Grundlage von Benutzereingaben -, aber sie verwenden einen anderen zugrunde liegenden Mechanismus, um dies zu tun: Entitäten.

Entitäten

Eine Entität ist im Wesentlichen eine Liste von Werten und ihren Synonymen. Sie sind nützlich für Situationen, in denen ein Benutzer etwas aus einer Gruppe bestimmter Dinge auswählen muss, es aber möglicherweise verschiedene Wörter für jedes Ding gibt. Wenn zum Beispiel jemand seine T-Shirt-Größe angibt, könnte er entweder "groß" oder "groß" sagen, um dasselbe zu meinen, oder "extragroß" und "XL" sind synonym.

Für meinen Abenteuerablauf habe ich hauptsächlich Klassifizierungsknoten und Absichten statt Bedingungsknoten und Entitäten verwendet, da die Situationen, in denen sich mein Abenteurer befindet, ein offeneres Ende haben und durch Absichten besser abgedeckt werden. An einigen Stellen, an denen es sinnvoll war, habe ich jedoch auch Bedingungsknoten verwendet. Einer davon war die Bestimmung der Optionen, die für den Angriff auf den Drachen zur Verfügung standen.

A screenshot showing an example of an AI Studio Conditions node, called 'Attack Option', with conditions such as 'User has bow' and 'User has Potion' branching off to different paths in the conversation flowAI Studio screenshot: Conditions Node

Die Logik dieses Knotens basiert auf Bedingungen, die durch den Wert bestimmter Parameter für Gegenstände bestimmt werden, die der Benutzer während des Abenteuers aufgesammelt hat.

A screenshot showing an the setup step for the  'Attack Option' Conditions node, listing the 'User has bow' and 'User has Potion' Entities that make up this condition AI Studio screenshot: Conditions Node setup

A screenshot showing an the setup for the 'User has bow' Entity with a Parameter of 'QUEST_BOW' an Operation of 'is equal to' and a Value of 'True'AI Studio screenshot: Entity

Erfahren Sie mehr über Bedingungen Knoten und Entitäten.

Andere Knotentypen

Die Knoten "Sprechen", "Eingabe erfassen", "Bedingungen" und "Klassifizierung" sind die "Hauptdarsteller" der AI Studio-Konversationsabläufe, und die meisten Abläufe werden in erster Linie mit diesen vier Knotentypen erstellt. Es gibt jedoch Situationen, in denen Sie zusätzliche Funktionen benötigen, die von diesen Knoten nicht bereitgestellt werden können. Glücklicherweise stellt AI Studio eine Reihe von spezialisierten Knoten zur Verfügung. Ich habe einige von ihnen in meinem Ablauf verwendet, also sehen wir sie uns an!

Parameter einstellen Knoten

Wir haben Parameter bereits kurz im Zusammenhang mit Collect Input-Knoten kennengelernt. In diesen Knoten wurde der Wert des Parameters entsprechend einer Benutzereingabe festgelegt. Es gibt jedoch Situationen, in denen Sie stattdessen einen bestimmten Wert in einem Parameter festlegen möchten.

In meinem Abenteuerablauf gibt es Situationen, in denen der Protagonist Gegenstände aufheben kann, die ihm bei seiner Suche helfen. Für diese Situationen habe ich den Knoten "Parameter setzen" verwendet, um die Tatsache festzuhalten, dass der Gegenstand aufgenommen wurde.

A screenshot showing an the setup for a Set Parameter node, in this case the 'Pick Up Bow' parameter with a Parameter name of 'QUEST_BOW' and a Value of 'True'AI Studio screenshot: Set Parameter Node

Erfahren Sie mehr über Parameter-Knoten setzen.

SMS senden Knotenpunkt

Der SMS-Knoten dient zum Senden einer SMS-Nachricht an einen Benutzer. Sie müssen ihm eine Nummer (einschließlich Landesvorwahl) und eine zu sendende Nachricht mitteilen.

In der Praxis kann dies nützlich sein, um z. B. Links zu Hilfeseiten oder Dokumentationen als Antwort auf bestimmte Anfragen zu versenden.

In meiner Geschichte habe ich diesen Knotenpunkt an einer Stelle verwendet, an der der Abenteurer ein geheimes Passwort benötigt, um das Schloss zu betreten. Er bekommt das Passwort per SMS zugeschickt und muss es dann als Antwort auf eine Eingabeaufforderung sagen, um die Schlosstüren zu öffnen.

A screenshot showing an the setup for a Send SMS node, in this case the Send Secret Password part of the flow, showing the From, To, and Body fieldsAI Studio screenshot: Send SMS Node

Es gibt auch einen Knoten "E-Mail senden", der einen ähnlichen Zweck erfüllt.

Erfahren Sie mehr über den Knoten SMS senden und E-Mail senden Knoten.

Benutzerdefinierter Code-Knoten

AI Studio ist größtenteils eine No-Code-Lösung, die es jedem ermöglicht, mit der intuitiven Drag-and-Drop-Oberfläche ohne Programmierkenntnisse leistungsstarke und voll funktionsfähige Konversationsabläufe einzurichten. Es gibt jedoch bestimmte Situationen, in denen Sie einen Parameterwert auf der Grundlage einer spezifischen, benutzerdefinierten Logik festlegen oder manipulieren möchten. Hier kommt der Knoten Custom Code ins Spiel!

Mit dem Knoten Benutzerdefinierter Code können Sie JavaScript-Code verwenden, um einen bestimmten Wert zu erzeugen, der dann als Wert eines Ausgabeparameters festgelegt wird, der an anderer Stelle in Ihrem Ablauf verwendet werden kann.

Ich habe den Knoten "Benutzerdefinierter Code" an einigen Stellen in meiner Abenteuergeschichte verwendet. An einer dieser Stellen wollte ich führende Nullen (falls vorhanden) aus der vom Benutzer angegebenen Handynummer und der Landesvorwahl entfernen und sie dann zu einem einzigen Wert kombinieren und einem Ausgabeparameter zuweisen, den ich dann im Knoten SMS senden verwenden konnte, um das geheime Kennwort zu senden.

A screenshot showing an the setup for a Custom Code Node, in this case the Set SMS Number part of the flow, which uses Javascript type conversion to removing leading zeroes from the values of the $MOBILE_NUMBER and $COUNTRY_CODE paramters, and then combines them into a single ouput parameter SMS_TO_NUMBERAI Studio screenshot: Custom Code Node

Eine weitere Verwendung des Knotens "Benutzerdefinierter Code" in meinem Ablauf bestand darin, einen Würfelwurf während eines Kampfes mit dem Drachen zu imitieren.

A screenshot showing an the setup for a Custom Code Node, in this case the Roll Dice part of the flow, which uses Math.random to determine the outcome of a battle with the dragon, and then sets the result as the value of the output parameter DRAGON_DEFEATEDAI Studio screenshot: Custom Code Node

Es gibt viele andere potenzielle Anwendungsfälle für den Knoten Custom Code.

Erfahren Sie mehr über den Knoten Benutzerdefinierter Code.

Kontextwechsel-Knoten

Der Kontextwechselknoten tut genau das, was sein Name andeutet - er schaltet den Kontext vom aktuellen in einen völlig anderen um. Ein realer Anwendungsfall könnte sein, dass ein Kunde einen automatisierten Ablauf durchläuft, um eine Bestellung zu verfolgen oder vielleicht einige Details seines Kontos zu aktualisieren, aber an jedem beliebigen Punkt in diesen strukturierten Abläufen kann er sagen: "Ich möchte mit jemandem sprechen" und der Ablauf kann unterbrochen und der Anruf des Kunden stattdessen an einen Agenten weitergeleitet werden.

Wie der Knoten Klassifizierung arbeitet auch der Knoten Kontextwechsel auf der Grundlage von Intents.

In meinem Fluss habe ich mir eine Situation vorgestellt, in der die Reise durch unheimliche Wälder, die Erkundung verlassener Gebäude oder der Kampf gegen Drachen ein wenig überwältigend werden könnte, so dass sich der Abenteurer jederzeit dafür entscheiden kann, zurück in die Sicherheit des Dorfes zu fliehen!

A screenshot showing an example of a flow starting with a context switch node. In this case the flow begins with the 'Run away!' context switch node, followed by a Speak node and then an End Call node AI Studio screenshot: Context Switch Node

Erfahren Sie mehr über den Kontextwechsel-Knoten.

Anruf beenden Knotenpunkt

Alle Geschichten und Anrufe müssen irgendwann zu einem Ende kommen. Der Zweck des Knotens "End Call" ist die Beendigung des Anrufs. Bei einem Voice Call-Ablauf müssen Sie einen End Call-Knoten am Ende jedes "Zweigs" Ihres Ablaufs platzieren.

Erfahren Sie mehr über den Knoten "Anruf beenden.


Hast du Lust auf ein Abenteuer, bei dem du durch verwunschene Wälder wandern, Feen begegnen und gegen Drachen kämpfen kannst? Dann probiere meinen AI Studio Voice Flow aus, indem du eine der folgenden Nummern anrufst:

  • UK: +44 (0)7418 371898

  • US: +1 (0)201 464 3585

  • AUS: +61 (0)485828854

Viel Spaß und viel Glück bei deinem Abenteuer!

Vielleicht möchten Sie Ihren eigenen Gesprächsfluss mit Vonage AI Studio erstellen. Der Einstieg ist denkbar einfach! Loggen Sie sich ein in das Vonage Dashboard und greifen Sie auf das AI Studio.

Es gibt auch mehrere Knoten und Integrationen, die ich in meinem Ablauf nicht verwendet habe, daher habe ich sie in diesem Artikel nicht besprochen. Weitere Informationen zu diesen und zur Verwendung von AI Studio im Allgemeinen finden Sie in der AI Studio-Dokumentation.

Wir freuen uns immer über die Beteiligung der Gemeinschaft. Sie können sich uns gerne auf dem Vonage Community Slack oder senden Sie uns eine Nachricht auf Twitter.

Teilen Sie:

https://a.storyblok.com/f/270183/373x376/e8d3211236/karl-lingiah.png
Karl LingiahRuby-Entwickler Advocate

Karl ist Developer Advocate bei Vonage und kümmert sich um die Wartung unserer Ruby Server SDKs und die Verbesserung der Entwicklererfahrung für unsere Community. Er liebt es zu lernen, Dinge zu entwickeln, Wissen zu teilen und alles, was allgemein mit Webtechnologie zu tun hat.