Datenspeichertools können KI-generierte Agentenantworten auf Grundlage von Website-Inhalten und hochgeladenen Daten liefern. Der Agent kann Antworten auf Fragen von Endnutzenden in Ihren Datenspeichern während der Ausführung finden.
Datenspeichertools: Console
In diesem Abschnitt wird beschrieben, wie Sie einem KI-Agenten ein Datenspeichertool hinzufügen und es in einer Auftragsausführung konfigurieren.
Datenspeichertool erstellen
- Öffnen Sie die Conversational Agents-Konsole und wählen Sie Ihr Projekt aus.
- Wählen Sie im Drop-down-Menü einen Agent aus.
- Wählen Sie in der Menüleiste ganz links auf der Seite Tools aus.
- Klicken Sie auf + 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 auf Datenspeicher hinzufügen. Das angezeigte Fenster enthält eine Liste Ihrer vorhandenen Datenspeicher, falls vorhanden. Wählen Sie den Datenspeicher aus, der dem Tool hinzugefügt werden soll.
- (Optional) Wenn Sie einen neuen Datenspeicher in der Vertex AI Agent Builder-Konsole erstellen möchten, klicken Sie auf Neuen Datenspeicher erstellen, um automatisch weitergeleitet zu werden.
- Optional: Klicken Sie nach dem Konfigurieren des neuen Datenspeichers auf Erstellen. Wenn Sie den neuen Datenspeicher dem Tool hinzufügen möchten, rufen Sie in der Dialogflow CX-Konsole wieder das Menü Tool erstellen auf und aktualisieren Sie die Seite. Der neue Datenspeicher wird in der Liste der verfügbaren Datenspeicher angezeigt.
- Klicken Sie oben in der Konfiguration Tool erstellen auf Speichern, um das neue Datenspeichertool zu erstellen.
Datenspeicher-Tool zu einem Fulfillment 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, die Sie mit Ihrem Datenspeicher verwenden möchten.
- Rufen Sie Ausführung > Datenspeicher-Tool auf und wählen Sie Ihr Datenspeicher-Tool aus dem Drop-down-Menü aus.
- Gehen Sie zu Auftragsausführung > Antworten des KI-Agenten, klicken Sie auf + Dialogantwort hinzufügen und dann auf Antwort des Datenspeicher-Tools.
- Konfigurieren Sie die Anzahl der Quelllinks und Zitate, die in der Antwort angezeigt werden sollen, und geben Sie das Fallback-Verhalten an, wenn die Antwort des Datenspeichers leer ist. Geben Sie im Feld Statische Fallback-Antworten eine statische Fallback-Antwort ein. Optional können Sie das Kästchen Generativer Fallback anklicken, um mithilfe von KI eine Antwort zu generieren, bevor die statische Fallback-Antwort verwendet wird. Wenn Sie Fallback-Antworten anpassen möchten, klicken Sie oben links im Formularfenster Datenspeicherantwort auf das Schraubenschlüssel-Symbol, um das Fenster Bedingte Antwort zu öffnen.
- Klicken Sie oben im Menü Route auf Speichern.
- Rufen Sie den Dialogflow CX-Simulator auf, um die Ergebnisse des KI-Agenten zu testen.
Optionaler Sitzungsparameter zum Überschreiben der Abfrage
Sie können die an dieses Datenspeichertool übergebene Abfrage mit dem Sitzungsparameter knowledge.overrides.query überschreiben. Wenn dieser Parameter nicht leer ist, wird er vom Tool anstelle der Nutzeranfrage verwendet.
Datenspeichertools: API
Standardmäßig ruft der KI-Agent die Methode dataStoreTool in Ihrem Namen auf.
Es gibt drei Datenspeichertypen:
PUBLIC_WEB: Ein Datenspeicher, der öffentliche Webinhalte enthält.UNSTRUCTURED: Ein Datenspeicher, der unstrukturierte private Daten enthält.STRUCTURED: Ein Datenspeicher, der strukturierte Daten enthält (z. B. FAQs).
Das folgende Beispiel zeigt, wie Sie auf einen Datenspeicher verweisen. Weitere Informationen finden Sie in der Referenz zu dataStoreConnections.
"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 von Datenspeichertools können auch Snippets zur Inhaltsquelle enthalten, die zum Generieren der Antwort verwendet wurde. Der Agent kann Anweisungen dazu geben, wie mit der Antwort aus dem Datenspeicher verfahren werden soll oder wie reagiert werden soll, wenn keine Antwort gefunden wird.
Sie können eine Antwort überschreiben, indem Sie einen FAQ-Eintrag für eine bestimmte Frage hinzufügen.
Optional können Sie Beispiele angeben, um das Verhalten des KI-Agenten zu verbessern. Die Beispiele sollten dem Schema entsprechen. 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 Playbook-basierte Agenten) Beispiele für Datenspeicher-Tools
Wenn Sie Beispiele für Datenspeichertools erstellen, bietet der Tool-Eingabeparameter requestBody drei optionale Eingaben zusammen mit dem erforderlichen query-String: einen filter-String, ein strukturiertes userMetadata-Objekt und einen fallback-String.
Mit dem Parameter filter können Sie Suchanfragen für strukturierte Daten oder unstrukturierte Daten mit Metadaten filtern. Dieser String muss der unterstützten Syntax für Filterausdrücke für Datenspeicher entsprechen. Mehrere detaillierte Beispiele zeigen dem Playbook-Modell, wie dieser Parameter ausgefüllt werden soll. Wenn ein Filterstring ungültig ist, wird dieser Filter bei der Suchanfrage ignoriert.
Im folgenden Beispiel sehen Sie einen filter-String, mit dem Sie Suchergebnisse nach Standort eingrenzen können:
"filter": "country: ANY(\"Canada\")"
Weitere Informationen zu Playbook-Beispielen finden Sie auf der Seite mit Beispielen.
Best Practices für das Filtern:
Geben Sie die Felder an, die für die Filterung verfügbar sind, sowie die gültigen Werte für jedes dieser Felder, damit das Playbook die Einschränkungen beim Erstellen gültiger Filter versteht. Ein Datenspeicher mit Menüinformationen könnte beispielsweise ein Feld
mealmit den gültigen Werten „Frühstück“, „Mittagessen“ und „Abendessen“ sowie ein FeldservingSizemit einer beliebigen Ganzzahl von 0 bis 5 enthalten. Ihre Anweisungen könnten 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, fügen Sie Anweisungen hinzu, um zu verhindern, dass das Playbook dem Nutzer Informationen zum Erstellen dieser Filter gibt. 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 Datenspeichertool übergeben, um die Suchergebnisse und die Toolantwort zu verbessern.
Mehrere detaillierte Beispiele helfen dem Playbook-Modell, diesen Parameter zu füllen.
Im Folgenden finden Sie ein Beispiel für einen userMetadata-Parameterwert, mit dem Suchergebnisse für einen bestimmten Nutzer optimiert werden:
"userMetadata": {
"favoriteColor": "blue",
...
}
Der Parameter fallback liefert eine Antwort, die das Datenspeichertool zurückgibt, wenn es keine gültige zusammengefasste Antwort auf die Abfrage gibt. Sie können mehrere Beispiele angeben, um dem Playbook-Modell mitzuteilen, wie das Fallback-Feld für Nutzereingaben zu verschiedenen Themen ausgefüllt werden soll. Die Ausgabe des Tools enthält keine Snippets, was die Latenz und die Nutzung von Eingabe-Tokens reduziert.
"fallback": "I'm sorry I cannot help you with that. Is there anything else I can
do for you?"
Konfiguration des Datenspeichertools
Wenn Sie beim Testen feststellen, dass einige Antworten nicht Ihren Erwartungen entsprechen, können Sie die folgenden Parameter anpassen, um die Leistung zu optimieren. Sie sind sowohl durch direkten Aufruf der API als auch durch Klicken auf den Namen des Datenspeichers auf der Seite Tools in der Console verfügbar. Weitere Informationen zu diesen Konfigurationsoptionen finden Sie auf der Seite Datenspeichereinstellungen.
Antwortoptionen für Datenspeichertools
Weitere Informationen zum Konfigurieren der Antwort des Datenspeichertools finden Sie in der Dokumentation zur Ausführung.
Datenspeicher-Handler
Datenspeicher-Handler sind eine spezielle Art von Zustandshandlern, die LLM-generierte Agentenantworten auf Grundlage Ihrer Websiteinhalte und hochgeladenen Daten liefern können.
Zum Erstellen dieses Handlers 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 unterstützt ausgewählte Sprachen in der GA. Weitere Informationen finden Sie in der Spalte „Datenspeicher“ in der Sprachreferenz.
- Nur die folgenden Regionen werden unterstützt:
global, Multiregionusund Multiregioneu. - Anwendungen mit aufgeteilten und nicht aufgeteilten Datenspeichern werden nicht unterstützt.
Zugriffssteuerung
Wenn Sie der Project Owner sind, haben Sie die erforderlichen Berechtigungen, um einen Datenspeicher-Handler zu erstellen. Wenn Sie nicht der Project Owner sind, müssen Sie die folgenden Rollen haben:
- Dialogflow-Administrator
- Discovery Engine-Administrator
Weitere Informationen finden Sie im Leitfaden zur Zugriffssteuerung.
Datenspeicher zu einem Agenten hinzufügen
Falls noch nicht geschehen, folgen Sie der Einrichtungsanleitung, um einen Agenten zu erstellen.
So fügen Sie Ihrem Agenten einen Datenspeicher hinzu:
- Wählen Sie eine Seite aus und klicken Sie dann auf Zustandshandler hinzufügen.
- Klicken Sie das Kästchen Datenspeicher an und dann auf Übernehmen.
- Klicken Sie im Bereich Datenspeicher der Seite rechts oben auf das Symbol +.
- Klicken Sie im angezeigten Menü „Datenspeicher“ auf Datenspeicher hinzufügen.
- Eine Tabelle mit allen vorhandenen Datenspeichern wird angezeigt. Klicken Sie das Kästchen neben dem Namen der Datenspeicher an, die Sie verwenden möchten, und klicken Sie dann auf Speichern. Wenn Sie einen neuen Datenspeicher erstellen möchten, klicken Sie auf Neuen Datenspeicher erstellen. Sie werden automatisch zu Vertex AI Agent Builder weitergeleitet.
- (Nur neue Datenspeicher) Wählen Sie eine Datenquelle aus und folgen Sie dann der Anleitung in Vertex AI Agent Builder, um Ihren 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.
KI-Agenten testen
Agent bereitstellen
Sie können Ihren Agenten auf verschiedene Arten bereitstellen:
- Verwenden Sie eine Integration, um eine Benutzeroberfläche für Ihren Agenten bereitzustellen. Für jede Integration gibt es eine Anleitung zur Bereitstellung.
- Die Integration von Dialogflow CX Messenger ist eine gute Option für Datenspeicher-Handler. Es bietet integrierte Optionen für generative Funktionen.
- Sie können eine eigene Benutzeroberfläche erstellen und die Dialogflow CX API für Interaktionen verwenden. Die Bereitstellung wird über Ihre Benutzeroberfläche verwaltet.
Spezielle Intents
Der Agent kann nicht nur Fragen zu den von Ihnen bereitgestellten Inhalten beantworten, sondern auch die folgenden Arten von Fragen:
- Agentenidentifikation: Der Agent beantwortet Fragen wie „Wer bist du?“ oder „Bist du ein Mensch?“.
- An einen menschlichen Kundenservicemitarbeiter weiterleiten: Der Agent verarbeitet Fragen wie „Ich möchte mit einem Menschen sprechen“ oder „Ich möchte mit einer echten Person sprechen“.
Dies wird durch automatisch generierte Intents und Intent-Routen erreicht.
Agentenantworten
Geben Sie im Abschnitt Agent-Antworten benutzerdefinierte Antworten an, die auf generative Antworten verweisen. Verwenden Sie $request.knowledge.answers[0] im Abschnitt Agent sagt, um die generative Antwort bereitzustellen.
Erweiterte Anpassung von Antworten
In $request.knowledge.* sind möglicherweise zusätzliche Informationen verfügbar, um die Antwort anzupassen. Zu diesen Informationen gehören:
- Die identifizierten Quellen der Antwort mit den Feldern „Snippet“, „Titel“ und „URI“.
- Die Fundierungskonfidenz für die Antwort.
- Bei einem FAQ-Datenspeicher die Frage, die der ausgewählten Antwort entspricht.
In der folgenden Tabelle finden Sie Beispiele für den Zugriff auf diese Informationen:
| Informationen | Zugriff |
|---|---|
| Snippet der am häufigsten identifizierten 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 identifizierten Quelle der Top-Antwort | $sys.func.GET_FIELD($sys.func.GET($sys.func.IDENTITY($request.knowledge.sources[0]), 0), "title") |
| Link der 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 identifizierten Quellen für die Top-Antwort | $sys.func.COUNT($sys.func.IDENTITY($request.knowledge.sources[0])) |
| Anzahl der Antworten aus der Wissensdatenbank | $sys.func.COUNT($request.knowledge.answers) |
| Frage, die der Top-Antwort entspricht (nur für Antworten aus FAQ-Datenspeichern) | $request.knowledge.questions[0] |
| Fundierungskonfidenz für die Top-Antwort | $request.knowledge.grounding_confidences[0] |