A assistente de conhecimento generativa responde às perguntas do agente com base nas informações dos documentos que você fornece. É possível especificar seu nome de domínio ou fazer upload de documentos para um agente de armazenamento de dados ser indexado. A assistente de conhecimento generativo sintetiza essas informações com a conversa em andamento e os metadados do cliente disponíveis para dar uma resposta mais relevante e rápida ao seu agente.
A assistência de Knowledge Assist proativa e generativa segue a conversa em andamento entre o agente e o cliente. Ele oferece proativamente sugestões de consulta de pesquisa com base no contexto da conversa atual e na resposta.
Criar um agente de repositório de dados
A menos que você seja o proprietário do projeto, vai precisar destas funções para criar um agente de repositório de dados:
- Administrador da API Dialogflow
- Administrador do Discovery Engine
Ative a API Vertex AI Agent Builder no console da Vertex AI.
Para criar o agente, siga as etapas em Agentes de repositório de dados.
Responder a perguntas dos seus agentes humanos
O agente do repositório de dados pode responder às perguntas dos agentes humanos com base nos documentos fornecidos.
Etapa 1: criar um perfil de conversa
Crie um perfil de conversa usando o console do Assistente do agente ou a API.
Criar no console
- Ative o tipo de sugestão de assistente de conhecimento generativo e vincule-o ao agente do repositório de dados da etapa anterior.
- Opcional: use a caixa de seleção Desativar o registro de consultas de pesquisa do agente para indicar se você quer que o Google colete e armazene consultas de pesquisa editadas para melhorar a qualidade.
- Use a caixa de seleção Ativar consulta de conversa aprimorada para indicar se você quer considerar o contexto da conversa entre o agente humano e o usuário ao gerar a resposta para a consulta de pesquisa.
Criar com base na API
As etapas a seguir ilustram como criar um ConversationProfile com um objeto HumanAgentAssistantConfig. Também é possível realizar essas ações usando o console do Agente Assist.
Para criar um perfil de conversa, chame o método create no recurso ConversationProfile.
Antes de usar os dados da solicitação, faça as seguintes substituições:- PROJECT_ID: ID do projeto;
- LOCATION_ID: o ID do local
- AGENT_ID: o ID do agente de repositório de dados da etapa anterior
{ "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [ { "suggestionFeature": { "type": "KNOWLEDGE_SEARCH" }, "queryConfig": { "dialogflowQuerySource": { "humanAgentSideConfig": { "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID" } } }, "disableAgentQueryLogging": false, "enableConversationAugmentedQuery": false, } ] } } }
Quando você cria um perfil de conversa no console do Agent Assist, ele ativa automaticamente a assistência de conhecimento generativo e a assistência de conhecimento generativo proativo. Para desativar a assistência de conhecimento generativo proativo, crie seu perfil de conversa usando a API.
Etapa 2: usar um agente de repositório de dados
Como alternativa, use a API
SearchKnowledge
para receber as respostas do agente do repositório de dados. Também é possível usar as seguintes configurações como parte da solicitação SearchKnowledge
:
querySource
: defina esse campo para indicar se um agente digitou a consulta ou se a assistência de conhecimento generativo proativo sugeriu automaticamente.exactSearch
: defina esse campo para indicar se a consulta de entrada precisa ser pesquisada sem a substituição da consulta.endUserMetadata
: defina esse campo para incluir outras informações sobre o usuário final que melhorem a resposta gerada. Para mais detalhes, consulte a página de personalização de desempenho do agente do Data Store.searchConfig
: defina esse campo para ter mais controle e impulsionar e filtrar documentos de conhecimento. Para mais detalhes, consulte a página de configuração da pesquisa de desempenho do agente do repositório de dados.
Antes de usar os dados da solicitação, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- LOCATION_ID: o ID do local
- CONVERSATION_PROFILE_ID: o ID do perfil da conversa da etapa anterior
- SESSION_ID: o ID da sessão de pesquisa O histórico de pesquisa da mesma sessão pode afetar o resultado da pesquisa. Você pode usar o ID da conversa abaixo para o ID da sessão.
- CONVERSATION_ID: a conversa (entre o agente humano e o usuário final) em que a solicitação de pesquisa é acionada
- MESSAGE_ID: a mensagem de conversa mais recente quando a solicitação de pesquisa é acionada
Confira um exemplo de solicitação JSON:
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID" "query": { "text": "What is the return policy?" } "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID" "sessionId": "SESSION_ID "conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID" "latestMessage": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID "querySource": AGENT_QUERY "exactSearch": false "searchConfig": { "filterSpecs": { "filter": "category: ANY(\"persona_B\")" } } "endUserMetadata": { "deviceOwned": "Google Pixel 7" } }
Opcionalmente, forneça os nomes dos recursos conversation
e latest_message
se
a pesquisa do agente acontecer durante uma conversa com um usuário. Esses dois campos
são obrigatórios se você ativar a opção enable_conversation_augmented_query
e
preferir melhorar a experiência de resposta de consulta com o contexto da conversa
entre o agente e o usuário.
Simulador
Teste seu agente de repositório de dados no simulador de assistente do agente.
No exemplo anterior, o agente do repositório de dados responde à consulta do usuário What is the refund
processing time?
com as seguintes informações:
- Resposta gerada pela IA generativa: Quando o pacote com a devolução chega ao centro de devolução do vendedor, pode levar até sete dias úteis para o processamento. Verifique o status do reembolso com o número de rastreamento de devolução na página de pedidos.
- O título do documento de conhecimento relevante: Devoluções e reembolsos.
Sugerir perguntas e respostas para seus agentes de forma proativa
A assistência de Knowledge Assist proativa generativa segue uma conversa em andamento e oferece respostas e sugestões de pesquisa de forma proativa.
Etapa 1: criar um perfil de conversa
Crie um perfil de conversa usando o console do Assistente do agente ou a API. Recomendamos que você crie um perfil de conversa usando o console do Assistente do agente.
Criar no console
- Ative o tipo de sugestão Assistente de conhecimento generativo e vincule-o ao agente do repositório de dados da etapa anterior. Isso permite que o agente do repositório de dados forneça proativamente sugestões de consulta e resposta e responda a consultas de pesquisa manuais dos agentes humanos.
- Opcional: use a caixa de seleção Mostrar todas as consultas sugeridas para a conversa para que o agente de repositório de dados mostre todas essas consultas, mesmo quando não houver uma resposta nos documentos de conhecimento. O objetivo é testar quais consultas podem ser extraídas da conversa em andamento.
- Opcional: use a caixa de seleção Carregar respostas proativas de forma assíncrona para receber apenas sugestões de consulta. É possível enviar manualmente a consulta sugerida para a API SearchKnowledge e enviar automaticamente no simulador do console e nos módulos da UI do Agente Assist.
Criar com base na API
As etapas a seguir criam um ConversationProfile com um objeto HumanAgentAssistantConfig. Também é possível realizar essas ações usando o console do Agente Assist.
Para criar um perfil de conversa, chame o método create no recurso ConversationProfile.
Antes de usar os dados da solicitação, faça as seguintes substituições:- PROJECT_ID: ID do projeto;
- LOCATION_ID: o ID do local
- AGENT_ID: o ID do agente de repositório de dados da etapa anterior
{ "displayName": "my-conversation-profile-display-name", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [ { "suggestionFeature": { "type": "KNOWLEDGE_ASSIST" }, "queryConfig": { "dialogflowQuerySource": { "agent": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID" } }, "enableQuerySuggestionWhenNoAnswer": false, } ] } } }
Etapa 2: processar conversas no momento da execução
A assistência de conhecimento generativa proativa processa conversas no momento da execução para oferecer sugestões de consulta de pesquisa com base no contexto da conversa atual e na resposta.
Criar uma conversa
Primeiro, crie uma conversa:
REST
Para criar uma conversa,
chame o método create
no recurso
Conversation
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_PROFILE_ID: o ID que você recebeu ao criar o perfil de conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations
Corpo JSON da solicitação:
{ "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID", "lifecycleState": "IN_PROGRESS", "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z" }
O segmento de caminho após conversations
contém o novo ID da conversa.
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um participante do usuário
Adicione participantes de usuários e agentes à conversa para conferir sugestões. Primeiro, adicione o participante à conversa:
REST
Para criar um participante do usuário, chame o método create
no recurso
Participant
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_ID: o ID da conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Corpo JSON da solicitação:
{ "role": "END_USER", }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "END_USER" }
O segmento de caminho após participants
contém o novo ID do participante do usuário.
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um agente-participante
Adicione um participante agente à conversa:
REST
Para criar um agente-participante, chame o método create
no recurso
Participant
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: o ID do projeto do Cloud
- LOCATION_ID: o ID do local
- CONVERSATION_ID: o ID da conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants
Corpo JSON da solicitação:
{ "role": "HUMAN_AGENT", }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID", "role": "HUMAN_AGENT" }
O segmento de caminho após participants
contém o novo ID do participante humano.
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Adicionar e analisar uma mensagem do agente
Sempre que um dos participantes digitar uma mensagem na conversa, você precisará enviar essa mensagem para a API para processamento. O agente do repositório de dados baseia as sugestões na análise de mensagens de usuários e agentes humanos. No exemplo abaixo, o agente humano inicia a conversa perguntando "Como posso ajudar você?"
Ainda não há sugestões na resposta.
REST
Para adicionar e analisar uma mensagem de um agente humano na conversa,
chame o método analyzeContent
no recurso
Participant
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- CONVERSATION_ID: o ID da conversa
- PARTICIPANT_ID: o ID do participante do agente humano
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Corpo JSON da solicitação:
{ "textInput": { "text": "How may I help you?", "languageCode": "en-US" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "How may I help you?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "HUMAN_AGENT", "createTime": "2020-02-13T00:01:30.683Z" } }
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Adicionar uma mensagem do usuário para sugestões
Em resposta ao agente, o usuário diz: "Quando posso receber meu reembolso?" Desta vez, a resposta da API contém uma consulta sugerida e a resposta da IA generativa com base nos documentos de conhecimento.
REST
Para adicionar e analisar uma mensagem do usuário na conversa, chame o
método analyzeContent
no recurso
Participant
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto;
- CONVERSATION_ID: o ID da conversa
- PARTICIPANT_ID: o ID do participante do usuário final
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent
Corpo JSON da solicitação:
{ "textInput": { "text": "When can I get my return refund?", "languageCode": "en-US" } }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "message": { "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID/messages/MESSAGE_ID", "content": "When can I get my return refund?", "languageCode": "en-US", "participant": "PARTICIPANT_ID", "participantRole": "END_USER", "createTime": "2020-02-13T00:07:35.925Z" }, "humanAgentSuggestionResults": [ { "suggestKnowledgeAssistResponse": { "knowledgeAssistAnswer": { "suggestedQuery": { "queryText": "Refund processing time" }, "suggestedQueryAnswer": { "answerText": "After your return is processed, you receive your refund in 7 days. The refund amount should be for the full value of the items returned, but doesn't include shipping & service fees.", "generativeSource": { "snippets": [ { "title": "Returns & refunds - Help", "uri": "https://example.com/", "text": "When the package with your return arrives at the seller's return center, it may take up to 7 additional business days to process. Check the status of your refund with the return tracking number found on your orders page." } ] }, }, "answerRecord": "projects/PROJECT_ID/answerRecords/ANSWER_RECORD_ID" }, } } ] }
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Concluir a conversa
Quando a conversa terminar, use a API para concluir a conversa.
REST
Para concluir a conversa,
chame o método complete
no recurso
conversations
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- PROJECT_ID: ID do projeto do GCP
- CONVERSATION_ID: o ID que você recebeu ao criar a conversa
Método HTTP e URL:
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_ID/conversations/CONVERSATION_ID", "lifecycleState": "COMPLETED", "conversationProfile": "projects/PROJECT_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "startTime": "2018-11-05T21:05:45.622Z", "endTime": "2018-11-06T03:50:26.930Z" }
Python
Para mais informações, consulte a documentação de referência da API Python do Vertex AI Agent Builder.
Para autenticar no Vertex AI Agent Builder, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Simulador
Você pode testar seu agente de repositório de dados no simulador do Assistente do agente.
No exemplo anterior, o agente de repositório de dados oferece as seguintes sugestões:
- Consulta sugerida: Tempo de processamento do reembolso.
- Resposta gerada pela IA geral: Depois que a devolução for processada, você vai receber o reembolso em sete dias. O valor do reembolso deve ser o valor total dos itens devolvidos, mas não inclui as taxas de frete e serviço.
- O título do documento de informações relevante: Devoluções e reembolsos: Ajuda.
Etapa 3: notificações de sugestões do Pub/Sub
É possível definir o campo notificationConfig
ao criar um perfil de conversa para receber notificações de sugestões. Essa opção usa o Pub/Sub para enviar notificações de sugestão ao seu aplicativo à medida que a conversa avança e novas sugestões ficam
disponíveis.
Se você estiver fazendo a integração pela API AnalyzeContent
, poderá ativar a configuração disable_high_latency_features_sync_delivery
em ConversationProfile
para garantir que a API AnalyzeContent
responda sem esperar pelas sugestões proativas de assistência de conhecimento generativo e envie as sugestões pelo Pub/Sub.
Também é possível ativar essa configuração no console do Agente Assist.
Acessar dados com os Insights de conversa
Como alternativa, as consultas e respostas geradas pelo Conhecimento assist proativo são preenchidas automaticamente nos Insights de conversa. Para acessar esses dados, siga as instruções em Ativar a integração do ambiente de execução do Dialogflow.
Enviar feedback
Para saber como enviar feedback, acesse Enviar feedback para o Assistente do agente.
Responder às perguntas dos agentes
Confira a seguir um exemplo de solicitação JSON para enviar feedback sobre como responder às perguntas dos agentes.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID", "answerFeedback": { "displayed": true "clicked": true "correctnessLevel": "FULLY_CORRECT" "agentAssistantDetailFeedback": { "knowledgeSearchFeedback": { "answerCopied": true "clickedUris": [ "url_1", "url_2", "url_3", ] } } } }
Sugerir perguntas e respostas de forma proativa
Confira a seguir um exemplo de solicitação JSON para enviar feedback sobre sugestões proativas.
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/answerRecords/ANSWER_RECORD_ID", "answerFeedback": { "displayed": true "clicked": true "correctnessLevel": "FULLY_CORRECT" "agentAssistantDetailFeedback": { "knowledgeAssistFeedback": { "answerCopied": true "clickedUris": [ "url_1", "url_2", "url_3", ] } } } }
Metadados
Se você configurar metadata para um documento de conhecimento, a assistência de conhecimento generativo e a assistência de conhecimento generativo proativo vão retornar os metadados do documento junto com a resposta.
Por exemplo, você pode usar metadados para marcar se o documento de conhecimento é um artigo privado interno ou um artigo público externo. No simulador de assistente do agente e nos módulos da interface, a assistência de conhecimento generativo e a assistência de conhecimento generativo proativa mostram automaticamente um valor de metadados de documento para determinadas chaves.
gka_source_label
: o valor é mostrado diretamente no card de sugestão.gka_source_tooltip
: quando o valor é do tipostruct
, manter o cursor sobre o link de origem expande e exibe o valor em uma dica.
Se você tiver os metadados a seguir para um documento de conhecimento, o card de sugestão vai listar a origem como External Doc
, e a dica vai adicionar doc_visibility: public doc
.
Metadados:
None
{
"title": "Public Sample Doc",
"gka_source_label": "External Doc",
"gka_source_tooltip": {
"doc_visibility": "public doc"
}
}
Suporte ao idioma
Consulte a lista completa de idiomas compatíveis.