Mega-agenti

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 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 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 del conteggio degli intent. In questo caso, potresti creare più subagenti e un mega-agente.

Limitazioni

Ai mega agent si applicano le seguenti limitazioni:

  • Un mega-agente e i relativi subagenti devono essere creati nella stessa regione.
  • All'interno di una regione, un mega-agente e i relativi subagenti sono tutti associati a progetti Google Cloud diversi.
  • Un mega-agente può avere al massimo 10 subagenti.
  • Le chiacchiere non funzionano per i mega agenti.
  • La priorità degli intent dei sub-agenti non influisce 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 del 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 subagenti

Crei i subagenti come qualsiasi altro agente. Aggiungi intent, contesti, entità e così via, se 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 tiene conto della maggior parte delle impostazioni dell'agente del mega-agente e registra i dati nelmega-agentee. 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 a 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 dell'agente, la lingua predefinita, il fuso orario predefinito e il Google Cloud progetto.
  4. Imposta Tipo di agente su Mega Agent.
  5. Fai clic su pulsante Crea.

2. Aggiungere e gestire subagenti

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

Configurare i ruoli

A seconda di come prevedi di utilizzare il tuo 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:

  1. Crea i progetti mega-agente e subagente Google Cloud come di consueto e assicurati di aver abilitato l'"API Dialogflow" per ciascuno.
  2. Se prevedi di utilizzare l'API per interagire con il tuo mega-agente, devi concedere un ruolo in ciascuno dei tuoi progetti secondari all'account di servizio che utilizzi per le chiamate API del mega-agente e il ruolo deve disporre dell'autorizzazione per effettuare chiamate di rilevamento dell'intent. I seguenti ruoli forniranno questo accesso: Proprietario progetto, Editor progetto, Amministratore API Dialogflow o Client API Dialogflow. Per ottenere l'indirizzo email di questo account di servizio:
    1. Visita la pagina account di servizio IAM.
    2. Seleziona il progetto per il tuo mega-agente.
    3. Seleziona un account di servizio che hai già creato per le chiamate API o aggiungi un nuovoaccount di serviziot 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 del account di servizio scelto. Ti servirà in seguito.
  3. 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 forniranno questo accesso: Proprietario progetto, Editor 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 di 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 del account di servizio scelto. Ti servirà in seguito.
  4. Per ogni progetto secondario dell'agente, concedi i ruoli agli account di servizio delmega-agentee che hai raccolto sopra:

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

Rilevare l'intento

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 subagent e verrà restituita la risposta migliore.

Ad esempio, considera i seguenti subagenti:

Sub-agente Intent Frasi di addestramento
Ordini Libri "Voglio comprare un libro"
"Aggiungi un libro al mio carrello"
Cappelli "Voglio acquistare 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 "Vorrei comprare un cappello", una richiesta di rilevamento dell'intent inviata almega-agentee corrisponderà all'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 JSON REST per questa richiesta avrebbe 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"}
    ]
  }
}

Eventi di chiamata

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 dell'evento:

sub-agent-project-id.event-name

Ad esempio, se l'ID progetto del subagente è 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à restituito al sub-agente che contiene l'intent precedentemente corrisposto.

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 subagente 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 normalmente il numero di turni conversazionali 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, per ogni turno conversazionale possono essere abbinate intenzioni di diversi subagenti. 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 le 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 nell'agente secondario B non riducono la durata del 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 diversi snapshot dell'intent di riserva del mega mega-agente e impostare webhook e impostazioni di Text-to-Speech diversi per i diversi ambienti 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 di mega agent attivano sempre gli ambienti dei sub-agent specificati in quella pagina in quel momento.