Mega-agenti

Puoi combinare più agenti Dialogflow, chiamati sub-agenti, 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 da questi ultimi.

Esistono una serie di motivi per cui potresti voler utilizzare i mega agenti:

  • Governance migliore: se un agente viene creato da più team, 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 numero di intent. In questo caso, potresti creare più sub-agenti e un mega-agente.

Limitazioni

Ai mega agenti si applicano le seguenti limitazioni:

  • Il mega-agente e i relativi sub-agenti 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.
  • Le chiacchiere non funzionano per i mega-agenti.
  • La priorità dell'intent del sub-agente 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 mega-agente.
  • Le integrazioni della telefonia integrata dei partner (AudioCodes, Avaya, Genesys, 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 i sub-agenti come qualsiasi altro agente. Aggiungi eventuali intent, contesti, entità e così via in base alle esigenze per creare gli agenti.

Creazione o aggiornamento di un mega-agente

Puoi usare la console di Dialogflow per creare un mega-agente e collegarlo ai sub-agenti.

Dialogflow prende in considerazione la maggior parte delle impostazioni del mega-agente e registra i dati in quest'ultimo. Ad esempio:

UI web

1. Crea un mega-agente

  1. Vai alla console Dialogflow ES.
  2. Fai clic su Crea agente nel menu della barra laterale sinistra. Se disponi già di altri agenti, fai clic sul nome dell'agente, scorri verso il basso e fai clic su Crea nuovo agente.
  3. Inserisci il nome dell'agente, la lingua predefinita, il fuso orario predefinito e il progetto Google Cloud.
  4. Imposta Tipo di agente su Mega agente.
  5. Fai clic su pulsante Crea.

2. Aggiungi e gestisci sub-agenti

  1. Fai clic su Sub Agents (Sub-agenti) nel menu della barra laterale sinistra.
  2. Seleziona un sub-agente che vuoi aggiungere al mega-agente.
  3. Per impostazione predefinita, il sub-agente Environment è Bozza, ma puoi aggiornarlo in base alle esigenze.
  4. Se vuoi utilizzare la Knowledge Base associata al sub-agente, modifica il campo da Escluso a Incluso.
  5. Fai clic su Salva.

Configura i ruoli

A seconda di come intendi utilizzare il mega-agente, devi concedere ruoli specifici nei progetti dei tuoi sub-agente, in modo che il mega-agente sia autorizzato a effettuare chiamate ai 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 ciascun agente.
  2. Se prevedi di utilizzare l'API per interagire con il tuo mega-agente, devi concedere un ruolo su ciascuno dei tuoi progetti sub-agente all'account di servizio che utilizzi per le chiamate API del mega-agente e il ruolo deve avere l'autorizzazione per effettuare chiamate intent di rilevamento. I seguenti ruoli forniranno questo accesso: Proprietario progetto, Editor di progetto, Amministratore API Dialogflow o Client API Dialogflow. Per ottenere l'indirizzo email di questo account di servizio:
    1. Visita la 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 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.
    4. Prendi nota dell'indirizzo email dell'account di servizio scelto. Ti servirà di seguito.
  3. 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 su tale progetto che includa l'autorizzazione per effettuare chiamate di intent di rilevamento. I seguenti ruoli forniranno questo accesso: Proprietario progetto, Editor di progetto, Amministratore API Dialogflow o Client API Dialogflow. Per ottenere l'indirizzo email di questo account di servizio:

    1. Visita la pagina principale di 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 corrispondente 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 di sub-agente, concedi i ruoli agli account di servizio di mega-agente che hai raccolto in precedenza:

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

Rilevamento dell'intento

Per rilevare l'intento, chiama la richiesta come qualsiasi altra richiesta di intento di rilevamento e utilizza l'ID progetto del mega-agente. Dialogflow prende in considerazione tutti i sub-agenti e restituisce la risposta migliore.

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 Saldo "Qual è il mio saldo?"
"A quanto ammonta il saldo 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'intenzione 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 codice JSON REST per questa richiesta ha il seguente aspetto:

{
  "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 chiamare 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 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 in precedenza.

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 subagente con ID progetto sub_project_1, puoi impostare il contesto di output con il nome seguente:

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 contesto, il sistema lo considererà come un contesto del mega-agente.

Durata del contesto

Quando un contesto diventa attivo, la durata della conversazione determina di norma il numero di svolte conversazionali che avvengono prima che il contesto diventi inattivo. Essenzialmente, la durata di un contesto attivo viene ridotta a ogni svolta della conversazione dopo l'attivazione.

Questo comportamento potrebbe essere diverso per i mega-agenti. Durante una conversazione, gli intent di diversi sub-agenti potrebbero essere abbinati a ogni turno della conversazione. Quando viene abbinata 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 degli 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. Eventuali corrispondenze di intent nel sub-agente B non riducono la durata del runtime per il contesto attivo che ha avuto origine nel subagente A.

Versioni e ambienti

Le versioni e gli ambienti a livello di mega-agente consentono di creare snapshot diversi dell'intent di riserva del mega-agente e di impostare webhook e impostazioni di Text-to-Speech diversi per gli ambienti del mega-agente.

Le impostazioni nella pagina della console Sub Agents del mega-agente non sono incluse nelle versioni e negli ambienti del mega-agente. Al momento, in quella pagina il mega-agente richiede sempre gli ambienti dei sub-agenti triger specificati.