Pode combinar vários agentes do Dialogflow, denominados subagentes, num único agente, denominado mega agente. Quando faz um pedido de deteção de intenção num mega agente, são considerados todos os subagentes e é devolvida a melhor resposta dos subagentes.
Existem vários motivos pelos quais pode querer usar mega agentes:
- Melhor gestão: se tiver várias equipas a criar um agente, cada equipa pode ser responsável por um subagente, o que simplifica os conflitos de alterações entre equipas.
- Mais intenções: se tiver agentes com um grande número de intenções, pode aproximar-se do limite de contagem de intenções. Neste caso, pode criar vários subagentes e um mega agente.
Limitações
Aplicam-se as seguintes limitações aos mega agentes:
- Um mega agente e os respetivos subagentes têm de ser criados na mesma região.
- Numa região, um mega agente e os respetivos subagentes estão todos associados a Google Cloud projetos diferentes.
- Um mega agente pode ter, no máximo, 10 subagentes.
- Conversa de circunstância não funciona para mega agentes.
- A prioridade da intenção do subagente não tem efeito na correspondência de intenções quando envia pedidos a um mega agente.
- A integração do Assistente Google não pode ser usada com o mega agente.
- As integrações de telefonia incorporadas de parceiros (AudioCodes, Avaya, SignalWire, Voximplant) não são suportadas.
- O mega agente não suporta intenções alternativas usadas como intenções de seguimento.
Criar subagentes
Crie subagentes como qualquer outro agente. Adicione intenções, contextos, entidades, etc., conforme necessário, para criar os seus agentes.
Criar ou atualizar um mega agente
Pode usar a consola do Dialogflow para criar um mega agente e associá-lo a subagentes.
O Dialogflow tem em conta a maioria das definições do agente principal e regista dados no agente principal. Por exemplo:
- O Dialogflow usa as definições de registo, sentimento, conversão de voz em texto e conversão de texto em voz ao nível do agente do mega agente.
- O Dialogflow armazena estatísticas, histórico de conversas e dados para a ferramenta de preparação no mega agente.
IU da Web
1. Crie um mega-agente
- Aceda à consola do Dialogflow ES.
- Clique em Criar agente no menu da barra lateral esquerda. (Se já tiver outros agentes, clique no nome do agente, desloque a página até à parte inferior e clique em Criar novo agente.)
- Introduza o nome do agente, o idioma predefinido, o fuso horário predefinido e o Google Cloud projeto.
- Defina o Tipo de agente como Mega agente.
- Clique no botão Criar.
2. Adicione e faça a gestão de subagentes
- Clique em Subagentes no menu da barra lateral esquerda.
- Selecione um subagente que quer adicionar ao mega agente.
- O subagente Environment tem como predefinição Draft, mas pode atualizá-lo conforme necessário.
- Se quiser usar a base de conhecimentos associada ao subagente, altere o campo de Excluído para Incluído.
- Clique em Guardar.
Configure funções
Consoante a forma como planeia usar o seu mega agente, tem de conceder funções específicas nos projetos de subagentes para que o mega agente tenha autorização para fazer chamadas aos subagentes. Para configurar estas funções:
- Crie os projetos de mega agente e subagente como faria normalmente e certifique-se de que ativou a "API Dialogflow" para cada um deles. Google Cloud
- Se planeia
usar a API
para interagir com o seu mega agente,
tem de conceder uma função em cada um dos projetos de subagentes à conta de serviço que usa para chamadas API de mega agentes, e a função deve ter autorização para fazer chamadas de deteção de intenção.
As seguintes
funções
concedem este acesso: proprietário do projeto, editor do projeto, administrador da API Dialogflow ou cliente da API Dialogflow.
Para obter o endereço de email desta conta de serviço:
- Aceda à página da conta de serviço IAM.
- Selecione o projeto para o seu mega agente.
- Selecione uma conta de serviço que já tenha criado para chamadas API ou adicione uma nova conta de serviço com a função pretendida. Siga as instruções de configuração para criar uma nova conta de serviço e transferir uma chave privada.
- Tome nota do endereço de email da conta de serviço escolhido. Vai precisar desta informação abaixo.
Se planeia usar quaisquer integrações para o mega agente, a conta de serviço criada automaticamente service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com para o projeto do mega agente tem de ter uma função nesse projeto que inclua autorização para fazer chamadas de deteção de intenções. As seguintes funções concedem este acesso: proprietário do projeto, editor do projeto, administrador da API Dialogflow ou cliente da API Dialogflow. Para obter o endereço de email desta conta de serviço:
- Visite a página principal do IAM.
- Selecione o projeto para o seu mega agente.
- Ative a opção Incluir concessões de funções fornecidas pela Google à direita.
- Encontre a conta de serviço que corresponde ao padrão:
service-project-number@gcp-sa-dialogflow.iam.gserviceaccount.com. - Tome nota do endereço de email da conta de serviço escolhido. Vai precisar desta informação abaixo.
Para cada projeto de subagente, conceda funções às contas de serviço do mega agente que recolheu acima:
- Visite a página principal do IAM.
- Selecione o projeto para o seu subagente.
- Conceda as funções pretendidas aos endereços de email da conta de serviço do seu mega agente no projeto.
Detetar intenção
Para detetar a intenção, chame o pedido como qualquer outro pedido de deteção de intenção e use o ID do projeto do mega agente. O Dialogflow considera todos os subagentes e devolve a melhor resposta dos subagentes.
Por exemplo, considere os seguintes subagentes:
Subagente | Intenção | Expressões de preparação |
---|---|---|
Encomendas | Livros | "Quero comprar um livro" "Adiciona um livro ao meu carrinho" |
Chapéus | "Quero comprar um chapéu" "Quero um chapéu" |
|
Conta | Saldo | "Qual é o meu saldo?" "Quanto é que fica na minha conta?" |
Endereço | "Quero alterar a minha morada" "Tenho uma nova morada" |
Se um utilizador final disser "Quero comprar um chapéu",
um pedido de intenção de deteção enviado para o mega agente
resulta numa correspondência para a intenção Hats
no agente Orders
.
Para especificar um ou mais subagentes para um pedido de intenção de deteção,
defina o campo subAgents
de
QueryParameters
.
Por exemplo, o JSON REST para este pedido teria o seguinte aspeto:
{ "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"} ] } }
Invocar eventos
Para invocar um evento a partir de um serviço de webhook, pode especificar o subagente para a intenção que 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 intenção desejada, use 123.alarm
para o nome do evento.
Se não especificar um subagente para o evento, o evento é enviado de volta para o subagente que contém a intenção correspondente anteriormente.
Definir contexto de saída
Para definir contextos de saída a partir de um serviço de webhook, pode especificar 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 quiser definir um contexto denominado music_context
para um subagente com o ID do projeto sub_project_1
,
pode definir 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 não especificar um prefixo de subagente para o nome do contexto, o sistema considera-o um contexto do mega agente.
Tempo de vida do contexto
Quando um contexto fica ativo, a duração do contexto determina normalmente o número de interações de conversa que ocorrem antes de o contexto ficar inativo. Essencialmente, a duração do tempo de execução de um contexto ativo é decrementada para cada interação de conversa depois de ficar ativo.
Este comportamento pode ser diferente para mega agentes. Durante uma conversa, podem ser associadas intenções de diferentes subagentes a cada interação da conversa. Quando uma intenção de um subagente corresponde, e a intenção tem um contexto de saída, o tempo de vida deste contexto só é decrementado para correspondências adicionais de intenções no mesmo subagente.
Por exemplo, uma correspondência de intenção ocorre no subagente A, e a intenção tem um contexto de saída que ativa um contexto. As correspondências de intenções no subagente B não diminuem a duração do tempo de execução para o contexto ativo que teve origem no subagente A.
Versões e ambientes
As versões e os ambientes ao nível do mega agente permitem-lhe criar diferentes instantâneos da intensão de recurso do mega agente e definir diferentes webhooks e definições de conversão de texto em voz para diferentes ambientes do mega agente.
As definições na página da consola Sub Agents do mega agente não estão incluídas nas versões e nos ambientes do mega agente. Os pedidos de mega agentes acionam sempre os ambientes dos subagentes especificados nessa página nesse momento.