Datenspeicher-Agents sind eine spezielle Art von Dialogflow-Agent, der LLM-generierte Agent-Antworten basierend auf Ihren Websiteinhalten und hochgeladenen Daten bereitstellen kann.
Zum Erstellen des Agents geben Sie beim Erstellen des Agents Datenspeicher an.
Ein Datenspeicher-Agent hat spezielle Zustands-Handler, die als Datenspeicher-Handler bezeichnet werden. Mithilfe dieser Datenspeicher-Handler kann Ihr Datenspeicher-Agent mit Ihren Endnutzern Gespräche über den Inhalt führen.
Beschränkungen
Es gelten folgende Einschränkungen:
- Dieses Feature unterstützt derzeit nur bestimmte Sprachen in GA. Weitere Informationen finden Sie in der Sprachreferenz in der Spalte „Datenspeicher“.
- Es werden nur die folgenden Regionen unterstützt:
global
,us
(multiregional) undeu
(multiregional). - Der einzige unterstützte Typ des strukturierten Datenspeichers ist FAQ.
- Anwendungen mit aufgeteilten und nicht aufgeteilten Datenspeichern werden nicht unterstützt.
Zugriffssteuerung
Als Projektinhaber haben Sie alle Berechtigungen, die zum Erstellen eines Datenspeicher-Agents erforderlich sind. Wenn Sie nicht der Projektinhaber sind, benötigen Sie die folgenden Rollen:
- Dialogflow-Administrator
- Discovery Engine-Administrator
Weitere Informationen finden Sie in der Anleitung zur Dialogflow-Zugriffssteuerung.
Datenspeicher-Agent erstellen
So erstellen Sie einen Datenspeicher-Agent:
- Folgen Sie der setup von Dialogflow, falls noch nicht geschehen.
Rufen Sie die Vertex AI Conversation-Konsole auf:
Wählen Sie im Drop-down-Menü der Konsole Ihr Projekt aus.
Wenn Sie die API noch nicht aktiviert haben, lesen und akzeptieren Sie die Nutzungsbedingungen. Klicken Sie dann auf Weiter und API aktivieren.
Klicken Sie auf Neue App erstellen oder Neue App.
Wähle Chat aus.
Geben Sie im Abschnitt Agent-Konfigurationen den Namen Ihres Unternehmens an.
Maximieren Sie den Bereich mit den Einstellungen für Zeitzone und Sprache.
Wählen Sie eine Zeitzone aus.
Wählen Sie eine Standardsprache aus.
Geben Sie im Abschnitt Name des Agents einen Agent-Namen ein.
Wählen Sie im Abschnitt Standort des Agents eine Region oder mehrere Regionen aus.
Klicken Sie auf Weiter.
Verbinden Sie einen Datenspeicher mit Ihrem Agent. Führen Sie dazu einen der folgenden Schritte aus:
- Wählen Sie einen vorhandenen Datenspeicher aus, den Sie zuvor erstellt haben.
- Erstellen Sie einen neuen Datenspeicher:
- Klicken Sie auf Neuen Datenspeicher erstellen.
- Wählen Sie eine Datenquelle aus.
- Geben Sie Daten und Konfiguration für die ausgewählte Datenspeicherquelle an. Der Speicherort des Datenspeichers sollte dem Agent-Standort entsprechen.
- Klicken Sie auf Erstellen, um den Datenspeicher zu erstellen.
- Wählen Sie den neuen Datenspeicher aus.
Klicken Sie auf Erstellen.
Der Agent wird jetzt erstellt. Sie werden automatisch zur Seite Verfügbare Datenspeicher weitergeleitet, auf der Sie bei Bedarf weitere Datenspeicher hinzufügen können.
Wenn Sie einen neuen Datenspeicher für eine Website erstellt haben, müssen Sie Ihre Domain bestätigen.
Klicken Sie im linken Bereich auf Preview (Vorschau), um den Agent mit Dialogflow CX zu öffnen. In der Dialogflow CX-Konsole können Sie Datenspeicher-Handler bearbeiten oder hinzufügen, den Agent bereitstellen und optional Abläufe hinzufügen, die Szenarien verarbeiten, die nicht von den Datenspeichern abgedeckt werden.
Agent testen
Sie können den Agent mit dem Dialogflow CX-Simulator testen.
Generative Antworten des Agents verbessern
Wenn Sie während des Tests feststellen, dass einige Antworten nicht Ihren Erwartungen entsprechen, versuchen Sie Folgendes.
Sie können eine Antwort überschreiben, indem Sie für eine bestimmte Frage einen FAQ-Eintrag hinzufügen.
In der Dialogflow-Konsole sind weitere Anpassungen für den Agent verfügbar. Wenn Sie die Console aufrufen möchten, klicken Sie in der Liste der in der Konsole verfügbaren Agents auf den Namen des Agents. Öffnen Sie dann die Seite Agent Settings (Agent-Einstellungen) in Dialogflow und gehen Sie zum Tab ML und dann zum Untertab Generative AI. Folgende Anpassungen sind verfügbar:
Solidität
Für jede Antwort, die aus den Inhalten Ihrer verbundenen Datenspeicher generiert wird, werten wir ein Konfidenzniveau aus. Damit wird die Gewissheit beurteilt, dass alle Informationen in der Antwort durch Informationen aus den Datenspeichern gestützt werden. Sie können anpassen, welche Arten von Antworten zulässig sind, indem Sie das niedrigste Konfidenzniveau auswählen, das für Sie akzeptabel ist. Wenn eine Antwort mit einer strikt niedrigeren Zuverlässigkeit als diesem Niveau zurückgegeben wird, wird sie nicht angezeigt.
Es stehen fünf Konfidenzniveaus zur Auswahl: sehr niedrig, niedrig, mittel, hoch und sehr hoch.
Datenspeicher-Aufforderung
Sie haben die Möglichkeit, zusätzliche Informationen über den Agent hinzuzufügen, die die Qualität der aus Datenspeicherinhalten generierten Antworten verbessern und ihnen das Gefühl geben können, dass sie Ihrer Marke ähneln:
- Agent-Name: der Name, den der Kundenservicemitarbeiter nennen soll. Wenn Sie die Richtlinie nicht konfigurieren, wird der Standardwert AI Assistant verwendet.
- Agent-Identität: die Agent-Persona Wenn Sie die Richtlinie nicht konfigurieren, wird der Standardwert AI Assistant verwendet.
- Geben Sie für Name des Unternehmens den Namen Ihres Unternehmens an. Dies sollte bereits beim Erstellen des Agents festgelegt worden sein, kann aber nach Bedarf angepasst werden. Es wird empfohlen, dieses Feld richtig festzulegen (und es nicht leer zu lassen), da die Qualität der generierten Antworten beeinträchtigt wird.
- Unternehmensbeschreibung steht für eine kurze Beschreibung dessen, was das Unternehmen tut oder anbietet.
- Agent-Bereich: Gibt an, wo der Agent verwendet werden soll. Wenn Sie die Richtlinie nicht konfigurieren, wird der Standardwert auf der Unternehmenswebsite verwendet.
Nachdem Sie diesen Abschnitt teilweise oder vollständig ausgefüllt haben, können Sie sich auf der rechten Seite unter Mein Prompt den kurzen Absatz ansehen, der aus diesen Einstellungen abgeleitet wurde und beim Erstellen von Antworten verwendet wird.
Gesperrte Wortgruppen
Du hast die Möglichkeit, bestimmte Wortgruppen zu definieren, die nicht zulässig sind. Wenn die generierte Antwort (oder der Inhalt des Prompts, der zum Generieren der Antwort verwendet wird, z. B. die letzte Nutzereingabe) eine der gesperrten Wortgruppen wortgetreu enthält, wird diese Antwort nicht angezeigt.
Aufforderung zur Auswahl und Zusammenfassung des Datenspeichermodells
Wenn eine Nutzeranfrage verarbeitet wird, sucht der Agent in den Datenspeichern nach guten Quellen. Der Agent sendet dann die Nutzerabfrage und gefundene Quellen an das LLM, das eine Zusammenfassung durchführt.
Sie können das Modell für die Zusammenfassung auswählen und optional einen eigenen Prompt angeben.
Generatives Modell auswählen
Sie können das generative Modell auswählen, das von einem Datenspeicher-Agent für die generative Zusammenfassungsanfrage verwendet wird. Wenn keiner ausgewählt wird, wird text-bison@001 verwendet. Die folgende Tabelle enthält die verfügbaren Optionen:
Modellkennzeichnung | Sprachunterstützung |
---|---|
text-bison@001 | Diese Funktion ist in allen unterstützten Sprachen verfügbar. |
(text-bison@002) | Diese Funktion ist in allen unterstützten Sprachen verfügbar. |
text-bison@001 abgestimmt (konversationell) | Derzeit werden nur Englisch unterstützt. |
text-bison@001 abgestimmt (informativ) | Derzeit werden nur Englisch unterstützt. |
gemini-1.0-pro-001 | Diese Funktion ist in allen unterstützten Sprachen verfügbar. |
Zusammenfassungsaufforderung anpassen
Sie können einen eigenen Prompt für den LLM-Zusammenfassungsaufruf angeben. Der Prompt ist eine Textvorlage, die vordefinierte Platzhalter enthalten kann. Die Platzhalter werden zur Laufzeit durch die entsprechenden Werte ersetzt und der endgültige Text wird an das LLM gesendet.
Die Platzhalter sind:
$original-query
: Der Abfragetext des Nutzers.$rewritten-query
: Dialogflow verwendet ein Rewriter-Modul, um die ursprüngliche Nutzerabfrage in ein genaueres Format umzuschreiben.$sources
: Dialogflow verwendet Enterprise Search, um anhand der Nutzeranfrage nach Quellen zu suchen. Die gefundenen Quellen werden in einem bestimmten Format gerendert:[1] title of first source content of first source [2] title of second source content of first source
$conversation
: Der Unterhaltungsverlauf wird im folgenden Format gerendert:Human: user's first query AI: answer to user's first query Human: user's second query AI: answer to user's second query
Eine benutzerdefinierte Aufforderung sollte das LLM anweisen, „NOT_ENOUGH_INFORMATION“ zurückzugeben, wenn keine Antwort möglich ist. In diesem Fall ruft der Agent ein Ereignis ohne Übereinstimmung auf.
Beispiel:
Given the conversation between a Human and a AI assistant and a list of sources,
write a final answer for the AI assistant.
Follow these guidelines:
+ Answer the Human's query and make sure you mention all relevant details from
the sources, using exactly the same words as the sources if possible.
+ The answer must be based only on the sources and not introduce any additional
information.
+ All numbers, like price, date, time or phone numbers must appear exactly as
they are in the sources.
+ Give as comprehensive answer as possible given the sources. Include all
important details, and any caveats and conditions that apply.
+ The answer MUST be in English.
+ Don't try to make up an answer: If the answer cannot be found in the sources,
you admit that you don't know and you answer NOT_ENOUGH_INFORMATION.
You will be given a few examples before you begin.
Example 1:
Sources:
[1] <product or service> Info Page
Yes, <company> offers <product or service> in various options or variations.
Human: Do you sell <product or service>?
AI: Yes, <company> sells <product or service>. [1] Is there anything else I can
help you with?
Example 2:
Sources:
[1] Andrea - Wikipedia
Andrea is a given name which is common worldwide for both males and females.
Human: How is the weather?
AI: NOT_ENOUGH_INFORMATION
Begin! Let's work this out step by step to be sure we have the right answer.
Sources:
$sources
$conversation
Human: $original-query
AI:
Agent bereitstellen
Es gibt viele Möglichkeiten, den Agent bereitzustellen:
Die einfachste Möglichkeit ist die Verwendung einer Dialogflow CX-Integration, die eine Benutzeroberfläche für den Agent bietet. Jede Integration enthält eine Anleitung für die Bereitstellung.
Die Einbindung von Dialogflow Messenger ist eine besonders gute Option für Datenspeicher-Agents. Es verfügt über 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 von Ihrer Implementierung der Benutzeroberfläche gesteuert.
Leistung des Agents verfolgen
Sie können den Unterhaltungsverlauf Ihrer Agents überwachen und das Analysetool für Agent-Statistiken verwenden.
Spezielle Intents
Der Datenspeicher-Agent kann nicht nur Fragen zu den von Ihnen bereitgestellten Inhalten beantworten, sondern auch die folgenden Arten von Fragen beantworten:
- Agent-Identifikation: Für die Bearbeitung von Fragen wie „Wer bist du?“ oder „Bist du ein Mensch?“.
- An einen menschlichen Kundenservicemitarbeiter eskalieren: verarbeitet Fragen wie „Ich möchte mit einem Menschen sprechen“ oder „Ich möchte mit einer realen Person sprechen“.
Das wird durch automatisch generierte Intents und Intent-Routen erreicht.
Hybrid-Agents
Wenn Sie bereits einen Dialogflow CX-Agent haben, können Sie diesen Agent auf einen Hybrid-Agent upgraden, der die Möglichkeiten präziser Unterhaltungssteuerungen (Abläufe, Parameter, Intents, Bedingungen, Übergänge usw.) mit generativen Features von Datenspeicher-Handlern kombiniert.
Im Rahmen dieses Upgrades können Sie für bestimmte Unterhaltungsszenarien vom Agent Intent-Routen löschen oder vorübergehend deaktivieren (beim Testen von Datenspeicher-Handlern), da die Datenspeicher-Handler diese Szenarien einfacher bewältigen können.
Die folgenden Szenarien werden für Datenspeicher-Handler empfohlen:
- Fragen, die in den Dokumenten oder auf der Website Ihrer Organisation beantwortet werden können.
- Häufig gestellte Fragen, die keine Datenbanksuchen erfordern.
Die folgenden Szenarien werden für Datenspeicher-Handler nicht empfohlen:
- Inhalte, die keine Antworten auf die gewünschten Fragen enthalten.
- Fragen, die Datenbanksuchen oder Serveranfragen erfordern.
- Szenarien, in denen Daten entfernt werden müssen
- Szenarien, die deterministische Agent-Antworten erfordern.
Dialogflow wertet Endnutzereingaben in der folgenden Präferenzreihenfolge aus:
- Intent-Übereinstimmung für zugehörige Routen
- FAQ-Inhalt des Datenspeichers
- Inhalt des unstrukturierten Datenspeichers
Eingabeauswertungsreihenfolge
Dialogflow wertet Endnutzereingaben für Hybrid-Agents in der folgenden Reihenfolge aus:
- Parametereingabe beim Ausfüllen des Formulars.
- Intent-Übereinstimmungen für zugehörige Routen.
- Datenspeicher-Handler mit FAQ-Datenspeicherinhalt.
- Datenspeicher-Handler mit unstrukturiertem Datenspeicherinhalt.
Datenspeicher-Handler für einen vorhandenen Agent hinzufügen oder bearbeiten
Datenspeicher-Handler sind eine spezielle Art von Dialogflow-Zustands-Handler. Sie können sie also auf Abläufe oder Seiten anwenden und mit denselben Bereichsregeln ausgewertet werden.
So fügen Sie einen Datenspeicher-Handler hinzu oder bearbeiten ihn:
- Zur Dialogflow CX Console
- Wählen Sie Ihr Google Cloud-Projekt aus.
- Wählen Sie den Agent aus.
- Wählen Sie den Ablauf aus, der mit dem Datenspeicher-Handler verknüpft ist. Dies ist in der Regel der Standard-Startablauf.
- Wählen Sie die Seite aus, die dem Datenspeicher-Handler zugeordnet ist. Dies ist in der Regel die Startseite.
- Klicken Sie in den Seitendaten auf Zustands-Handler hinzufügen und wählen Sie dann Datenspeicher aus.
- Wenn Sie einen Datenspeicher erstellen müssen, werden Sie zur Benutzeroberfläche von Vertex AI Search and Conversation weitergeleitet. In den Informationen zum Datenspeicher finden Sie weitere Informationen zur Auswahl.
- Wenn Sie bereits einen Datenspeicher haben, klicken Sie auf Datenspeicher bearbeiten.
- Nehmen Sie die gewünschten Änderungen vor und speichern Sie sie, wenn Sie fertig sind. Informationen zu spezifischen Einstellungen für Datenspeicher finden Sie unten.
Agent-Antworten
Im Abschnitt Agent-Antworten können Sie benutzerdefinierte Antworten angeben, die auf generative Antworten verweisen.
Verwenden Sie $request.knowledge.questions[0]
im Abschnitt Agent sagt, um die generative Antwort zu geben.
Antwortoptionen für Datenspeicher
Sie können das Feld Maximale Anzahl von Links aktualisieren, um die maximale Anzahl von zusätzlichen Links anzugeben, die von den generativen Antworten bereitgestellt werden sollen.
Mit Gesprächsausbrüchen umgehen
Endnutzer stellen während eines Gesprächs klärende Fragen. Wenn beispielsweise Kreditkartendaten erhoben werden, möchte der Mitarbeiter eventuell klären, was eine CVV ist. In diesem Fall sollte Ihr Agent die Frage beantworten und die erforderlichen Kreditkartendaten erfassen. Dazu können Sie einen Datenspeicher-Handler mit Datenspeichern erstellen, die die Frage beantworten, diesen Handler auf die Startseite des Ablaufs anwenden, der die Erfassung von Kreditkartendaten verarbeitet, und ein Übergangsziel festlegen, damit dieser Handler zur "aktuellen Seite" zurückkehrt.
Unerwünschte Intent-Übereinstimmungen verarbeiten
Wenn Ihr Agent Intents abgleicht, aber einen Datenspeicher-Handler verwenden sollte, können Sie Folgendes versuchen, um das Problem zu beheben:
- Löschen oder ändern Sie vage Trainingsformulierungen, damit alle Ihre Trainingsformulierungen genau die gewünschte Absicht erfüllen und nicht mit dem Inhalt Ihres Datenspeichers in Konflikt stehen.
- Verwenden Sie Negativbeispiele, um einen Intent-Abgleich zu vermeiden.
Datenspeicherfilterung
In einigen Fällen sollen je nach Sitzungsparameterwerten möglicherweise nur bestimmte Datenspeicher für Abfragen verfügbar sein. Sie können beispielsweise eindeutige Datenspeicher für Produktkategorien haben. So führen Sie das Filtern von Datenspeichern für Produktkategorien durch:
- Legen Sie Produktkategorien als Sitzungsparameter fest.
- Erstellen Sie Bedingungsrouten, die die Werte der Sitzungsparameter prüfen und zu einer bestimmten Seite mit dem gewünschten Datenspeicher-Handler wechseln.
- Der Datenspeicher-Handler sollte zurück zur aufrufenden Seite wechseln, damit die Unterhaltung fortgesetzt werden kann.
Personalisierung
Um generative Antworten für Endnutzer relevanter zu gestalten, können Sie Dialogflow Informationen über Nutzer bereitstellen.
Diese Informationen werden im JSON-Format bereitgestellt. Es wird kein Schema erwartet, sodass Sie die Objekteigenschaften definieren können. Diese JSON-Datei wird unverändert an das Large Language Model gesendet, sodass beschreibende Attributnamen und -werte zu den besten Ergebnissen führen.
Beispiel:
{
"subscription plan": "Business Premium Plus",
"devices owned": [
{"model": "Google Pixel 7"},
{"model": "Google Pixel Tablet"}
]
}
Mit der Dialogflow API personalisieren
Sie können diese Daten Dialogflow beim Senden von Anfragen zur Intent-Erkennung zur Verfügung stellen. Diese Informationen müssen in jeder Anfrage zur Intent-Erkennung angegeben werden, da sie nicht in der Sitzung beibehalten werden.
Geben Sie diese Informationen im Feld queryParams.endUserMetadata
der Methode Sessions.detectIntent
an.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Sitzungsressource | Sitzungsressource |
RPC | Sitzungsoberfläche | Sitzungsoberfläche |
C++ | SessionsClient | Nicht verfügbar |
C# | SessionsClient | Nicht verfügbar |
Einfach loslegen (Go) | SessionsClient | Nicht verfügbar |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Nicht verfügbar | Nicht verfügbar |
Python | SessionsClient | SessionsClient |
Ruby | Nicht verfügbar | Nicht verfügbar |
Mit Dialogflow Messenger personalisieren
Sie können diese Daten für die Dialogflow Messenger-Integration bereitstellen. Weitere Informationen finden Sie unter der Methode setContext.
Suchkonfiguration
Um das Verhalten des Agents besser steuern und die Qualität der Antworten zu verbessern, können Sie Boost- und Filter-Suchkonfigurationen zur Verfügung stellen, mit denen Sie Dokumente hochstufen, herabstufen und filtern können.
Mit Steuerelementen zur Verstärkung können Sie das Ranking der Suchergebnisse ändern, indem Sie bestimmten Dokumenten einen Boost-Wert (größer als null für ein höheres Ranking, kleiner als null für ein niedrigeres Ranking) anwenden.
Mit Filtersteuerungen können Sie Suchergebnisse anhand der angegebenen Filterkriterien entweder beibehalten oder entfernen.
Diese Informationen werden als JSON für Dialogflow-Anfragen bereitgestellt. Das Format der JSON-Datei hängt vom Typ der Suchsteuerung ab.
Verstärkungssteuerung
In der folgenden Suchkonfiguration wird eine Optimierungssteuerung beschrieben:
"searchConfig": {
"boostSpecs": [
{
"dataStores": [ "DATASTORE_ID" ],
"spec": [
{
"conditionBoostSpecs": {
"condition": "CONDITION",
"boost": "1.0"
}
}
]
}
]
}
Filtersteuerung
Die folgende Suchkonfiguration beschreibt eine Filtersteuerung:
"searchConfig": {
"filterSpecs": [
{
"dataStores": [ "DATASTORE_ID" ],
"filter": "CONDITION"
}
]
}
Suchkonfiguration mit der Dialogflow API einrichten
Sie können diese Daten Dialogflow beim Senden von Anfragen zur Intent-Erkennung zur Verfügung stellen. Diese Informationen müssen in jeder Anfrage zur Intent-Erkennung angegeben werden, da sie nicht in der Sitzung beibehalten werden.
Geben Sie diese Informationen im Feld queryParams.searchConfig
der Methode Sessions.detectIntent
an.
Wählen Sie ein Protokoll und eine Version für die Sitzungsreferenz aus:
Protokoll | V3 | V3beta1 |
---|---|---|
REST | Sitzungsressource | Sitzungsressource |
RPC | Sitzungsoberfläche | Sitzungsoberfläche |
C++ | SessionsClient | Nicht verfügbar |
C# | SessionsClient | Nicht verfügbar |
Einfach loslegen (Go) | SessionsClient | Nicht verfügbar |
Java | SessionsClient | SessionsClient |
Node.js | SessionsClient | SessionsClient |
PHP | Nicht verfügbar | Nicht verfügbar |
Python | SessionsClient | SessionsClient |
Ruby | Nicht verfügbar | Nicht verfügbar |
Suchkonfiguration mit Dialogflow Messenger einrichten
Sie können diese Daten für die Dialogflow Messenger-Integration bereitstellen.
Um eine Suchsteuerung anzuwenden, muss dem DF-Messenger-Code das folgende Snippet hinzugefügt werden, wenn es in eine Website eingebettet wird:
<script>
document.addEventListener('df-messenger-loaded', () => {
const dfMessenger = document.querySelector('df-messenger');
const searchConfig = { ... }
dfMessenger.setQueryParameters(searchConfig);
});
</script>
Siehe die Methode setQueryParameters.