Datenspeicher-Agents

Das Vertex AI Conversation-Feature erstellt einen speziellen Dialogflow-Agent, der als Datenspeicher-Agent bezeichnet wird. Mit dieser Funktion stellen Sie einen Websitelink oder Dokumente (Datenspeicher) bereit. Google parst Ihre Inhalte und erstellt einen virtuellen Kundenservicemitarbeiter, der auf Large Language Models basiert. Dazu erstellen Sie spezielle Zustands-Handler namens Datenspeicher-Handler. Mithilfe dieser Datenspeicher-Handler kann der Datenspeicher-Agent Gespräche über den Inhalt mit Ihren Endnutzern führen.

Sie können Ihren Domainnamen angeben und/oder eine beliebige Anzahl von Dokumenten hochladen, die dann von Google indexiert werden. Der Agent kann dann in Echtzeit auf diese Informationen zugreifen. Dies vereinheitlicht die Leistung und Genauigkeit der Google-Suchalgorithmen, die für Ihre öffentlichen oder privaten Daten ausgeführt werden, mit den natürlichen Gesprächsfunktionen von Dialogflow.

Eine Anleitung zum Erstellen eines neuen Datenspeicher-Agents finden Sie in der Einführung in Vertex AI Conversation.

Hybrid-Agents

Wenn Sie bereits einen Dialogflow CX-Agent haben, können Sie diesen Agent auf einen Hybrid-Agent upgraden, der die Leistung präziser Unterhaltungssteuerungen (Abläufe, Parameter, Intents, Bedingungen, Übergänge usw.) mit generativen Features des Datenspeicher-Handlers kombiniert.

Im Rahmen dieses Upgrades können Sie Intent-Routen für bestimmte Unterhaltungsszenarien aus Ihrem Agent löschen oder vorübergehend deaktivieren (beim Testen von Datenspeicher-Handlern), da die Datenspeicher-Handler diese Szenarien einfacher handhaben können.

Für Datenspeicher-Handler werden die folgenden Szenarien empfohlen:

  • Fragen, die in den Dokumenten oder auf der Website Ihrer Organisation beantwortet werden können
  • Häufig gestellte Fragen, die keine Datenbanksuche erfordern.

Die folgenden Szenarien werden für Datenspeicher-Handler nicht empfohlen:

  • Inhalte, in denen keine Antworten auf die gewünschten Fragen enthalten sind
  • Fragen, die Datenbanksuchen oder Serveranfragen erfordern.
  • Szenarien, die Datenentfernung erfordern.
  • Szenarien, die deterministische Agent-Antworten erfordern.

Bewertungsreihenfolge der Eingabe

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

  1. Eingabe des Parameters beim Ausfüllen des Formulars.
  2. Intents stimmen mit entsprechenden Routen überein.
  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 dem Datenspeicher-Handler zugeordnet ist. Dies ist in der Regel der Standardstartablauf.
  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 Search and Conversation 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 den 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 bereitzustellen.

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 Unterhaltungsausfällen umgehen

Ein Endnutzer kann während eines Gesprächs klärende Fragen stellen. Bei der Erfassung von Kreditkartendaten möchte er beispielsweise klären, was eine CVV ist. In diesem Fall sollte der Agent die Frage beantworten und die erforderlichen Kreditkartendaten einholen. Dazu können Sie einen Datenspeicher-Handler mit Datenspeichern erstellen, die die Frage beantworten, diesen Handler auf die Ablaufstartseite des Ablaufs anwenden, der die Erfassung von Kreditkarteninformationen verarbeitet, und ein Übergangsziel für diesen Handler festlegen, damit er zur "aktuellen Seite" zurückkehrt.

Unerwünschte Intent-Übereinstimmungen verarbeiten

Wenn Ihr Agent Intents zuordnet, obwohl er einen Datenspeicher-Handler verwenden sollte, können Sie Folgendes versuchen, um das Problem zu beheben:

  • Löschen oder ändern Sie ungenaue 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 den Intent-Abgleich zu vermeiden.

Datenspeicherfilter

In einigen Fällen möchten Sie möglicherweise nur bestimmte Datenspeicher für Abfragen zur Verfügung stellen. Dies hängt von den Werten der Sitzungsparameter ab. Sie können beispielsweise eindeutige Datenspeicher für Produktkategorien haben. So filtern Sie Datenspeicher nach Produktkategorien:

  • Legen Sie Sitzungsparameter für Produktkategorien 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 zu Nutzern zur Verfügung stellen.

Diese Informationen werden im JSON-Format bereitgestellt. Es wird kein Schema erwartet, sodass Sie die Objektattribute definieren können. Dieser JSON-Code wird in der vorliegenden Form an das Large Language Model gesendet. Beschreibende Attributnamen und -werte führen also zu den besten Ergebnissen.

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 beim Senden von Anfragen zur Intent-Erkennung an Dialogflow weitergeben. Diese Informationen müssen in jeder Anfrage zur Intent-Erkennung angegeben werden, da sie nicht in der Sitzung gespeichert 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

Damit Sie das Verhalten des Agents besser steuern und die Qualität der Antworten verbessern können, werden Suchkonfigurationen mit Boosting und Filter verfügbar gemacht, mit denen Sie Dokumente hochstufen, herabstufen und filtern können.

Mit Steuerelementen zur Verstärkung können Sie die Rangfolge von Suchergebnissen ändern. Dazu wenden Sie auf bestimmte Dokumente einen Boost-Wert an (größer als null für ein höheres Ranking, kleiner als null für ein niedrigeres Ranking).

Mit Filtersteuerungen können Sie Suchergebnisse anhand der angegebenen Filterkriterien entweder beibehalten oder entfernen.

Diese Informationen werden Dialogflow-Anfragen im JSON-Format zur Verfügung gestellt. Das Format der JSON-Datei hängt vom Typ der Suchsteuerung ab.

Verstärkungssteuerung

Die folgende Suchkonfiguration beschreibt eine Optimierungssteuerung:

"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 beim Senden von Anfragen zur Intent-Erkennung an Dialogflow weitergeben. Diese Informationen müssen in jeder Anfrage zur Intent-Erkennung angegeben werden, da sie nicht in der Sitzung gespeichert 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.

Wenn Sie eine Suchsteuerung anwenden möchten, 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>

Weitere Informationen finden Sie unter der Methode setQueryParameters.

Codelab

Weitere Informationen finden Sie im Codelab zum Datenspeicher-Agent und zur generativen Chat-App.