Puoi combinare più agenti Dialogflow, chiamati sub-agenti, in un unico agente, chiamato un mega-agente. Quando esegui una richiesta di rilevamento intent su un mega-agente, vengono presi in considerazione tutti i sub-agenti e viene restituita la risposta migliore.
Esistono diversi motivi per cui potresti voler utilizzare i mega-agenti:
- Governance migliore: se più team creano un agente, ogni team può essere responsabile di un sub-agente, 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 del conteggio degli intent. In questo caso, puoi creare più sub-agenti e un mega-agente.
Limitazioni
Ai mega-agenti si applicano le seguenti limitazioni:
- Un mega-agente e i relativi sub-agenti devono essere creati nella stessa regione.
- All'interno di una regione, un mega-agente e i relativi sub-agenti sono tutti associati a progetti diversi Google Cloud .
- Un mega-agente può avere al massimo 10 sub-agenti.
- Le chiacchiere non funzionano per i mega-agenti.
- La priorità degli intent dei sub-agenti non ha alcun effetto sulla corrispondenza degli 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.
- Il mega-agente non supporta gli intent di fallback utilizzati come intent di follow-up.
Creazione di sub-agenti
I sub-agenti vengono creati come qualsiasi altro agente. Aggiungi intent, contesti, entità e così via, in base alle esigenze per creare gli agenti.
Creazione o aggiornamento di un mega-agente
Puoi utilizzare la console Dialogflow per creare un mega-agente e collegarlo ai sub-agenti.
Dialogflow tiene conto della maggior parte delle impostazioni dell'agente del mega-agente e registra i dati nel mega-agente. Ad esempio:
- Dialogflow prende le impostazioni di logging, sentiment, speech-to-text e text-to-speech a livello di agente dal mega-agente.
- Dialogflow archivia analisi, cronologia delle conversazioni e dati per lo strumento di addestramento nel mega-agente.
UI web
1. Crea 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, la lingua predefinita, il fuso orario predefinito e Google Cloud il progetto dell'agente.
- Imposta Tipo di agente su Mega-agente.
- Fai clic sul pulsante Crea.
2. Aggiungi e gestisci i sub-agenti
- Fai clic su Sub-agenti nel menu della barra laterale a sinistra.
- Seleziona un sub-agente che vuoi aggiungere al mega-agente.
- Per impostazione predefinita, l'ambiente del sub-agente è Bozza, ma puoi aggiornarlo in base alle esigenze.
- Se vuoi utilizzare la Knowledge Base associata al sub-agente, cambia il campo da Escluso a Incluso.
- Fai clic su Salva.
Configurare i ruoli
A seconda di come prevedi di utilizzare il mega-agente, devi concedere ruoli specifici nei progetti dei sub-agenti, in modo che il mega-agente abbia l'autorizzazione per effettuare chiamate ai sub-agenti. Per configurare questi ruoli:
- Crea i progetti del mega-agente e dei sub-agenti Google Cloud come faresti normalmente e assicurati di aver abilitato l'API Dialogflow per ciascuno.
- Se prevedi di
utilizzare l'API
per interagire con il mega-agente,
devi concedere un ruolo in ciascuno dei progetti dei sub-agenti al service
account che utilizzi per le chiamate API del mega-agente.
Il ruolo deve avere l'autorizzazione per effettuare chiamate di rilevamento intent.
I seguenti
ruoli
forniranno questo accesso:
Proprietario progetto, Project Editor, Amministratore API Dialogflow,
o Client API Dialogflow.
Per ottenere l'indirizzo email di questo account di servizio:
- Visita la pagina account di servizio IAM.
- Seleziona il progetto per il mega-agente.
- Seleziona un account di servizio che hai già creato per le chiamate API oppure 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 del account di servizio scelto. Ti servirà di seguito.
Se prevedi di utilizzare integrazioni per il mega-agente, il service account service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com creato account di servizio per il progetto del mega-agente deve avere un ruolo nel progetto che includa l'autorizzazione per effettuare chiamate di rilevamento intent. I seguenti ruoli forniranno questo accesso: Proprietario progetto, Project Editor, Amministratore API Dialogflow, o Client 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 il account di servizio che corrisponde al pattern:
service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com. - Prendi nota dell'indirizzo email del account di servizio scelto. Ti servirà di seguito.
Per ogni progetto di sub-agente, concedi i ruoli ai service account del mega-agente che hai raccolto sopra:
- Visita la pagina principale di IAM.
- Seleziona il progetto per il sub-agente.
- Concedi i ruoli desiderati agli indirizzi email degli account di servizio del mega-agente nel progetto.
Rilevamento intent
Per rilevare l'intent, chiama la richiesta come qualsiasi altra richiesta di rilevamento intent e utilizza l'ID progetto del mega-agente. Dialogflow prenderà in considerazione tutti i sub-agenti e verrà restituita la risposta migliore.
Ad esempio, prendi in considerazione i seguenti sub-agenti:
| Sub-agente | Intent | Frasi di addestramento |
|---|---|---|
| Ordini | Libri | "Voglio comprare un libro" "Aggiungi un libro al carrello" |
| Cappelli | "Voglio comprare un cappello" "Voglio un cappello" |
|
| Account | Saldo | "Qual è il mio saldo?" "Qual è il mio saldo?" |
| Indirizzo | "Voglio cambiare il mio indirizzo" "Ho un nuovo indirizzo" |
Se un utente finale dice "Voglio comprare un cappello, per favore", una richiesta di rilevamento intent inviata al mega-agente genererà una corrispondenza per l'intent Hats nell'agente Orders.
Per specificare uno o più sub-agenti per una richiesta di rilevamento intent,
imposta il campo subAgents di
QueryParameters.
Ad esempio, il JSON REST per questa richiesta sarebbe 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"}
]
}
}
Richiamo di eventi
Per richiamare un evento da un servizio webhook, puoi specificare il sub-agente per l'intent che vuoi attivare. Utilizza il seguente formato del nome dell'evento:
sub-agent-project-id.event-name
Ad esempio, se l'ID progetto del sub-agente è 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, l'evento verrà inviato di nuovo al sub-agente che contiene l'intent corrispondente precedente.
Impostazione del contesto di output
Per impostare i contesti di output da un servizio webhook, puoi specificare il sub-agente a cui appartiene il contesto. Utilizza il seguente formato:
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 sub-agente 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 sub-agenti possono corrispondere a ogni turno di conversazione. Quando viene trovata una corrispondenza con un intent di un sub-agente e l'intent ha un contesto di output, la durata di questo contesto viene decrementata solo per le corrispondenze successive degli intent nello stesso sub-agente.
Ad esempio, si verifica una corrispondenza con un intent nel sub-agente A, e l'intent ha un contesto di output che attiva un contesto. Le corrispondenze degli intent nel sub-agente B non decrementano la durata di runtime del contesto attivo originato nel sub-agente A.
Versioni e ambienti
Le versioni e gli ambienti a livello di mega-agente ti consentono di creare snapshot diversi dell' intent di fallback del mega-agente e di impostare webhook e impostazioni di Text-to-Speech diversi per i diversi ambienti del mega-agente.
Le impostazioni nella pagina della console Sub-agenti del mega-agente non sono incluse nelle versioni e negli ambienti del mega-agente. Le richieste del mega-agente attivano sempre gli ambienti dei sub-agenti specificati in quella pagina in quel momento.