Esta página foi traduzida pela API Cloud Translation.
Switch to English

Mega agentes

É possível combinar vários agentes do Dialogflow, chamados de subagentes, em um único mega-agente. Quando você executa uma solicitação de detecção de intent em um mega-agente, todos os subagentes são considerados, e a melhor resposta dos subagentes é retornada.

Há vários motivos para usar os mega-agentes:

  • Melhor governança: se você tem várias equipes criando um agente, cada uma delas pode ser responsável por um subagente. Isso simplifica os conflitos de mudança entre as equipes.
  • Mais intents: se você tiver agentes com um grande número de intents, poderá se aproximar do limite de contagem de intents. Nesse caso, é possível criar vários sub-agentes e um mega-agente.

Limitações

As limitações abaixo se aplicam a mega-agentes:

  • Assim como em todos os agentes, só é possível criar um agente por projeto do GCP. Por isso, cada subagente e mega-agente será associado a seu próprio projeto do GCP.
  • Um mega-agente pode ter no máximo 10 subagentes.
  • O Small Talk não funciona com mega-agentes.
  • A prioridade da intent do subagente não afeta a correspondência de intents ao enviar solicitações para um mega-agente.
  • Integrações de telefonia integradas ao parceiro (AudioCodes, Avaya, Genesys, SignalWire, Voximplant) não são compatíveis.

Como criar subagentes

Os subagentes são criados como qualquer outro agente. Adicione intents, contextos, entidades etc. conforme necessário para criar seus agentes.

Como criar ou atualizar um mega-agente

É possível usar o Console do Dialogflow para criar um mega-agente e vinculá-lo aos subagentes.

O Dialogflow usa a maior parte das configurações do agente para considerar os dados do mega-agente. Exemplo:

.

IU da Web

1. Criar um mega-agente

  1. Acesse o Console do Dialogflow ES.
  2. Clique em Criar agente no menu da barra lateral à esquerda. Se você já tiver outros agentes, clique no nome do agente, role até a parte inferior da página e clique em Criar novo agente.
  3. Digite o nome do agente, o idioma padrão, o fuso horário padrão e o projeto do GCP.
  4. Defina o Tipo de agente como Mega-agente.
  5. Clique no botão Criar.

2. Adicionar e gerenciar subagentes

  1. Clique em Subagentes no menu da barra lateral à esquerda.
  2. Selecione o subagente que você quer adicionar ao mega-agente.
  3. O sub-agente Ambiente é padronizado como Rascunho, mas você pode atualizar isso conforme necessário.
  4. Se você quiser usar a Base de conhecimento associada ao subagente, altere o campo de Excluídos para Incluídos.
  5. Clique em Save.

Configurar papéis

Dependendo de como você planeja usar seu mega-agente, precisa configurar membros com papéis específicos nos seus projetos de subagente. Portanto, o mega-agente tem permissão para fazer chamadas para os subagentes. Para configurar esses papéis:

  1. Crie os projetos do mega-agente e subagente do GCP como você faria normalmente e ative a "API Dialogflow" para cada um.
  2. Se você planeja usar a API para interagir com o mega agente, adicione a conta de serviço que você usa para chamadas da API mega-agent como membro de cada um dos projetos de subagentes e o papel aplicado precisa ter a permissão para fazer chamadas de detecção de intent. Os seguintes fornecerão esse acesso: proprietário do projeto, editor do projeto, administrador da API Dialogflow ou cliente da API Dialogflow. Para saber o endereço de e-mail dessa conta de serviço, faça o seguinte:
    1. Acesse a página da conta de serviço do IAM.
    2. Selecione o projeto do seu mega-agente.
    3. Selecione uma conta de serviço criada para chamadas de API ou adicione uma nova conta de serviço com o papel desejado. Siga as instruções de configuração para criar uma nova conta de serviço e fazer o download de uma chave privada.
    4. Anote o endereço de e-mail da conta de serviço escolhida. Você precisará disso abaixo.
  3. Se você planeja usar integrações para o mega-agente, a conta de serviço do projeto do mega-agente do service-project-number@gcp-sa -dialogflow.iam.gserviceaccount.com criada automaticamente precisa ser membro de todos os projetos de subagentes e o papel aplicado precisa ter permissão para fazer chamadas de detecção de intent. Os seguintes fornecerão esse acesso: proprietário do projeto, editor do projeto, administrador da API Dialogflow ou cliente da API Dialogflow. Para saber o endereço de e-mail dessa conta de serviço, faça o seguinte:

    1. Acessar a página "IAM".
    2. Selecione o projeto do seu mega-agente.
    3. Ative a opção Incluir concessões de papel fornecidos pelo Google à direita.
    4. Encontre a conta de serviço que corresponde ao padrão:
      service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com.
    5. Anote o endereço de e-mail da conta de serviço escolhida. Você precisará disso abaixo.
  4. Para cada projeto de subagente, adicione as contas de serviço do mega-agente que você coletou acima como membros do projeto de subagente:

    1. Visite a página principal do IAM.
    2. Selecione o projeto para seu subagente.
    3. Adicione os endereços de e-mail da conta de serviço do mega agente como membros do projeto e conceda a eles os papéis pretendidos.

Detectar intent

Para detectar a intent, chame a solicitação como qualquer outra solicitação de detecção de intent e use o ID do projeto do mega-agente. O Dialogflow vai analisar todos os subagentes, e a melhor resposta dos subagentes será retornada.

Por exemplo, considere os seguintes subagentes:

Subagente Intent Frases de treinamento
Pedidos Livros "Quero comprar um livro"
"Adicionar um livro ao meu carrinho"
Chapéus "Quero comprar um chapéu"
"Eu quero um chapéu"
Conta Saldo "Qual é meu saldo?"
"Quanto resta na minha conta?"
Endereço "Quero alterar meu endereço"
"Tenho um novo endereço"

Se um usuário final disser "Quero comprar um chapéu", uma solicitação de detecção de intent enviada para o mega-agente resultará em uma correspondência para a intent Hats no agente Orders.

Para especificar um ou mais subagentes para uma solicitação de detecção de intent, defina o campo subAgents de QueryParameters. Por exemplo, o REST JSON para esta solicitação seria mais ou menos assim:

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

Como invocar eventos

Para invocar um evento de um serviço de webhook, especifique o subagente da intent que você quer acionar. Use o seguinte formato de nome de evento:

sub-agent-project-id.event-name

Por exemplo, se o ID do projeto do subagente for 123 e o nome do evento for alarm para a intent desejada, use 123.alarm como o nome do evento.

Se você não especificar um subagente para o evento, ele será enviado de volta ao subagente que contém a intent correspondida anteriormente.

Definição do contexto de saída

Para definir contextos de saída de um serviço de webhook, especifique o subagente ao qual o contexto pertence. Use o seguinte formato:

projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_agent_project_id.context_name

Por exemplo, se a sessão for projects/mega_agent_project_id/agent/sessions/session_id e você quiser definir um contexto chamado music_context para um subagente com ID do projeto sub_project_1, defina o contexto de saída com o seguinte nome:

projects/mega_agent_project_id/agent/sessions/session_id/contexts/sub_project_1.music_context

Se você não especificar um prefixo de subagente para o nome do contexto, o sistema o considerará como um contexto do mega-agente.