Mega-agenti

Puoi combinare più agenti Dialogflow, chiamati subagenti, in un unico agente, chiamato mega-agente. Quando esegui una richiesta di rilevamento di intent contro un mega-agente, vengono presi in considerazione tutti i sub-agenti e viene restituita la risposta migliore dei sub-agenti.

I mega-agenti potrebbero essere utili per diversi motivi:

  • Migliore governance: se ci sono più team che creano un agente, ogni team può essere responsabile di un sub-agente il che semplifica i conflitti di modifica tra i team.
  • Più intenti: se hai agenti con molti intenti, potresti avvicinarti al limite del numero di intent. In questo caso, potresti creare più sub-agenti e un mega-agente.

Limitazioni

Ai mega-agenti si applicano le seguenti limitazioni:

  • Un mega-agente e i suoi sub-agenti devono essere creati nello stesso region.
  • All'interno di una regione, un mega-agente e i suoi sub-agenti sono tutti associati con diversi progetti Google Cloud.
  • Un mega-agente può avere al massimo 10 sub-agenti.
  • Chiacchierata non funziona per i mega-agenti.
  • La priorità dell'intent dell'agente secondario non ha effetto sulla corrispondenza dell'intent quando si inviano richieste a un mega-agente.
  • L'integrazione dell'Assistente Google non può da usare con un mega-agente.
  • Integrazioni di telefonia integrata dei partner (AudioCodes, Avaya SignalWire, Voximplant) non sono supportati.
  • Il mega-agente non supporta intent di riserva usato come intent di follow-up.

Creazione di sub-agenti

I sub-agenti vengono creati come qualsiasi altro agente. Aggiungi eventuali intent, contesti, entità e così via in base alle necessità 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 prende in considerazione la maggior parte delle impostazioni degli agenti del mega agente e registra i dati nel mega-agente. Ad esempio:

UI web

1. Crea un mega-agente

  1. Vai alla console Dialogflow ES.
  2. Fai clic su Create Agent (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.)
  3. Inserisci il nome, la lingua e il fuso orario predefiniti dell'agente progetto Google Cloud.
  4. Imposta Tipo di agente su Agente Mega.
  5. Fai clic su pulsante Crea.

2. Aggiungere e gestire i sub-agenti

  1. Fai clic su Sub agent nel menu della barra laterale sinistra.
  2. Seleziona un sub-agente da aggiungere al mega-agente.
  3. L'impostazione predefinita dell'ambiente dell'agente secondario è Bozza. ma puoi aggiornarli in base alle tue esigenze.
  4. Se vuoi utilizzare la Knowledge Base associata al sub-agente, modifica il campo da Escluso a Incluso.
  5. Fai clic su Salva.

Configurare i ruoli

A seconda di come prevedi di usare il tuo mega-agente, devi concedere a specifici ruoli nei progetti dei tuoi sub-agenti in modo che il mega-agente sia autorizzato a chiamare i sub-agenti. Per configurare questi ruoli:

  1. Crea i progetti Google Cloud mega-agente e sub-agente come faresti normalmente e assicurati di aver abilitato l'"API Dialogflow" per ciascuna.
  2. Se prevedi di usando l'API di interagire con il tuo mega-agente, devi concedere al servizio un ruolo per ciascuno dei tuoi progetti sub-agente per le chiamate API dei mega-agente, e il ruolo deve disporre dell'autorizzazione per rilevare chiamate di intent. Le seguenti ruoli che fornirà questo accesso: Proprietario progetto, Editor progetto, Amministratore API Dialogflow. o dal client API Dialogflow. Per ottenere l'indirizzo email di questo account di servizio:
    1. Visita il Pagina dell'account di servizio IAM.
    2. Seleziona il progetto per il tuo mega-agente.
    3. Seleziona un account di servizio già creato per le chiamate API o aggiungere un nuovo account di servizio con il ruolo desiderato. Segui le istruzioni per la configurazione per creare un nuovo account di servizio e scaricare una chiave privata.
    4. Prendi nota dell'indirizzo email dell'account di servizio scelto. Ti servirà di seguito.
  3. Se prevedi di utilizzare qualsiasi integrazioni per il mega-agente, creato automaticamente service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com account di servizio per il progetto del mega-agente deve avere un ruolo nel progetto che includa l'autorizzazione per effettuare il rilevamento per intent. Le seguenti ruoli che fornirà questo accesso: Proprietario progetto, Editor progetto, Amministratore API Dialogflow. o dal client API Dialogflow. Per ottenere l'indirizzo email di questo account di servizio:

    1. Visita il Pagina principale IAM.
    2. Seleziona il progetto per il tuo mega-agente.
    3. Attiva l'opzione Includi concessioni dei ruoli fornite da Google a destra.
    4. Trova l'account di servizio che corrisponde al pattern:
      service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com.
    5. Prendi nota dell'indirizzo email dell'account di servizio scelto. Ti servirà di seguito.
  4. Per ogni progetto sub-agente, Concedi i ruoli agli account di servizio dei mega-agente che hai raccolto sopra:

    1. Visita il Pagina principale IAM.
    2. Seleziona il progetto per il sub-agente.
    3. Assegna i ruoli desiderati agli indirizzi email dell'account di servizio del tuo mega-agente sul progetto.

Rilevamento dell'intento

Per rilevare l'intento, chiama la richiesta come richiesta di rilevamento dell'intento e utilizzare l'ID progetto del mega-agente. Dialogflow prenderà in considerazione tutti i sub-agenti, e viene restituita la risposta migliore dei sub-agenti.

Ad esempio, considera i seguenti sub-agenti:

Subagente Intent Frasi di addestramento
Ordini Libri "Voglio acquistare un libro"
"Aggiungi un libro al mio carrello"
Cappelli "Voglio acquistare un cappello"
"Voglio un cappello"
Account Equilibrio "Qual è il mio saldo?"
"Qual è l'importo residuo del mio account?"
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 dell'intento 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 di intent, imposta il campo subAgents di QueryParameters. Ad esempio, il JSON REST per questa richiesta sarà simile a questo:

{
  "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

A 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 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, usa 123.alarm come nome dell'evento.

Se non specifichi un sub-agente per l'evento, l'evento verrà restituito al sub-agente contenente l'intent corrispondente in precedenza.

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 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 dell'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 di 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, durata del contesto di solito determina il numero di turni conversazionali avvengono prima che il contesto diventi inattivo. Essenzialmente, la durata del runtime di un contesto attivo viene diminuita per ogni turno di conversazione quando diventa attiva.

Questo comportamento può essere diverso per i mega-agenti. Durante una conversazione, gli intent di diversi sub-agenti potrebbero essere abbinati per 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 diminuita solo per ulteriori corrispondenze di intent nello stesso sub-agente.

Ad esempio: una corrispondenza di intent si verifica nel sub-agente A e l'intent ha un contesto di output che attiva un contesto. Qualsiasi corrispondenza degli intent nel sub-agente B non riducono la durata del runtime per il contesto attivo che ha avuto origine dall'agente secondario A.

Versioni e ambienti

Versioni e ambienti a livello di mega-agente ti consentono di creare diversi snapshot l'intento di fallback del mega-agente impostare webhook e impostazioni di Text-to-Speech diversi per i vari mega-agente ambienti cloud-native.

Le impostazioni nella pagina della console Sub-Agenti del mega-agente non sono incluse nelle versioni e negli ambienti dei mega-agente. Le richieste mega-agente eseguono sempre la valutazione dei sub-agenti ambienti specificati in quella pagina in quel momento.