Puoi combinare più agenti Dialogflow, chiamati subagenti, in un unico agente, chiamato mega agente. Quando esegui una richiesta di rilevamento dell'intent per un mega-agente, vengono presi in considerazione tutti i sub-agenti e viene restituita la risposta migliore tra quelle dei sub-agenti.
Esistono diversi motivi per cui potresti voler utilizzare i mega agenti:
- Migliore governance: se più team creano un agente, ciascuno può essere responsabile di un subagente, il che semplifica i conflitti di modifica tra i team.
- Più intent: se hai agenti con un numero elevato di intent, potresti avvicinarti al limite di conteggio degli intent. In questo caso, puoi creare più agenti secondari e un mega-agente.
Limitazioni
Ai mega agenti si applicano le seguenti limitazioni:
- Un mega-agente e i relativi agenti secondari devono essere creati nella stessa regione.
- All'interno di una regione, un mega-agente e i relativi subagenti sono associati a progetti Google Cloud diversi.
- Un mega-agente può avere al massimo 10 subagenti.
- Le chiacchiericci non funzionano per i mega agenti.
- La priorità dell'intent del sub-agente non influisce sulla corrispondenza dell'intent quando invii richieste a un mega-agente.
- L'integrazione dell'Assistente Google non può essere utilizzata con il mega-agente.
- Le integrazioni di telefonia integrate dei partner (AudioCodes, Avaya, SignalWire, Voximplant) non sono supportate.
- L'mega-agente non supporta intent di riserva utilizzati come intent di follow-up.
Creazione di subagenti
Puoi creare subagenti come qualsiasi altro agente. Aggiungi eventuali intent, contesti, entità e così via, come necessario per creare gli agenti.
Creazione o aggiornamento di un mega-agente
Puoi utilizzare la console Dialogflow per creare un mega-agente e collegarlo a subagenti.
Dialogflow prende in considerazione la maggior parte delle impostazioni dell'mega-agente e registra i dati nel mega-agente. Ad esempio:
- Dialogflow acquisisce le impostazioni di logging, sentiment, conversione da voce a testo e sintesi vocale a livello di agente dal mega-agente.
- Dialogflow archivia analisi, storia delle conversazioni e dati per lo strumento di addestramento nel mega-agente.
UI web
1. Creare un mega-agente
- Vai alla console Dialogflow ES.
- Fai clic su Crea agente nel menu della barra laterale a sinistra. Se hai già altri agenti, fai clic sul nome dell'agente, scorri verso il basso e fai clic su Crea nuovo agente.
- Inserisci il nome dell'agente, la lingua predefinita, il fuso orario predefinito e il progetto Google Cloud.
- Imposta Tipo di agente su Mega agente.
- Fai clic su pulsante Crea.
2. Aggiungere e gestire subagenti
- Fai clic su Agenti secondari nel menu della barra laterale a sinistra.
- Seleziona un agente secondario da aggiungere al mega-agente.
- Il valore predefinito dell'agente secondario Environment è Draft, ma puoi aggiornarlo in base alle tue esigenze.
- Se vuoi utilizzare la Knowledge Base associata al subagente, cambia il campo da Esclusa a Inclusa.
- Fai clic su Salva.
Configurare i ruoli
A seconda di come prevedi di utilizzare il mega-agente, devi concedere ruoli specifici nei progetti dei subagenti in modo che il mega-agente abbia l'autorizzazione per effettuare chiamate ai subagenti. Per configurare questi ruoli:
- Crea i progetti Google Cloud per l'mega-agente e gli agenti secondari come faresti normalmente e assicurati di aver attivato l'"API Dialogflow" per ciascuno.
- Se prevedi di utilizzare l'API per interagire con il tuo mega-agente, devi concedere un ruolo a ciascuno dei tuoi progetti di agenti secondari all'account di servizio che utilizzi per le chiamate API del mega-agente. Il ruolo deve disporre dell'autorizzazione per effettuare chiamate di rilevamento dell'intenzione.
I seguenti
ruoli
forniranno questo accesso:
Proprietario progetto, Editor del progetto, Amministratore dell'API Dialogflow o Client dell'API Dialogflow.
Per ottenere l'indirizzo email di questo account di servizio:
- Vai alla pagina dell'account di servizio IAM.
- Seleziona il progetto per il mega-agente.
- Seleziona un account di servizio già creato per le chiamate API o aggiungi un nuovo account di servizio con il ruolo desiderato. Segui le istruzioni di configurazione per creare un nuovo account di servizio e scaricare una chiave privata.
- Prendi nota dell'indirizzo email dell'account di servizio scelto. Ti servirà quanto segue.
Se prevedi di utilizzare eventuali integrazioni per il mega-agente, l'account di servizio service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com creato automaticamente per il progetto del mega-agente deve avere un ruolo in quel progetto che includa l'autorizzazione per effettuare chiamate di rilevamento intenzioni. I seguenti ruoli forniranno questo accesso: Proprietario progetto, Editor del progetto, Amministratore dell'API Dialogflow o Client dell'API Dialogflow. Per ottenere l'indirizzo email di questo account di servizio:
- Visita la pagina principale di IAM.
- Seleziona il progetto per il mega-agente.
- Attiva l'opzione Includi concessioni di ruoli fornite da Google a destra.
- Trova l'account di servizio che corrisponde al pattern:
service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com. - Prendi nota dell'indirizzo email dell'account di servizio scelto. Ti servirà quanto segue.
Per ogni progetto di agente secondario, concedi i ruoli agli account di servizio mega-agente raccolti sopra:
- Visita la pagina principale di IAM.
- Seleziona il progetto per il tuo subagente.
- Concedi i ruoli desiderati agli indirizzi email dell'account di servizio del tuo mega-agente nel progetto.
Rilevare l'intenzione
Per rilevare l'intent, chiama la richiesta come qualsiasi altra richiesta di rilevamento dell'intent e utilizza l'ID progetto del mega-agente. Dialogflow prenderà in considerazione tutti i subagenti e restituirà la risposta migliore tra quelle dei subagenti.
Ad esempio, considera i seguenti subagenti:
Subagente | Intent | Frasi di addestramento |
---|---|---|
Ordini | Libri | "Voglio acquistare un libro" "Aggiungi un libro al carrello" |
Cappelli | "Voglio acquistare un cappello" "Voglio un cappello" |
|
Account | Saldo | "Qual è il mio saldo?" "Quanto rimane nel mio account?" |
Indirizzo | "Voglio cambiare indirizzo" "Ho un nuovo indirizzo" |
Se un utente finale dice "Voglio acquistare un cappello",
una richiesta di rilevamento dell'intenzione inviata all'mega-agente
porterà a una corrispondenza per l'intenzione Hats
nell'agente Orders
.
Per specificare uno o più agenti secondari per una richiesta di rilevamento dell'intenzione, imposta il campo subAgents
di QueryParameters
.
Ad esempio, il JSON REST per questa richiesta sarà simile al seguente:
{ "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"} ] } }
Eventi di chiamata
Per richiedere un evento da un servizio webhook, puoi specificare l'agente secondario per l'intent che vuoi attivare. Utilizza il seguente formato per il nome dell'evento:
sub-agent-project-id.event-name
Ad esempio, se l'ID progetto dell'agente secondario è 123
e il nome dell'evento è alarm
per l'intent desiderato, utilizza 123.alarm
per il nome dell'evento.
Se non specifichi un sub-agente per l'evento, questo verrà inviato nuovamente al sub-agente contenente l'intent corrispondente precedente.
Impostazione del contesto di output
Per impostare i contesti di output da un servizio webhook, puoi specificare il subagente a cui appartiene il contesto. Utilizza il formato seguente:
projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_agent_project_id.context_name
Ad esempio, se la sessione è
projects/mega_agent_project_id/agent/sessions/session_id
,
e vuoi impostare un contesto denominato music_context
per un agente secondario con ID progetto sub_project_1
,
puoi impostare il contesto di output con il seguente nome:
projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_project_1.music_context
Se non specifichi un prefisso del sub-agente per il nome del contesto, il sistema lo considererà come un contesto del mega-agente.
Durata del contesto
Quando un contesto diventa attivo, la durata del contesto determina in genere il numero di turni di conversazione che si verificheranno prima che il contesto diventi inattivo. In sostanza, la durata di runtime di un contesto attivo viene decrementata per ogni turno di conversazione dopo che diventa attivo.
Questo comportamento potrebbe essere diverso per i mega agenti. Durante una conversazione, gli intent di diversi subagenti possono essere associati a ogni turno di conversazione. Quando viene trovata una corrispondenza per un intent di un sub-agente e l'intent ha un contesto di output, la durata di questo contesto viene decrementata solo per ulteriori corrispondenze di intent nello stesso sub-agente.
Ad esempio, avviene una corrispondenza di intent nell'agente secondario A e l'intent ha un contesto di output che attiva un contesto. Eventuali corrispondenze di intent nel subagente B non riducono la durata di runtime per il contesto attivo generato nel subagente A.
Versioni e ambienti
Versioni e ambienti a livello di mega-agente ti consentono di creare istantanee diverse dell'intento di riserva del mega mega-agente e di impostare webhook e impostazioni di Text-to-Speech diversi per ambienti diversi del mega-agente.
Le impostazioni nella pagina della console Agenti secondari del mega mega-agente non sono incluse nelle versioni e negli ambienti del mega agente. Le richieste dell'agente mega attivano sempre gli ambienti dei subagenti specificati in quella pagina in quel momento.