1. Übersicht
Zuletzt aktualisiert: 10.10.2023
Aufgaben
In diesem Codelab verwenden Sie Vertex AI Conversation und Dialogflow CX zum Erstellen, Bereitstellen und Konfigurieren eines virtuellen Kundenservicemitarbeiters. Dieser soll Blutspender unterstützen und prüfen, ob sie die entsprechenden Voraussetzungen erfüllen. Der KI-Agent verwendet bei der Ausführung von Dialogflow CX echte öffentlich zugängliche Daten und die generativen Large Language Models (LLMs) von Google.
Welche Funktionen Sie verwenden
In diesem Codelab konfigurieren und verwenden Sie drei verschiedene Funktionen:
Datenspeicher-Agenten
Mit Vertex AI Conversation wird ein spezieller Dialogflow-Agent erstellt, der als Datenspeicher-Agent bezeichnet wird.
Mit dieser Funktion stellen Sie eine Website-URL, strukturierte oder unstrukturierte Daten (Datenspeicher) bereit. Google parst die Inhalte, um einen virtuellen Agenten zu erstellen, der auf Datenspeichern und Large Language Models basiert. Ihre Kunden und Endnutzer können dann mit dem Agenten interagieren und Fragen zu den Inhalten stellen. Informationen zu diesem Agent-Typ finden Sie in der Einführung in Vertex AI Conversation.
Generatoren
Die Generatorfunktion ist eine Dialogflow CX-Funktion, mit der Entwickler die neuesten generativen Large Language Models (LLMs) von Google und benutzerdefinierte Prompts verwenden können, um Agentenantworten zur Laufzeit zu generieren. Ein Generator kann allgemeine Antworten erstellen, die auf allgemeinem Wissen aus einem großen Text-Dataset basieren, mit dem er trainiert wurde, oder auf dem Kontext der Unterhaltung.
Generativer Fallback
Die generative Fallback-Funktion verwendet die neuesten generativen Large Language Models (LLMs) von Google, um Antworten für virtuelle Agenten zu generieren, wenn die Nutzereingabe keinem Intent oder Parameter zum Ausfüllen von Formularen entspricht. Die Funktion kann mit einem Text-Prompt konfiguriert werden, der dem LLM mitteilt, wie es reagieren soll. Sie können einen vordefinierten Text-Prompt verwenden oder eigene Prompts hinzufügen. Sie können generativen Fallback für Event-Handler mit fehlender Übereinstimmung aktivieren, die in Abläufen, auf Seiten oder während der Parameterausfüllung verwendet werden. Wenn der generative Fallback für ein „No-Match“-Ereignis aktiviert ist, versucht Dialogflow, wenn dieses Ereignis ausgelöst wird, eine generierte Antwort zu erstellen, die dem Nutzer vorgelesen wird. Wenn die Antwortgenerierung nicht erfolgreich ist, wird stattdessen die reguläre vorgeschriebene Agent-Antwort ausgegeben. Wenn Sie mehr über den generativen Fallback erfahren möchten, probieren Sie dieses Codelab aus.
Lerninhalte
- Datenspeicher-Agent aus unstrukturierten Daten erstellen
- Knowledge-Handler verwenden, um Endnutzern die Möglichkeit zu geben, sich mit einem virtuellen Agenten über die Inhalte zu unterhalten, die einem Datenspeicher hinzugefügt wurden
- Textprompt für einen Generator konfigurieren und anhand integrierter Platzhalter für Generator-Prompts einem Kontext zuordnen
- Wörter als Platzhalter für Generator-Prompts markieren und später mit Sitzungsparametern in der Auftragsausführung verknüpfen, um ihre Werte während der Ausführung zu verwenden
- So konfigurieren Sie einen Generator, um Antworten zu verarbeiten, die Wissen aus einem großen Text-Dataset sowie Kontext aus der aktuellen Unterhaltung enthalten.
- Mit Generatoren eine formelle E‑Mail erstellen
- KI-Agent testen und Kundenfragen simulieren, die generierte Antworten auslösen
Voraussetzungen
- Google Cloud-Projekt
- Ein Browser wie Chrome
2. APIs aktivieren
Bevor Sie einen Datenspeicher-Agenten in Vertex AI Conversation erstellen können, müssen Sie die Dialogflow- sowie die Vertex AI Search and Conversation API aktivieren.
So aktivieren Sie die Dialogflow API:
- Rufen Sie in Ihrem Browser die Seite mit den Dienstdetails zur Dialogflow API auf.
- Klicken Sie auf die Schaltfläche Aktivieren, um die Dialogflow API in Ihrem Google Cloud-Projekt zu aktivieren.
So aktivieren Sie die Vertex AI Search and Conversation API:
- Rufen Sie in der Google Cloud Console die Vertex AI Search and Conversation-Konsole auf.
- Lesen und akzeptieren Sie die Nutzungsbedingungen und klicken Sie anschließend auf Fortfahren und API aktivieren.
3. Neue Chat-App und Datenspeicher für Ihre App erstellen
Als Nächstes erstellen Sie eine neue Chat-App für Ihren virtuellen Agenten und konfigurieren sie mit einer Datenquelle. Der Zweck des KI-Agenten besteht darin, Personen zu unterstützen, die Fragen zu ihrer Eignung für das Blutspenden haben. Sie verwenden Australian Red Cross Lifeblood als Informationsquelle und erstellen einen Datenspeicher auf Grundlage unstrukturierter Daten von der Website zur Blutspende.
- Sie haben folgende Möglichkeiten, um eine neue Chat-App in Vertex AI Conversation zu erstellen:
- Rufen Sie die Vertex AI Conversation-Konsole auf und klicken Sie oben in der Konsole auf + Neue App.
- Rufen Sie die Dialogflow CX-Konsole auf, klicken Sie auf + Neuen Agenten erstellen und wählen Sie die Option Automatisch generieren aus. Sie werden dann zum nächsten Schritt in der Vertex AI Conversation-Konsole weitergeleitet.
- Wählen Sie in der Vertex AI Conversation-Konsole Chat als Anwendungstyp aus, den Sie erstellen möchten.
- Geben Sie als Name des Unternehmens
Save a Lifeein. Mit diesem Parameter wird das Unternehmen definiert, das Ihr KI-Agent repräsentiert, sowie der Umfang Ihres KI-Agents. - Geben Sie einen Agent-Namen für
Blood Donation Agentan. - Klicken Sie auf Weiter.
- Klicken Sie auf Neuen Datenspeicher erstellen.
- Wählen Sie Cloud Storage als Datenquelle für Ihren Datenspeicher aus.
- Geben Sie den folgenden Google Cloud Storage-Ordner an, der Beispieldaten für dieses Codelab enthält. Das Präfix
gs://ist nicht erforderlich:cloud-samples-data/dialogflow-cx/arc-lifeblood - Wählen Sie Unstrukturierte Dokumente als Datentyp für den Import aus.
- Klicken Sie auf Weiter.
- Geben Sie als Name des Datenspeichers
Australian Red Cross Lifeblood Unstructuredan. - Klicken Sie auf Erstellen, um den Datenspeicher zu erstellen.
- Wählen Sie in der Liste der Datenspeicher den neu erstellten
Australian Red Cross Lifeblood Unstructuredaus. - Klicken Sie auf Erstellen, um die Chat-App zu erstellen.
Glückwunsch! Sie haben Ihre wissensbasierte Chat-App fertiggestellt, die potenziellen Spendern helfen soll.
Es ist jedoch noch einiges zu tun, damit der KI-Agent nutzbar wird. Im nächsten Abschnitt verwenden Sie einen Knowledge-Handler, um Unterhaltungen zwischen dem KI-Agenten und Endnutzenden zu den Voraussetzungen für eine Blutspende zu ermöglichen.
4. KI-Agent so konfigurieren, dass er häufig gestellte Fragen zur Blutspende beantwortet
Datenspeicher-Prompt angeben
Während der Prozess für die Dokumentensammlung im Hintergrund läuft, können wir dem KI-Agenten eine Identität zuweisen, indem wir den Datenspeicher-Prompt bearbeiten.
- Klicken Sie in der Vertex AI Conversation-Konsole auf den Namen Ihrer Chatapp. Sie werden dann zur Dialogflow CX-Konsole weitergeleitet, wo Sie weitere Tests und Anpassungen vornehmen können.
- Klicken Sie in der Dialogflow CX-Konsole in Ihrem Agenten rechts oben auf der Seite auf Agenteinstellungen, wechseln Sie zum Tab ML und öffnen Sie dann den Tab Generative KI.

- Füllen Sie das Formular wie unten angegeben aus, um den folgenden Datenspeicher-Prompt zu generieren: Dein Name ist
Donateund du bist ein hilfsbereiter und höflicherchatbotbeiSave a life, a fictitious organization. Deine Aufgabe ist es,humans with eligibility informationzu unterstützen.

Generativen Fallback für das Ereignis „Keine Übereinstimmung“ des Standardstart-Flows aktivieren
- Wechseln Sie zum Tab Erstellen und öffnen Sie die Startseite.
- Klicken Sie auf den Event-Handler sys.no-match-default. Aktivieren Sie die Funktion für den generativen Fallback, sofern das Kästchen noch nicht markiert ist.

Datenspeicher des Agents prüfen
Klicken Sie auf der Startseite auf Datenspeicher bearbeiten, um die Datenspeichereinstellungen aufzurufen.

Der Datenspeicher, den Sie zuvor erstellt haben, wurde bereits von Dialogflow für Sie ausgewählt.

Scrollen Sie unter Auftragsausführung nach unten zu Antworten des KI-Agenten. Eine Auftragsausführung ist die Antwort des KI-Agenten an Endnutzende. In Dialogflow ist Agent says bereits mit dem Parameter $request.knowledge.answers[0] gefüllt, der zur Laufzeit die beste Antwort auf die Frage des Nutzers enthält.

5. KI-Agenten testen
Sobald die Dokumente verfügbar und für Ihren KI-Agenten bereit sind, können Sie herausfinden, wie gut die Antworten sind.
Klicken Sie auf Agent testen, um den Simulator wieder zu öffnen.

Stellen Sie Fragen, die Sie auf der FAQs-Seite der Website erwarten:
What age do I need to be to donate?Can pregnant women donate?I've just come back from a trip to Africa. Can I donate?How can I schedule an appointment?

Die Antworten stammen von der Website des Australian Red Cross Lifeblood. Wie auf dieser Seite angegeben, gibt es ein Mindest- und Höchstalter für Blutspenden. Das Mindestalter für Erstspender beträgt 18 Jahre und das Höchstalter 75 Jahre. Ein weiteres Indiz dafür, dass wir Informationen aus dem Datenspeicher abrufen, ist das kleine Sternsymbol, das in der Antwort des KI-Agenten und in der ursprünglichen JSON-Antwort angezeigt wird.

Zum Schluss versuchen wir, den KI-Agenten mit einer Frage herauszufordern, die in keinem Zusammenhang mit Blutspenden steht.
Nutzer: „Wie ist das Wetter in Melbourne?“
Kundenservicemitarbeiter: „Tut mir leid, darauf habe ich keine Antwort. Wie kann ich Ihnen mit Informationen zur Berechtigung helfen?“
Diese Antwort enthält KI-generierte Inhalte und basiert auf dem Text-Prompt, den Dialogflow anhand der zuvor angegebenen Einstellung für den Wissensconnector erstellt hat: „Dein Name ist Donate und du bist ein hilfsbereiter und höflicher Chatbot bei Save a Life. Deine Aufgabe ist es, Menschen mit Informationen zur Blutspende zu unterstützen.“ Dieser Text-Prompt enthält den Namen des Unternehmens und des KI-Agenten und vor allem Informationen zu seiner Aufgabe, die von Dialogflow zum Generieren der KI-Agentenantwort verwendet werden.
Gut gemacht! Bisher nutzen Sie den Datenspeicher, um Menschen bei häufig gestellten Fragen zur Blutspende zu helfen. Im nächsten Teil des Codelabs sehen wir uns an, wie Sie einen Generatortext-Prompt an denselben Inhalt binden, um fundierte Entscheidungen zu treffen.
6. KI-Agent für das Eignungsquiz einrichten
Als Nächstes müssen wir den KI-Agenten so gestalten, dass er die Eignung einer Person für eine Blutspende feststellen kann. Für eine Blutspende müssen strenge Anforderungen erfüllt werden, zum Beispiel in Bezug auf Alter, Gewicht, Vorerkrankungen und kürzliche Reisen. In diesem Codelab werden nur Alter und Gewicht berücksichtigt. Ein Generator verwendet die Large Language Models (LLMs) von Google, um anhand des Kontexts der Unterhaltung und der Wissensdatenbank dynamisch eine fundierte Entscheidung zu treffen.
Neue Routen und Parameter konfigurieren
- Öffnen Sie die Startseite und klicken Sie auf Datenspeicher bearbeiten.
- Ändere die Antwort des vorhandenen Agents in
$request.knowledge.answers[0] Would you like to take the eligibility quiz to find out if you can donate blood, and start changing lives?.

- Klicke auf die Schaltfläche Speichern.
- Wir müssen den Agent so gestalten, dass er mit „Ja“- und „Nein“-Antworten umgehen kann. Erstellen Sie zuerst die Intents confirmation.yes und confirmation.no. Hier finden Sie Richtlinien zur Wiederverwendung von Intents.
- Erstellen Sie dann auf der Startseite eine Route für die Intention confirmation.yes, die zur neuen Seite Eignungsquiz führt.


- Wie bereits erwähnt, werden wir das Quiz vereinfachen und nur das Alter und das Gewicht des Nutzers berücksichtigen, um festzustellen, ob er für eine Spende infrage kommt. Öffnen Sie die Seite Eignungsquiz und fügen Sie einen neuen Formularparameter age-weight hinzu. Wählen Sie
@sys.anyals Entitätstyp aus. Geben Sie"What is your age and weight?"als Erstauftragsausführung an. Wir möchten sowohl das Alter als auch das Gewicht in einem Schritt erfassen. Speichere alle Änderungen.

Eignungsgenerator erstellen und konfigurieren
Die Generatorfunktion ist eine Dialogflow CX-Funktion, mit der Entwickler die neuesten generativen Large Language Models (LLMs) von Google während der Ausführung von Dialogflow CX verwenden können. Generatoren generieren Antworten des KI-Agenten zur Laufzeit. Ein Generator kann allgemeine Antworten erstellen, die auf allgemeinem Wissen aus einem großen Text-Dataset basieren, mit dem er trainiert wurde, oder auf dem Kontext der Unterhaltung.
Wir erstellen einen neuen Generator, der die von der Nutzerin oder dem Nutzer bereitgestellten Informationen, wie Alter und Gewicht, mit den Teilnahmevoraussetzungen vergleicht, um festzustellen, ob die Person Blut spenden darf.
- Rufen Sie in der Dialogflow CX-Konsole den Tab Verwalten auf, wählen Sie Generatoren aus und klicken Sie auf Neu erstellen.

- Geben Sie als Nächstes einen aussagekräftigen Anzeigenamen ein und schreiben Sie den Text-Prompt. Übernehmen Sie die Standardeinstellungen für die Modellqualitätskontrolle. Klicken Sie dann auf Speichern, um den Generator zu erstellen.
- Anzeigename:
Blood Donation Eligibility - Texteingabe:
Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. Weight should be above 50 Kg. The user age and weight is $last-user-utterance. Be nice and tell the user if they are eligible to donate (also tell them why not in case)
- Anzeigename:
Der Text-Prompt wird während der Ausführung zur Laufzeit an das generative Modell gesendet. Es sollte sich um eine klare Frage oder Anfrage handeln, damit das Modell eine zufriedenstellende Antwort generieren kann. Sie können spezielle integrierte Platzhalter für Generator-Prompts in Ihrem Text-Prompt verwenden:
$conversationDie Unterhaltung zwischen dem Agent und dem Nutzer, ohne die letzte Nutzeräußerung.$last-user-utteranceDie letzte Äußerung des Nutzers.
Der von Ihnen konfigurierte Text-Prompt erwartet, dass die Nutzerin beziehungsweise der Nutzer Alter und Gewicht in einer Unterhaltungsrunde (der `$last-user-utterance``) angibt.
Generator bei der Auftragsausführung verwenden und alle erforderlichen Parameter konfigurieren
- Fügen Sie auf der Seite Eignungsquiz eine neue Route hinzu, die ausgeführt wird, wenn alle Parameter ausgefüllt sind. Geben Sie die Bedingungsanforderung
$page.params.status = "FINAL"ein und klicken Sie auf Speichern.

- Gehen Sie im Bereich Auftragsausführung zum Abschnitt Generatoren und maximieren Sie ihn. Klicken Sie dann auf Generator hinzufügen und wählen Sie den Generator Blood Donation Eligibility aus. Nachdem Sie den Generator ausgewählt haben, müssen Sie den Ausgabeparameter definieren, der das Ergebnis des Generators nach der Ausführung enthält.

- Verwenden Sie den Ausgabeparameter in der Agent-Antwort und speichern Sie die Route. Jetzt können Sie alles testen.

7. KI-Agent noch einmal testen
Klicken Sie auf Agent testen, um den Simulator wieder zu öffnen.

Starten Sie im Simulator eine neue Unterhaltung mit dem Agent. Frage zuerst nach den Altersanforderungen und fahre dann mit dem Eignungsquiz fort. Testen Sie zuerst den Pfad „berechtigt“. Geben Sie dazu ein Alter zwischen 18 und 75 Jahren und ein Gewicht über 50 kg ein.

Prüfen Sie dann, ob die Eignungsprüfung fehlschlägt, wenn eine oder beide Anforderungen nicht erfüllt sind.

Prima, der Generator funktioniert wie erwartet. Oder doch nicht? Was passiert, wenn eine Person ihr Alter, aber nicht ihr Gewicht angibt (oder umgekehrt)?

8. Generator-Prompts abstimmen
Das Erfassen von Alter und Gewicht in einem Schritt funktioniert nur, wenn beide Informationen auch angegeben werden. Sinnvoller ist es daher, ein Formular zu erstellen, in dem beide Werte als Entitätsparameter erfasst werden. Damit der Prompt alle Teilnahmevoraussetzungen wie Alter und Gewicht berücksichtigt, können wir Platzhalter verwenden, indem wir vor dem jeweiligen Wort ein $-Zeichen einfügen. Später ordnen wir diese Platzhalter für Generator-Prompts Sitzungsparametern in der Auftragsausführung zu. Während der Ausführung werden sie durch die Werte der Sitzungsparameter ersetzt.
- Öffnen Sie die Seite Eignungsquiz und fügen Sie zwei separate Formularparameter hinzu: einen für das Gewicht und einen für das Alter. Wählen Sie
@sys.number-integerals Entitätstyp aus und markieren Sie die Parameter als erforderlich. Geben Sie die Ausführung des ersten Prompts an, zum BeispielHow old are you?undWhat is your correct weight?. Speichern Sie alle Änderungen.

- Bevor wir den Text-Prompt des Generators ändern können, um zwei neue benutzerdefinierte Platzhalter einzufügen, müssen wir den Generator zuerst aus der Routenbearbeitung entfernen. Klicken Sie auf Speichern.

- Rufen Sie den Tab Verwalten auf, wählen Sie Generatoren aus und aktualisieren Sie den Text-Prompt des Generators Blood Donation Eligibility mit folgendem Text:
Check the users eligibility against the following criteria: the minimum age is 18 and the maximum age is 75. The weight must be at least 50 kg. The user is $age years old and weighs $weight Kg. Craft an email and politely explain to the user if they're eligible to donate and if not why.. Klicken Sie auf Speichern.
Der Text-Prompt berücksichtigt jetzt die Formularparameter für Alter und Gewicht,. Außerdem wurde der letzte Satz geändert, damit eine formelle E‑Mail mit dem Ergebnis des Eignungsquiz an die Person generiert werden kann.

- Wählen Sie auf der Seite Eignungsquiz die Route aus und maximieren Sie im Bereich Auftragsausführung den Abschnitt Generatoren. Klicken Sie dann auf Generator hinzufügen und wählen Sie den Generator „Blood Donation Eligibility“ aus. Nachdem Sie den Generator ausgewählt haben, müssen Sie die neuen Prompt-Platzhalter den entsprechenden Sitzungsparametern zuordnen. Außerdem müssen Sie den Ausgabeparameter neu festlegen. Klicken Sie auf Speichern.

- Testen Sie den KI-Agenten noch einmal. Bei der Berechtigungsprüfung werden jetzt sowohl Alter als auch Gewicht berücksichtigt. Die Formulierung wurde von einem lockeren Ton zu einer höflichen Antwort geändert, die ohne menschliche Intervention gesendet werden kann.


9. Glückwunsch
Glückwunsch! Sie haben dieses Codelab abgeschlossen.

Heute haben wir uns Generatoren im Zusammenhang mit Eignungstests angesehen. Generatoren verwenden LLMs, um Antworten von KI-Agenten zu generieren. Wenn sie auf einer Wissensdatenbank basieren, können sie auch fundierte Entscheidungen treffen. Es gibt sicher viele weitere Anwendungsfälle, für die Generatoren und Datenspeicher implementiert werden können. Wir sind gespannt darauf, sie kennenzulernen.
Bereinigen
Mit den folgenden Schritten können Sie vermeiden, dass Ihrem Google Cloud-Konto die in diesem Codelab verwendeten Ressourcen in Rechnung gestellt werden:
- Löschen Sie das Projekt mit der Google Cloud Console, wenn Sie es nicht benötigen. Damit vermeiden Sie unnötige Kosten für Google Cloud.
- Wenn Sie ein vorhandenes Google Cloud-Projekt verwendet haben, löschen Sie die von Ihnen erstellten Ressourcen. So vermeiden Sie, dass Ihrem Konto Gebühren in Rechnung gestellt werden. Weitere Informationen finden Sie unter App löschen.
- Wenn Sie die APIs für Vertex AI Conversation und Dialogflow deaktivieren möchten, rufen Sie die Seite mit den Dienstdetails zur Discovery Engine API auf, klicken Sie auf API deaktivieren und bestätigen Sie den Vorgang. Rufen Sie dann die Seite mit den Dienstdetails zur Dialogflow API auf, klicken Sie auf API deaktivieren und bestätigen Sie den Vorgang.
Weitere Informationen
In diesen Anleitungen und Ressourcen erfahren Sie mehr über konversationelle KI und generative KI:
- Dokumentation zu Dialogflow CX
- Einführung in Vertex AI Conversation
- KI-Datenagenten erstellen und verwenden
- Dokumentation zu Vertex AI Conversation
- Generative KI in Google Cloud
Lizenz
Dieser Text ist mit einer Creative Commons Attribution 2.0 Generic License lizenziert.