O assistente de conhecimento generativo responde às perguntas do seu agente com base nas informações dos documentos que você fornece. Você pode especificar seu nome de domínio ou fazer upload de documentos para um agente de repositório de dados indexar. A assistência de conhecimento generativo sintetiza essas informações com a conversa em andamento e os metadados disponíveis do cliente para dar uma resposta mais relevante e oportuna ao seu agente.
A assistência de conhecimento generativo proativa acompanha a conversa em andamento entre o agente e o cliente. Ele oferece sugestões de consultas de pesquisa de forma proativa 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, precisará destas funções para criar um agente de repositório de dados:
- Administrador da Dialogflow API
- Administrador do Discovery Engine
Ative a API AI Applications 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 seus agentes humanos com base nos documentos fornecidos.
Etapa 1: criar um perfil de conversa
Crie um perfil de conversa usando o console do Assistente de agente ou a API.
Criar no console
- É necessário ativar o tipo de sugestão de assistência de conhecimento generativo e vinculá-lo ao agente do repositório de dados da etapa anterior.
- Opcional: marque 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 possível melhoria da qualidade.
- Use a caixa de seleção Ativar consulta aumentada de conversas para indicar se você quer considerar o contexto da conversa entre o atendente humano e o usuário ao gerar a resposta para a consulta de pesquisa.

Criar com a API
As etapas a seguir mostram como criar um ConversationProfile com um objeto HumanAgentAssistantConfig. Também é possível realizar essas ações usando o console da Assistente de IA.
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 do 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, o recurso ativa automaticamente o assistente de conhecimento generativo e o assistente de conhecimento generativo proativo. Para desativar a assistência de conhecimento generativo proativa, crie seu perfil de conversa usando a API.
Etapa 2: usar um agente de repositório de dados
Se quiser, use a API
SearchKnowledge
para receber as respostas do agente de repositório de dados. Também é possível usar as seguintes configurações como parte da solicitação SearchKnowledge:
querySource: defina este campo para indicar se um agente digitou a consulta ou se a assistência de conhecimento generativo proativa sugeriu automaticamente.exactSearch: defina este campo para indicar se é necessário pesquisar a consulta de entrada exata sem reescrever a consulta.endUserMetadata: defina este campo para incluir mais 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 de repositório de dados.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 de pesquisa de desempenho do agente de 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 de conversa da etapa anterior
- SESSION_ID: seu ID de sessão de pesquisa O histórico de pesquisa da mesma sessão pode afetar o resultado da pesquisa. Você pode usar o seguinte ID de conversa para o ID de sessão.
- CONVERSATION_ID: a conversa (entre um agente humano e um usuário final) em que a solicitação de pesquisa é acionada.
- MESSAGE_ID: a mensagem mais recente da conversa 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" } }
Se quiser, forneça os nomes de 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 à consulta com o contexto da conversa entre o agente e o usuário.
Simulador
Teste seu agente de repositório de dados no simulador do Agent Assist.

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 sua devolução chegar ao centro de devolução do vendedor, o processamento pode levar até sete dias úteis adicionais. Confira o status do reembolso com o número de rastreamento da devolução na página de pedidos.
- Título do documento de conhecimento relevante: Devoluções e reembolsos.
Sugerir proativamente perguntas e respostas para seus representantes
A assistência de conhecimento generativo proativa acompanha uma conversa em andamento e oferece sugestões de consultas de pesquisa e respostas de forma proativa.
Etapa 1: criar um perfil de conversa
Crie um perfil de conversa usando o console do Assistente de agente ou a API. Recomendamos que você crie um perfil de conversa usando o console do Assistente de agente.
Criar no console
- Ative o tipo de sugestão Assistência de conhecimento generativo e vincule-o ao agente de repositório de dados da etapa anterior. Isso permite que o agente do repositório de dados ofereça proativamente sugestões de consultas e respostas e responda a consultas de pesquisa manual dos seus agentes humanos.
- Opcional: marque a caixa de seleção Mostrar todas as consultas sugeridas para a conversa para que o agente do repositório de dados mostre todas essas consultas, mesmo quando não houver uma resposta encontrada nos seus documentos de conhecimento. Isso é destinado a testar quais consultas podem ser extraídas da conversa em andamento.
- Opcional: marque 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 automaticamente no simulador do console do Assistente de agente e nos módulos UI interface.

Criar com a API
As etapas a seguir criam um ConversationProfile com um objeto HumanAgentAssistantConfig. Também é possível realizar essas ações usando o console do Assistente de agente.
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 do 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 durante a execução
A assistência de conhecimento generativo proativa processa conversas durante a execução para fornecer sugestões de consultas 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 ID da nova conversa.
Python
Para mais informações, consulte a documentação de referência da API Vertex AI Search Python.
Para autenticar na Pesquisa da Vertex AI, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um usuário participante
Adicione participantes (usuários e agentes) à conversa para ver sugestões. Primeiro, adicione o usuário-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 seu novo ID de usuário participante.
Python
Para mais informações, consulte a documentação de referência da API Vertex AI Search Python.
Para autenticar na Pesquisa da Vertex AI, configure o Application Default Credentials. Se quiser mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um participante do agente
Adicione um participante-agente à conversa:
REST
Para criar um participante do agente, 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-agente humano.
Python
Para mais informações, consulte a documentação de referência da API Vertex AI Search Python.
Para autenticar na Pesquisa da Vertex AI, configure o Application Default Credentials. Se quiser 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 digita uma mensagem na conversa, é necessário enviar essa mensagem à API para processamento. O agente de repositório de dados baseia as sugestões dele na análise das mensagens do usuário e do agente humano. No exemplo a seguir, o atendente humano inicia a conversa perguntando: "Como posso ajudar?"
Nenhuma sugestão é retornada na resposta.
REST
Para adicionar e analisar uma mensagem de um atendente 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: seu ID de participante 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 Vertex AI Search Python.
Para autenticar na Pesquisa da Vertex AI, configure o Application Default Credentials. Se quiser 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 o reembolso da minha devolução?" 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 Vertex AI Search Python.
Para autenticar na Pesquisa da Vertex AI, configure o Application Default Credentials. Se quiser 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 Vertex AI Search Python.
Para autenticar na Pesquisa da Vertex AI, configure o Application Default Credentials. Se quiser 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 de agente.

No exemplo anterior, o agente de repositório de dados fornece as seguintes sugestões:
- Consulta sugerida: Tempo de processamento do reembolso.
- Resposta gerada com IA generativa: Depois que sua devolução for processada, você vai receber o reembolso em até 7 dias. O valor do reembolso deve ser o valor total dos itens devolvidos, mas não inclui taxas de frete e serviço.
- Título do documento de conhecimento 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 generativa de conhecimento e entregue as sugestões pelo Pub/Sub.
Também é possível ativar essa configuração no console da Assistência do agente.

Acessar dados com o Conversational Insights
Como alternativa, as consultas e respostas geradas pela assistência de conhecimento generativo proativa são preenchidas automaticamente no recurso Insights de conversação. 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 Agent Assist.
Responder às perguntas do agente
Confira a seguir um exemplo de solicitação JSON para enviar feedback sobre as perguntas do agente de respostas.
{ "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 metadados para um documento de conhecimento, a assistência de conhecimento generativo e a assistência de conhecimento generativo proativa vão retornar os metadados do documento junto com a resposta.
Por exemplo, é possível usar metadados para marcar se o documento de conhecimento é um artigo interno particular ou um artigo público externo. No simulador da Assistente de IA e nos módulos da interface, a assistência de conhecimento generativa e a assistência de conhecimento generativa proativa mostram automaticamente um valor de metadados do documento para determinadas chaves.
gka_source_label: o valor é mostrado diretamente no card de sugestão.gka_source_tooltip: quando o valor é do tipostruct, passar o cursor sobre o link da fonte expande e mostra o valor em uma dica.
Se você tiver os seguintes metadados para um documento de conhecimento, o card de sugestão vai listar a fonte como External Doc, e a dica de ferramenta vai adicionar doc_visibility: public doc.
Metadados:
None
{
"title": "Public Sample Doc",
"gka_source_label": "External Doc",
"gka_source_tooltip": {
"doc_visibility": "public doc"
}
}
Metadados do usuário final
Anexe metadados do usuário final para melhorar e personalizar a resposta gerada pelo agente do Datastore. Para a assistência de conhecimento generativo, você pode anexar metadados do usuário final ao campo end_user_metadata ou ingerir em uma conversa com a API IngestContextReferences. É possível usar os metadados ingeridos do usuário final para a assistência de conhecimento generativo e a assistência de conhecimento generativo proativa.
Exemplo 1: anexar metadados do usuário final
{
"query": {
"text": "test query"
},
"conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
"sessionId": "SESSION_ID",
"conversation": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID",
"querySource": "AGENT_QUERY",
"endUserMetadata": {
"Name": "Jack",
"Age": 33,
"City": "Tokyo"
}
}
Exemplo 2: ingerir metadados do usuário final
{
"conversation": "projects/PROJECT_ID/locations/global/conversations/CONVERSATION_ID",
"contextReferences": {
"gka_end_user_metadata": {
"contextContents": [{
"content": "{\"Name\":\"Jack\",\"Age\":33,\"city\":\"Tokyo\"}",
"contentFormat": "JSON"
}],
"updateMode": "OVERWRITE",
"languageCode": "en-US"
}
}
}
Para mais detalhes sobre metadados do usuário final no Datastore, consulte as informações sobre a personalização do Dialogflow.
Suporte ao idioma
Confira a lista completa de idiomas compatíveis.