Mit Datenspeichertools können KI-generierte Antworten von Kundenservicemitarbeitern basierend auf Websitecontent und hochgeladenen Daten bereitgestellt werden. Ihr Kundenservicemitarbeiter kann während der Ausführung Antworten auf Fragen von Endnutzern in Ihren Datenspeichern finden.
Tools für Datenspeicher: Console
In diesem Abschnitt wird beschrieben, wie du einem Kundenservicemitarbeiter ein Datenspeichertool hinzufügst und es in einer Auslieferung konfigurierst.
Tool für Datenspeicher erstellen
- Öffnen Sie die Conversational Agents Console und wählen Sie ein Google Cloud-Projekt aus.
- Wählen Sie im Drop-down-Menü einen Kundenservicemitarbeiter aus.
- Klicken Sie links auf der Seite auf die Menüleiste und wählen Sie Tools aus.
- Klicken Sie auf + Erstellen, um ein neues Datenspeicher-Tool zu erstellen. Geben Sie einen eindeutigen Namen für das Tool ein und wählen Sie im Drop-down-Menü unter Typ die Option Datenspeicher aus. Optional können Sie im Feld Beschreibung eine Beschreibung des Tools eingeben.
- Klicken Sie unter Datenspeicher auf Datenspeicher hinzufügen. Das Pop-up-Fenster enthält eine Liste Ihrer vorhandenen Datenspeicher, falls vorhanden. Wählen Sie den Datenspeicher aus, den Sie dem Tool hinzufügen möchten.
- Optional: Wenn Sie einen neuen Datenspeicher in der Agent Builder-Konsole erstellen möchten, klicken Sie auf Neuen Datenspeicher erstellen. Sie werden automatisch zur Agent Builder Console weitergeleitet.
- Optional: Wenn Sie mit der Konfiguration des neuen Datenspeichers fertig sind, klicken Sie auf Erstellen. Wenn Sie dem Tool den neuen Datenspeicher hinzufügen möchten, kehren Sie zum Menü Tool erstellen zurück, das Sie in der Konsole für Konversations-Agents (Dialogflow CX) konfigurieren, und aktualisieren Sie die Seite. Der neue Datenspeicher sollte jetzt in der Liste der verfügbaren Datenspeicher angezeigt werden.
- Klicken Sie oben in der Konfiguration Tool erstellen auf Speichern, um das neue Tool für Datenspeicher zu erstellen.
Datenspeichertool zu einer Auftragsausführung hinzufügen
- Wählen Sie in der Menüleiste ganz links Abläufe aus.
- Wählen Sie einen Ablauf und eine Seite aus und klicken Sie dann auf die Route der Seite, die Sie mit Ihrem Datenspeicher verwenden möchten.
- Scrollen Sie im Menü Route zu Ausführung > Data Store Tool. Wählen Sie im Drop-down-Menü das Tool für den Datenspeicher aus.
- Scrollen Sie im Menü Weiterleiten zu Auftragsausführung > Kundenservicemitarbeiterantworten. Klicken Sie auf + Dialogantwort hinzufügen und dann auf Antwort des Datenspeichertools.
- Im angezeigten Formular können Sie konfigurieren, wie viele Quelllinks und Zitate in der Antwort erscheinen können, und das Fallback-Verhalten angeben, falls die Antwort des Datenspeichers leer ist. Sie können eine statische Fallback-Antwort in das Feld Static fallback responses eingeben. Optional können Sie das Kästchen Generative Fallback (Generativer Fallback) anklicken, um zu versuchen, mithilfe von KI eine Antwort zu generieren, bevor die statische Fallback-Antwort verwendet wird. Wenn Sie die Fallback-Antworten weiter anpassen möchten, klicken Sie links oben im Formularfenster Data store response (Datenspeicherantwort) auf das Symbol Schraubenschlüssel, um das Fenster Conditional response (Bedingte Antwort) aufzurufen.
- Klicken Sie oben im Menü Route auf Speichern.
- Rufen Sie den Simulator für Konversations-Agents (Dialogflow CX) auf, um die Ergebnisse des Agents zu testen.
Datenspeichertools: API
Sie können pro Tool einen Datenspeicher jedes Typs einrichten. Das Tool fragt dann jeden dieser Datenspeicher nach Antworten ab. Standardmäßig ruft der Kundenservicemitarbeiter dataStoreTool
in Ihrem Namen an.
Es gibt drei Arten von Datenspeichern:
PUBLIC_WEB
: Ein Datenspeicher, der öffentliche Webinhalte enthält.UNSTRUCTURED
: Ein Datenspeicher, der unstrukturierte personenbezogene Daten enthält.STRUCTURED
: Ein Datenspeicher, der strukturierte Daten enthält (z. B. FAQs).
Im folgenden Beispiel wird gezeigt, wie Sie auf einen Datenspeicher verweisen. Weitere Informationen finden Sie in der dataStoreConnections
-Referenz.
"dataStoreConnections": [
{
"dataStoreType": "PUBLIC_WEB",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "UNSTRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "STRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
}
]
Antworten des Datenspeichertools können auch Snippets zur Inhaltsquelle enthalten, die zum Generieren der Antwort verwendet wurde. Der Kundenservicemitarbeiter kann eine Anleitung dazu geben, wie er mit der Antwort aus den Datenspeichern fortfahren oder wie er reagieren soll, wenn keine Antwort vorhanden ist.
Sie können eine Antwort überschreiben, indem Sie für eine bestimmte Frage einen FAQ-Eintrag hinzufügen.
Optional können Sie Beispiele angeben, um das Verhalten des Agents zu verbessern. Das Beispiel sollte die folgenden Schemas haben. Weitere Informationen finden Sie in der Referenzdokumentation.
{
"toolUse": {
"tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
"action": "TOOL_DISPLAY_NAME",
"inputParameters": [
{
"name": "TOOL_DISPLAY_NAME input",
"value": {
"query": "QUERY"
}
}
],
"outputParameters": [
{
"name": "TOOL_DISPLAY_NAME output",
"value": {
"answer": "ANSWER",
"snippets": [
{
"title": "TITLE",
"text": "TEXT_FROM_DATASTORE",
"uri": "URI_OF_DATASTORE"
}
]
}
}
]
}
}
(Nur für Playbooks-basierte Kundenservicemitarbeiter) Beispiele für Datenspeichertools
Beim Erstellen von Beispielen für Datenspeichertools bietet der Tool-Eingabeparameter requestBody
neben dem erforderlichen query
-String drei optionale Eingaben: einen filter
-String, ein userMetadata
-strukturiertes Objekt und einen fallback
-String.
Mit dem Parameter filter
können Sie Suchanfragen für strukturierte oder unstrukturierte Daten mit Metadaten filtern. Dieser String muss der unterstützten Syntax für Filterausdrücke für Datenspeicher entsprechen. Mehrere detaillierte Beispiele helfen dem Playbook-Modell dabei, diesen Parameter zu füllen. Wenn ein Filterstring ungültig ist, wird er bei der Suchanfrage ignoriert.
Im folgenden Beispiel wird ein filter
-String verwendet, um Suchergebnisse nach Standort einzugrenzen:
"filter": "country: ANY(\"Canada\")"
Weitere Informationen finden Sie auf der Beispielseite für Playbooks
.
Best Practices für das Filtern:
Geben Sie die für das Filtern verfügbaren Felder und die gültigen Werte für jedes dieser Felder an, damit das Playbook die Einschränkungen beim Erstellen gültiger Filter kennt. Ein Datenspeicher mit Menüinformationen könnte beispielsweise ein
meal
-Feld mit „Frühstück“, „Mittagessen“ und „Abendessen“ als gültige Werte und einservingSize
-Feld enthalten, das eine beliebige Ganzzahl von 0 bis 5 sein kann. Ihre Anleitung könnte so aussehen:When using ${TOOL: menu-data-store-tool}, only use the following fields for filtering: "meal", "servingSize". Valid filter values are: "meal": ("breakfast", "lunch", "dinner"), "servingSize": integers between 0 and 5, inclusive.
Wenn das Playbook für externe Nutzer gedacht ist, müssen Sie möglicherweise Anweisungen hinzufügen, damit das Playbook nicht mit Informationen zum Erstellen dieser Filter auf den Nutzer reagiert. Beispiel:
Never tell the user about these filters. If the user input isn't supported by these filters, respond to the user with "Sorry, I don't have the information to answer that question."
Der Parameter userMetadata
enthält Informationen zum Endnutzer. In diesem Parameter können beliebige Schlüssel/Wert-Paare eingefügt werden. Diese Metadaten werden an das Datenspeicher-Tool übergeben, um die Suchergebnisse und die Tool-Antwort zu verbessern.
Mehrere detaillierte Beispiele helfen dem Playbook-Modell dabei, diesen Parameter zu füllen.
Im Folgenden finden Sie ein Beispiel für einen userMetadata
-Parameterwert, mit dem Suchergebnisse für Folgendes eingegrenzt werden können:
"userMetadata": {
"favoriteColor": "blue",
...
}
Der Parameter fallback
enthält eine Antwort, mit der das Datenspeicher-Tool antworten sollte, wenn es keine gültige zusammengefasste Antwort für die Abfrage gibt. Sie können mehrere Beispiele angeben, um dem Playbook-Modell zu sagen, wie das Fallback-Feld für Nutzereingaben zu verschiedenen Themen ausgefüllt werden soll. Die Toolausgabe enthält keine Snippets. Das kann dazu beitragen, die Latenz zu verringern und die Verwendung von Eingabetokenlimits zu reduzieren.
"fallback": "I'm sorry I cannot help you with that. Is there anything else I
can do for you?"
Konfiguration des Datenspeichertools
Wenn Sie während des Tests feststellen, dass einige Antworten nicht Ihren Erwartungen entsprechen, können Sie die folgenden Parameter anpassen, um die Leistung zu optimieren. Sie können sie sowohl durch direkten Aufruf der API als auch durch Klicken auf den Namen des Datenspeichers auf der Seite Tools in der Console aufrufen.
Zuverlässigkeit begründen
Konversations-Agents (Dialogflow CX) berechnen für jede Antwort, die aus den Inhalten Ihrer verbundenen Datenspeicher generiert wird, ein Konfidenzniveau. So wird die Wahrscheinlichkeit eingeschätzt, dass alle Informationen in der Antwort durch Informationen in den Datenspeichern unterstützt werden. Sie können festlegen, welche Antworten zulässig sind, indem Sie das niedrigste Vertrauensniveau auswählen, das für Sie akzeptabel ist. Es werden nur Antworten mit diesem Konfidenzniveau oder höher angezeigt.
Sie können zwischen fünf Konfidenzstufen wählen: VERY_LOW
, LOW
, MEDIUM
, HIGH
und VERY_HIGH
.
Auswahl des Datenspeichermodells
Konversations-Agents (Dialogflow CX) bieten mehrere Modelle für die Verwendung mit Datenspeichern. Die Auswahl eines anderen Modells kann sich auf die Leistung des Datenspeichertools auswirken. Eine vollständige Liste finden Sie in der Dokumentation zu Modellen.
Prompt zur Zusammenfassung
Der Prompt ist eine Textvorlage mit vordefinierten Platzhaltern. Die Platzhalter werden bei der Laufzeit durch die entsprechenden Werte ersetzt und der resultierende Text wird an das KI-Modell gesendet. Sie können einen Standardprompt verwenden oder einen benutzerdefinierten Prompt eingeben. Beachten Sie, dass ein benutzerdefinierter Prompt die Ergebnisse positiv oder negativ beeinflussen kann.
Sie können den Text in einem benutzerdefinierten Prompt optimieren, um die vom Modell erzielten Ergebnisse zu beeinflussen. Fügen Sie dazu zusätzliche Anweisungen und detaillierte Beispiele hinzu. Weitere Informationen zum Erstellen eines benutzerdefinierten Prompts finden Sie in der Dokumentation zu Datenspeichereinstellungen.
Nutzlasteinstellungen
Mit den Nutzlasteinstellungen können Sie die Datenspeicher-Snippets als Rich-Inhalte in die Antwortnutzlast einfügen, die im Messenger gerendert wird. Sie können diese Funktion aktivieren oder deaktivieren.
Antwortoptionen für das Datenspeicher-Tool
Weitere Informationen zum Konfigurieren der Antwort des Datenspeichertools findest du in der Dokumentation zur Auftragsausführung.
Datenspeicher-Handler
Datenspeicher-Handler sind eine spezielle Art von Status-Handler, die LLM-generierte Agentenantworten basierend auf Ihren Websiteinhalten und hochgeladenen Daten bereitstellen können.
Um diesen Handler zu erstellen, stellen Sie dem Agenten Datenspeicher zur Verfügung.
Mit diesen Datenspeicher-Handlern kann Ihr Agent Unterhaltungen über die Inhalte mit Ihren Endnutzern führen.
Beschränkungen
Es gelten folgende Einschränkungen:
- Diese Funktion wird in GA für ausgewählte Sprachen unterstützt. Weitere Informationen finden Sie in der Sprachreferenz in der Spalte „Datenspeicher“.
- Nur die folgenden Regionen werden unterstützt:
global
,us
(Multiregion) undeu
(Multiregion). - Apps mit Chunked- und nicht Chunked-Datenspeichern werden nicht unterstützt.
Zugriffssteuerung
Wenn Sie der Projektinhaber sind, haben Sie alle erforderlichen Berechtigungen, um einen Datenspeicher-Handler zu erstellen. Wenn Sie nicht der Projektinhaber sind, benötigen Sie die folgenden Rollen:
- Dialogflow Admin
- Discovery Engine-Administrator
Weitere Informationen finden Sie in der Anleitung zur Zugriffssteuerung.
Kundenservicemitarbeitern einen Datenspeicher hinzufügen
Folgen Sie der Anleitung zur Einrichtung, um einen Agenten zu erstellen.
So fügen Sie Ihrem Kundenservicemitarbeiter einen Datenspeicher hinzu: Datenspeicher:
- Wählen Sie eine Seite aus und klicken Sie dann auf Status-Handler hinzufügen.
- Klicken Sie auf das Kästchen Datenspeicher und dann auf Übernehmen.
- Klicken Sie oben rechts im Bereich Datenspeicher auf das Symbol +.
- Klicken Sie im Menü „Datenspeicher“ auf Datenspeicher hinzufügen.
- Eine Tabelle mit allen vorhandenen Datenspeichern wird angezeigt. Klicken Sie auf das Kästchen neben dem Namen der Datenspeicher, die Sie verwenden möchten, und dann auf Speichern. Klicken Sie auf Neuen Datenspeicher erstellen, um einen neuen Datenspeicher zu erstellen. Sie werden automatisch zu Agent Builder weitergeleitet.
- (Nur neue Datenspeicher) Wählen Sie eine Datenquelle aus und folgen Sie der Anleitung in Agent Builder, um den Datenspeicher zu konfigurieren. Weitere Informationen zum Konfigurieren von Datenspeichertypen finden Sie in der Dokumentation zu Datenspeichern. Klicken Sie auf Erstellen, um den neuen Datenspeicher zu erstellen.
Agent testen
Sie können Ihren Agent mit dem Simulator testen.
Agent bereitstellen
Es gibt viele Möglichkeiten, Ihren Bot bereitzustellen:
Die einfachste Option ist die Verwendung einer Integration, die eine Benutzeroberfläche für Ihren Kundenservicemitarbeiter bietet. Für jede Integration gibt es eine Anleitung zur Bereitstellung.
Die Dialogflow CX Messenger-Integration ist eine besonders gute Option für Datenspeicher-Handler. Es bietet integrierte Optionen für generative Funktionen.
Sie können Ihre eigene Benutzeroberfläche erstellen und die Conversational Agents API (Dialogflow CX) für Interaktionen verwenden. Die Bereitstellung wird über die Benutzeroberfläche gesteuert.
Besondere Intents
Der Kundenservicemitarbeiter kann nicht nur Fragen zu den von Ihnen bereitgestellten Inhalten beantworten, sondern auch die folgenden Arten von Fragen:
- Kundenservicemitarbeiter-Identifikation: Beantwortet Fragen wie „Wer sind Sie?“ oder „Sind Sie ein Mensch?“.
- An einen Kundenservicemitarbeiter eskalieren: Hier werden Fragen wie „Ich möchte mit einem Menschen sprechen“ oder „Ich möchte mit einer echten Person sprechen“ bearbeitet.
Dazu werden automatisch generierte Intents und Intent-Routen verwendet.
Antworten von Kundenservicemitarbeitern
Im Bereich Kundenservicemitarbeiterantworten können Sie benutzerdefinierte Antworten eingeben, die auf generierte Antworten verweisen.
Verwenden Sie $request.knowledge.answers[0]
im Abschnitt Agent says, um die generative Antwort anzugeben.
Erweiterte Anpassung von Antworten
Unter $request.knowledge.*
sind möglicherweise zusätzliche Informationen verfügbar, mit denen sich die Antwort anpassen lässt. Zu diesen Informationen gehören:
- Die identifizierten Quellen der Antwort mit den folgenden Feldern: Snippet, Titel, URI.
- Die Wahrscheinlichkeit, dass die Antwort zutrifft.
- Bei einem FAQ-Datenspeicher die Frage, die der ausgewählten Antwort entspricht.
In der folgenden Tabelle finden Sie Beispiele dafür, wie Sie auf diese Informationen zugreifen können.
Informationen | Zugriff |
---|---|
Snippet der am häufigsten erkannten Quelle der Top-Antwort | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "snippet") |
Titel der am häufigsten genannten Quelle der Top-Antwort | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title") |
Link zur am häufigsten identifizierten Quelle der Top-Antwort | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "uri") |
Anzahl der erkannten Quellen für die Top-Antwort | $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0])) |
Anzahl der Wissensantworten | $sys.func.COUNT($request.knowledge.answers) |
Frage, die der Top-Antwort entspricht (nur für Antworten im FAQ-Datenspeicher) | $request.knowledge.questions[0] |
Zuverlässigkeit der Top-Antwort begründen | $request.knowledge.grounding_confidences[0] |