Datenspeicher-Agents

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) und eu (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:

  1. Folgen Sie der setup von Dialogflow, falls noch nicht geschehen.
  2. Rufen Sie die Agent Builder-Konsole auf:

    Agent Builder-Konsole

  3. Wählen Sie im Drop-down-Menü der Konsole Ihr Projekt aus.

  4. Wenn Sie die API noch nicht aktiviert haben, lesen und akzeptieren Sie die Nutzungsbedingungen. Klicken Sie dann auf Weiter und API aktivieren.

  5. Klicken Sie auf Neue App erstellen oder Neue App.

  6. Wähle Chat aus.

  7. Geben Sie im Abschnitt Agent-Konfigurationen den Namen Ihres Unternehmens an.

  8. Maximieren Sie den Bereich mit den Einstellungen für Zeitzone und Sprache.

  9. Wählen Sie eine Zeitzone aus.

  10. Wählen Sie eine Standardsprache aus.

  11. Geben Sie im Abschnitt Name des Agents einen Agent-Namen ein.

  12. Wählen Sie im Abschnitt Standort des Agents eine Region oder mehrere Regionen aus.

  13. Klicken Sie auf Weiter.

  14. 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:
      1. Klicken Sie auf Neuen Datenspeicher erstellen.
      2. Wählen Sie eine Datenquelle aus.
      3. Geben Sie Daten und Konfiguration für die ausgewählte Datenspeicherquelle an. Der Speicherort des Datenspeichers sollte dem Agent-Standort entsprechen.
      4. Klicken Sie auf Erstellen, um den Datenspeicher zu erstellen.
      5. Wählen Sie den neuen Datenspeicher aus.
  15. Klicken Sie auf Erstellen.

  16. 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.

  17. Wenn Sie einen neuen Datenspeicher für eine Website erstellt haben, müssen Sie Ihre Domain bestätigen.

  18. 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.

Einstellungen

Die folgenden Agent-Einstellungen für den Datenspeicher sind verfügbar.

Fundierung

Für jede Antwort, die aus dem Inhalt der verbundenen Datenspeicher generiert wird, wird ein Konfidenzniveau berechnet. Damit wird die Konfidenz beurteilt, ob alle Informationen in der Antwort von Informationen in den Datenspeichern unterstützt werden. Sie können das niedrigste zulässige Konfidenzniveau auswählen. Der Agent gibt dann keine Antworten zurück, die niedriger als dieses Niveau sind.

Es stehen fünf Konfidenzniveaus zur Auswahl: sehr niedrig, niedrig, mittel, hoch und sehr hoch.

Sie können auch einen Basisheuristikfilter anwenden. Wenn diese Option aktiviert ist, werden Antworten mit Inhalten unterdrückt, die aufgrund häufiger Halluzinationen wahrscheinlich ungenau sind.

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.
  • Name des Unternehmens: Geben Sie 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: 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. Dies wird im Rahmen der Antwortgenerierung verwendet.

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 ausfü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. Die folgende Tabelle enthält die verfügbaren Optionen:

Modellkennzeichnung Sprachunterstützung
Standard Dies ist die derzeit empfohlene Konfiguration, die sich im Laufe der Zeit ändern kann. Wenn Sie diese Option verwenden, kann sich das Verhalten des Agents ändern (wahrscheinlich Verbesserungen) sein. Wenn Sie das Verhalten des Agents einheitlicher gestalten möchten, wählen Sie ein bestimmtes Modell aus.
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 second 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>. 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:

Datenspeicher-Fallback

Dieser Bereich enthält die folgenden Einstellungen:

  • Fallback-Link: Der am besten geeignete Link wird angezeigt, wenn der Agent keine Antwort liefert.
  • Generative AI aktivieren: Erlauben Sie dem Datenspeicher, beim Generieren von Ergebnissen Generative AI zu verwenden.

Agent-Antworten verbessern

Wenn Sie beim Testen Antworten finden, die Ihre Erwartungen nicht erfüllen, versuchen Sie Folgendes.

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:

  1. Intent-Übereinstimmung für zugehörige Routen
  2. FAQ-Inhalt des Datenspeichers
  3. Inhalt des unstrukturierten Datenspeichers

Eingabeauswertungsreihenfolge

Dialogflow wertet Endnutzereingaben für Hybrid-Agents in der folgenden Reihenfolge aus:

  1. Parametereingabe beim Ausfüllen des Formulars.
  2. Intent-Übereinstimmungen für zugehörige Routen.
  3. Datenspeicher-Handler mit FAQ-Datenspeicherinhalt.
  4. 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:

  1. Zur Dialogflow CX Console
  2. Wählen Sie Ihr Google Cloud-Projekt aus.
  3. Wählen Sie den Agent aus.
  4. Wählen Sie den Ablauf aus, der mit dem Datenspeicher-Handler verknüpft ist. Dies ist in der Regel der Standard-Startablauf.
  5. Wählen Sie die Seite aus, die dem Datenspeicher-Handler zugeordnet ist. Dies ist in der Regel die Startseite.
  6. Klicken Sie in den Seitendaten auf Zustands-Handler hinzufügen und wählen Sie dann Datenspeicher aus.
  7. Wenn Sie einen Datenspeicher erstellen müssen, werden Sie zur Benutzeroberfläche von Vertex AI Agent Builder weitergeleitet. In den Informationen zum Datenspeicher finden Sie weitere Informationen zur Auswahl.
  8. Wenn Sie bereits einen Datenspeicher haben, klicken Sie auf Datenspeicher bearbeiten.
  9. 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 Suchkonfigurationen mit Boost- und Filteroptionen verwenden. So können Sie Dokumente hochstufen, herabstufen und filtern.

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.