Mega-Agents

Sie können mehrere Dialogflow-Agents, die als Sub-Agents bezeichnet werden, zu einem einzigen Agent, dem sogenannten Mega-Agent, kombinieren. Wenn Sie eine Anfrage zur Intent-Erkennung für einen Mega-Agent durchführen, werden alle Sub-Agents berücksichtigt und die beste Antwort der Sub-Agents zurückgegeben.

Es gibt eine Vielzahl von Gründen, Mega-Agents zu verwenden:

  • Bessere Governance: Wenn mehrere Teams einen Agent erstellen, kann jedes Team für einen Sub-Agent verantwortlich sein, was den Umgang mit Änderungskonflikten in den Teams vereinfacht.
  • Mehr Intents: Wenn Sie Agents mit einer großen Anzahl von Intents haben, können Sie das Limit für die Anzahl von Intents erreichen. In diesem Fall könnten Sie mehrere Sub-Agents und einen Mega-Agent erstellen.

Einschränkungen

Für Mega-Agents gelten folgenden Einschränkungen:

  • Wie bei allen Agents können Sie nur einen Agent pro GCP-Projekt erstellen, sodass jeder Sub-Agent und Mega-Agent mit seinem eigenen GCP-Projekt verknüpft ist.
  • Ein Mega-Agent kann maximal zehn Sub-Agents haben.
  • Small Talk funktioniert nicht für Mega-Agents.
  • Die Intent-Priorität von Sub-Agents wirkt sich nicht auf die Intent-Zuordnung aus, wenn Anfragen an einen Mega-Agent gesendet werden.
  • Von Partnern integrierte Telefonieeinbettungen (AudioCodes, Avaya, Genesys, SignalWire, Voximplant) werden nicht unterstützt.

Sub-Agents erstellen

Sub-Agents werden wie jeder andere Agent erstellt. Fügen Sie nach Bedarf Intents, Kontexte, Entitäten usw. hinzu, um Ihre Agents zu erstellen.

Mega-Agent erstellen oder aktualisieren

Sie können die Dialogflow-Konsole verwenden, um einen Mega-Agent zu erstellen und mit Sub-Agents zu verknüpfen.

Dialogflow berücksichtigt die meisten Agent-Einstellungen des Mega-Agents und erfasst Daten im Mega-Agent. Beispiel:

Web-UI

1. Mega-Agent erstellen

  1. Rufen Sie die Dialogflow ES-Konsole auf.
  2. Klicken Sie im linken Seitenleistenmenü auf Create Agent (Agent erstellen). Wenn Sie bereits andere Agents haben, klicken Sie auf den Agent-Namen, scrollen Sie nach unten und klicken Sie dann auf Create new agent.
  3. Geben Sie den Namen des Agents, die Standardsprache, die Standardzeitzone und das GCP-Projekt ein.
  4. Legen Sie für Agent Type die Option Mega Agent fest.
  5. Klicken Sie auf Create.

2. Sub-Agents hinzufügen und verwalten

  1. Klicken Sie im linken Seitenleistenmenü auf Sub Agents.
  2. Wählen Sie einen Sub-Agent aus, den Sie dem Mega-Agent hinzufügen möchten.
  3. Die Standardeinstellung für Environment für den Sub-Agent ist Draft. Sie können dies jedoch nach Bedarf aktualisieren.
  4. Wenn Sie die mit dem Sub-Agent verknüpfte Wissensdatenbank (Knowledge Base) verwenden möchten, ändern Sie das Feld von Excluded in Included.
  5. Klicken Sie auf Speichern.

Rollen einrichten

Je nachdem, wie Sie Ihren Mega-Agent verwenden möchten, müssen Sie in Ihren Sub-Agent-Projekten Mitglieder mit bestimmten Rollen einrichten, sodass der Mega-Agent die Berechtigung hat, Aufrufe an die Sub-Agents auszuführen. So richten Sie diese Rollen ein:

  1. Erstellen Sie wie gewohnt die GCP-Projekte für den Mega-Agent und die Sub-Agents und stellen Sie sicher, dass Sie die Dialogflow API für jedes Projekt aktiviert haben.
  2. Wenn Sie für die Interaktion mit Ihrem Mega-Agent die API verwenden möchten, muss das Dienstkonto für Mega-Agent-API-Aufrufe Mitglied aller Sub-Agent-Projekte sein und die angewendete Rolle sollte die Berechtigung haben, Intent-Aufrufe zu erkennen. Die folgenden Rollen gewähren diesen Zugriff: "Projektinhaber", "Projektbearbeiter", "Dialogflow API-Administrator" und "Dialogflow API-Client". So rufen Sie die E-Mail-Adresse dieses Dienstkontos ab:
    1. Rufen Sie die IAM-Seite Dienstkonten auf.
    2. Wählen Sie das Projekt für Ihren Mega-Agent aus.
    3. Wählen Sie ein Dienstkonto aus, das Sie bereits für API-Aufrufe erstellt haben, oder fügen Sie ein neues Dienstkonto mit der gewünschten Rolle hinzu. Folgen Sie der Einrichtungsanleitung, um ein neues Dienstkonto zu erstellen und einen privaten Schlüssel herunterzuladen.
    4. Notieren Sie sich die E-Mail-Adresse des ausgewählten Dienstkontos. Diese benötigen Sie unten.
  3. Wenn Sie im Dialogflow-Simulator mit dem Mega-Agent interagieren möchten, muss das automatisch erstellte dialogflow-alphanum@project-id.iam.gserviceaccount.com-Dienstkonto für das Projekt des Mega-Agents Mitglied aller Sub-Agent-Projekte sein und die angewendete Rolle sollte die Berechtigung haben, Intent-Aufrufe zu erkennen. Die folgenden Rollen gewähren diesen Zugriff: "Projektinhaber", "Projektbearbeiter", "Dialogflow API-Administrator" und "Dialogflow API-Client". So rufen Sie die E-Mail-Adresse dieses Dienstkontos ab:
    1. Rufen Sie die Dialogflow ES-Konsole auf.
    2. Wählen Sie Ihren Mega-Agent aus.
    3. Klicken Sie neben dem Agent-Namen auf die Schaltfläche  für die Einstellungen.
    4. Sehen Sie sich auf dem Tab General die Angaben bei Service Account an. Notieren Sie sich die E-Mail-Adresse des Dienstkontos. Diese benötigen Sie unten.
  4. Wenn Sie für den Mega-Agent Integrationen verwenden möchten, muss das automatisch erstellte service-project-num@gcp-sa-dialogflow.iam.gserviceaccount.com-Dienstkonto für das Projekt des Mega-Agents Mitglied aller Sub-Agent-Projekte sein und die angewendete Rolle sollte die Berechtigung haben, Intent-Aufrufe zu erkennen. Die folgenden Rollen gewähren diesen Zugriff: "Projektinhaber", "Projektbearbeiter", "Dialogflow API-Administrator" und "Dialogflow API-Client". So rufen Sie die E-Mail-Adresse dieses Dienstkontos ab:

    1. Rufen Sie die IAM-Seite Dienstkonten auf.
    2. Wählen Sie das Projekt für Ihren Mega-Agent aus.
    3. Suchen Sie das Dienstkonto, das dem Muster entspricht:
      service-project-num@gcp-sa-dialogflow.iam.gserviceaccount.com
    4. Notieren Sie sich die E-Mail-Adresse des ausgewählten Dienstkontos. Diese benötigen Sie unten.
  5. Fügen Sie jedem Sub-Agent-Projekt die oben abgerufenen Mega-Agent-Dienstkonten als Mitglieder hinzu:

    1. Rufen Sie die IAM-Hauptseite auf.
    2. Wählen Sie das Projekt für Ihren Sub-Agent aus.
    3. Fügen Sie die E-Mail-Adressen der Dienstkonten Ihres Mega-Agents als Mitglieder des Projekts hinzu und weisen Sie ihnen die gewünschten Rollen zu.

Intent erkennen

Rufen Sie zur Intent-Erkennung die Anfrage wie jede andere Anfrage zur Intent-Erkennung auf und verwenden Sie die Projekt-ID des Mega-Agents. Dialogflow berücksichtigt alle Sub-Agents und die beste Antwort von den Sub-Agents wird zurückgegeben.

Betrachten Sie beispielsweise die folgenden Sub-Agents:

Sub-Agent Intent Trainingsformulierungen
Bestellungen Bücher "Ich möchte ein Buch kaufen"
"Buch in den Einkaufswagen legen"
Hüte "Ich möchte einen Hut kaufen"
"Ich möchte einen Hut haben"
Konto Kontostand "Wie hoch ist mein Guthaben?"
"Wie viel ist noch auf meinem Konto?"
Adresse "Ich möchte meine Adresse ändern"
"Ich habe eine neue Adresse"

Wenn ein Endnutzer sagt: "Ich möchte einen Hut kaufen", führt eine an den Mega-Agent gesendete Anfrage zur Intent-Erkennung zu einer Übereinstimmung mit dem Intent Hats im Agent Orders.

Wenn Sie einen oder mehrere Sub-Agents für eine Anfrage zur Intent-Erkennung angeben möchten, legen Sie das Feld subAgents auf QueryParameters fest. Der REST-JSON-Code für diese Anfrage würde beispielsweise so aussehen:

{
  "queryInput": {
    "text": {
      "text": "reserve a meeting room for six people",
      "languageCode": "en-US"
    }
  },
  "queryParams": {
    "subAgents": [
       {"project": "projects/sub-agent-1-project-id"},
       {"project": "projects/sub-agent-2-project-id"}
    ]
  }
}

Ereignisse aufrufen

Um ein Ereignis von einem Webhook-Dienst aus aufzurufen, können Sie den Sub-Agent für den Intent angeben, den Sie auslösen möchten. Verwenden Sie dazu das folgende Format für Ereignisnamen:

sub-agent-project-id.event-name

Wenn die Projekt-ID des Sub-Agents beispielsweise 123 lautet und der Ereignisname für den gewünschten Intent alarm lautet, verwenden Sie 123.alarm für den Ereignisnamen.

Wenn Sie keinen Sub-Agent für das Ereignis angeben, wird das Ereignis an den Sub-Agent zurückgesendet, der den zuvor übereinstimmenden Intent enthält.

Ausgabekontext festlegen

Um Ausgabekontexte aus einem Webhook-Dienst festzulegen, können Sie den Sub-Agent angeben, zu dem der Kontext gehört. Verwenden Sie das folgende Format:

projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_agent_project_id.context_name

Wenn die Sitzung beispielsweise projects/mega_agent_project_id/agent/sessions/session_id ist und Sie einen Kontext namens music_context für einen Sub-Agent mit der Projekt-ID sub_project_1 festlegen möchten, können Sie den Ausgabekontext mit folgendem Namen festlegen:

projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_project_1.music_context

Wenn Sie kein Sub-Agent-Präfix für den Kontextnamen angeben, wird es vom System als Kontext des Mega-Agents betrachtet.