Puoi combinare più agenti Dialogflow, chiamati subagenti, in un unico agente, chiamato mega agente. Quando esegui una richiesta di rilevamento dell'intent su 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:
- 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 di 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 agenti secondari devono essere creati nella stessa regione.
- All'interno di una regione, un mega-agente e i suoi sub-agenti sono tutti associati a progetti Google Cloud diversi.
- Un mega-agente può avere al massimo 10 sub-agenti.
- La funzionalità Conversazione non funziona per i mega agenti.
- La priorità degli intent degli agenti secondari non ha alcun effetto sulla corrispondenza degli intent quando si inviano 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 riserva utilizzati come intent di follow-up.
Creazione di sub-agenti
Puoi creare sub-agenti come qualsiasi altro agente. Aggiungi eventuali intent, contesti, entità e così via, necessari per creare i tuoi agenti.
Creazione o aggiornamento di un mega-agente
Puoi utilizzare la console Dialogflow per creare un mega-agente e collegarlo ai sub-agenti.
Dialogflow prende in considerazione la maggior parte delle impostazioni dell'agente dal mega-agente e registra i dati nel mega-agente. Ad esempio:
- Dialogflow prende le impostazioni di logging, sentiment, conversione della voce in testo e sintesi vocale a livello di agente dal mega-agente.
- Dialogflow archivia i dati di analisi, la cronologia delle conversazioni e i dati per lo strumento di addestramento nel mega-agente.
UI web
1. Crea un mega-agente
- Vai alla console di Dialogflow ES.
- Fai clic su Crea agente nel menu della barra laterale 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 progettoGoogle Cloud .
- Imposta Tipo di agente su Mega agente.
- Fai clic su pulsante Crea.
2. Aggiungi e gestisci i sub-agenti
- Fai clic su Subagenti nel menu della barra laterale a sinistra.
- Seleziona un sub-agente che vuoi aggiungere al mega-agente.
- L'ambiente dell'agente secondario è impostato su Bozza per impostazione predefinita, ma puoi aggiornarlo in base alle tue esigenze.
- Se vuoi utilizzare la Knowledge Base associata al subagente, cambia il campo da Escluso a Incluso.
- Fai clic su Salva.
Configura i ruoli
A seconda di come prevedi di utilizzare l&#mega-agente principale, devi concedere ruoli specifici nei progetti degli agenti secondari, in modo che l'mega-agente disponga dell'autorizzazione per effettuare chiamate agli agenti secondari. Per configurare questi ruoli:
- Crea i progetti di mega-agente e sub-agente 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 tuo mega-agente,
devi concedere un ruolo su ciascuno dei tuoi progetti di sub-agente al service
account che utilizzi per le chiamate API del mega-agente
e il ruolo deve disporre dell'autorizzazione per effettuare chiamate di rilevamento intent.
I seguenti ruoli forniscono questo accesso: Proprietario progetto, Project Editor, API Dialogflow Admin 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 tuo mega-agente.
- Seleziona un account di servizio che hai 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 del account di servizio scelto. Ti servirà di seguito.
Se prevedi di utilizzare integrazioni per il mega-agente, il 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 dell'intent. I seguenti ruoli forniscono questo accesso: Proprietario progetto, Project Editor, API Dialogflow Admin 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 tuo 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 agente secondario, concedi i ruoli ai service account del mega-agente che hai raccolto in precedenza:
- Vai alla pagina principale di IAM.
- Seleziona il progetto per il tuo sub-agente.
- Concedi i ruoli desiderati agli indirizzi email dei account di servizio del tuo mega-agente nel progetto.
Rileva l'intent
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 sub-agenti e verrà restituita la risposta migliore tra quelle dei sub-agenti.
Ad esempio, considera i seguenti sub-agenti:
| Sub-agente | Intent | Frasi di addestramento |
|---|---|---|
| Ordini | Libri | "Voglio comprare 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 il mio indirizzo" "Ho un nuovo indirizzo" |
Se un utente finale dice "Vorrei acquistare un cappello",
una richiesta di rilevamento dell'intent inviata al mega-agente
comporterà una corrispondenza per l'intent Hats nell'agente Orders.
Per specificare uno o più subagenti per una richiesta di rilevamento dell'intent, imposta il campo subAgents di QueryParameters.
Ad esempio, il codice JSON REST per questa richiesta sarebbe il 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 per il nome evento:
sub-agent-project-id.event-name
Ad esempio, se l'ID progetto dell'agente secondario è 123
e il nome evento è alarm per l'intent desiderato,
utilizza 123.alarm per il nome evento.
Se non specifichi un sub-agente per l'evento, questo verrà inviato 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 l'agente secondario 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 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 normalmente determina 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 ridotta 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 essere abbinati per ogni turno di conversazione. Quando viene rilevata una corrispondenza con un intent di un sub-agente e l'intent ha un contesto di output, la durata di questo contesto viene ridotta solo per ulteriori corrispondenze di intent nello stesso sub-agente.
Ad esempio, si verifica una corrispondenza di intent nell'agente secondario A e l'intent ha un contesto di output che attiva un contesto. Eventuali corrispondenze di intent nell'agente secondario B non riducono la durata di runtime per il contesto attivo originato nell'agente secondario A.
Versioni e ambienti
Versioni e ambienti a livello di mega-agente ti consentono di creare snapshot diversi dell'intent 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 principale attivano sempre gli ambienti degli agenti secondari specificati in quella pagina in quel momento.