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:
- Ein Mega-Agent und seine Sub-Agents müssen in derselben Region erstellt werden.
- Innerhalb einer Region sind ein Mega-Agent und seine Sub-Agenten alle mit verschiedenen Google Cloud -Projekten verknüpft.
- 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.
- Die Google Assistant-Integration kann nicht mit einem Mega-Agent verwendet werden.
- Integrierte Telefonie-Integrationen von Partnern (AudioCodes, Avaya, SignalWire, Voximplant) werden nicht unterstützt.
- Der Mega-Agent unterstützt keine Fallback-Intents, die als Follow-up Intents verwendet werden.
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 Agenteneinstellungen des Mega-Agents und protokolliert Daten im Mega-Agent. Beispiel:
- Dialogflow übernimmt die agentenweiten Einstellungen für Logging, Sentiment, Speech-to-Text und Text-to-Speech vom Mega-Agenten.
- Dialogflow speichert Analysen, Unterhaltungsverlauf und Daten für das Trainingstool im Mega-Agent.
Web-UI
1. Mega-Agent erstellen
- Rufen Sie die Dialogflow ES-Konsole auf.
- 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.)
- Geben Sie neben dem Namen des Agents auch die Standardsprache, die Standardzeitzone und dasGoogle Cloud -Projekt ein.
- Legen Sie für Agent Type die Option Mega Agent fest.
- Klicken Sie auf Create.
2. Sub-Agents hinzufügen und verwalten
- Klicken Sie im linken Seitenleistenmenü auf Sub Agents.
- Wählen Sie einen Sub-Agent aus, den Sie dem Mega-Agent hinzufügen möchten.
- Die Standardeinstellung für Environment für den Sub-Agent ist Draft. Sie können dies jedoch nach Bedarf aktualisieren.
- Wenn Sie die mit dem Sub-Agent verknüpfte Wissensdatenbank (Knowledge Base) verwenden möchten, ändern Sie das Feld von Excluded in Included.
- Klicken Sie auf Speichern.
Rollen einrichten
Je nachdem, wie Sie Ihren Mega-Agent verwenden möchten, müssen Sie bestimmteRollen in Ihren Sub-Agent-Projekten haben, sodass der Mega-Agent die Berechtigung hat, Aufrufe an die Sub-Agents auszuführen. So richten Sie diese Rollen ein:
- Erstellen Sie die Projekte für den Mega-Agenten und die Sub-Agenten Google Cloud wie gewohnt und aktivieren Sie für jedes Projekt die „Dialogflow API“.
- Wenn Sie für die Interaktion mit Ihrem Mega-Agent die API verwenden möchten, müssen Sie dem Dienstkonto, das Sie für Mega-Agent-API-Aufrufe verwenden, eine Rolle für jedes Ihrer Sub-Agent-Projekte zuweisen und die Rolle sollte die Berechtigung haben, Intent-Aufrufe zu erkennen.
Die folgenden Rollen bieten diesen Zugriff: Projektinhaber, Project Editor, Dialogflow API Admin oder Dialogflow API Client.
So rufen Sie die E-Mail-Adresse dieses Dienstkontos ab:
- Rufen Sie die IAM-Seite Dienstkonten auf.
- Wählen Sie das Projekt für Ihren Mega-Agent aus.
- 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.
- Notieren Sie sich die E-Mail-Adresse des ausgewählten Dienstkontos. Diese benötigen Sie unten.
Wenn Sie Integrationen für den Mega-Agenten verwenden möchten, muss das automatisch erstellte Dienstkonto service-project-number@gcp-sa-dialogflow. für das Projekt des Mega-Agenten eine Rolle in diesem Projekt haben, die die Berechtigung zum Aufrufen von Intent-Erkennungsaufrufen enthält. Die folgenden Rollen bieten diesen Zugriff: Projektinhaber, Project Editor, Dialogflow API Admin oder Dialogflow API Client. So rufen Sie die E-Mail-Adresse dieses Dienstkontos ab:
- Rufen Sie die IAM-Hauptseite auf.
- Wählen Sie das Projekt für Ihren Mega-Agent aus.
- Aktivieren Sie rechts die Option Einschließen von Google-Rollenzuweisungen.
- Suchen Sie das Dienstkonto, das dem Muster service-project-number@gcp-sa-dialogflow. entspricht.
- Notieren Sie sich die E-Mail-Adresse des ausgewählten Dienstkontos. Diese benötigen Sie unten.
Weisen Sie für jedes Sub-Agent-Projekt den oben erfassten Mega-Agent-Dienstkonten Rollen zu:
- Rufen Sie die IAM-Hauptseite auf.
- Wählen Sie das Projekt für Ihren Sub-Agent aus.
- Weisen Sie den Dienstkonto-E-Mail-Adressen des Mega-Agents im Projekt 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.
Lebensdauer des Kontexts
Wenn ein Kontext aktiv wird, bestimmt die Kontextlebensdauer normalerweise, wie viele Gesprächsrunden stattfinden, bevor der Kontext inaktiv wird. Im Wesentlichen wird die Laufzeit eines aktiven Kontexts für jede Gesprächsrunde nach der Aktivierung verringert.
Dieses Verhalten kann bei Mega-Agenten anders sein. Während einer Unterhaltung können Intents von verschiedenen Sub-Agenten für jede Unterhaltungsrunde abgeglichen werden. Wenn ein Intent von einem Sub-Agenten abgeglichen wird und der Intent einen Ausgabekontext hat, wird die Lebensdauer dieses Kontexts nur für weitere Übereinstimmungen von Intents im selben Sub-Agenten verringert.
Beispiel: Ein Intent-Match tritt im Sub-Agenten A auf und der Intent hat einen Ausgabekontext, der einen Kontext aktiviert. Übereinstimmungen von Intents im Sub-Agenten B verringern nicht die Laufzeit-Lebensdauer für den aktiven Kontext, der im Sub-Agenten A erstellt wurde.
Versionen und Umgebungen
Mit Versionen und Umgebungen auf der Mega-Agent-Ebene können Sie verschiedene Snapshots des Fallback-Intents des Mega-Agents erstellen und verschiedene Webhooks und Text-to-Speech-Einstellungen für verschiedene Mega-Agent-Umgebungen festlegen.
Die Einstellungen auf der Seite Sub-Agents des Mega-Agents sind nicht in den Versionen und Umgebungen des Mega-Agents enthalten. Bei Mega-Agent-Anfragen werden die Umgebungen der Sub-Agents immer auf dieser Seite angegeben.