Assistência de conhecimento generativa

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

  1. 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
  2. Ative a API AI Applications no console da Vertex AI.

  3. 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

  1. É 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.
  2. 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.
  3. 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
Confira um exemplo de JSON:
  {
    "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:

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

  1. 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.
  2. 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.
  3. 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
Confira um exemplo de JSON:
  {
    "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.

def create_conversation(project_id, conversation_profile_id):
    """Creates a conversation with given values

    Args:
        project_id:  The GCP project linked with the conversation.
        conversation_profile_id: The conversation profile id used to create
        conversation."""

    client = dialogflow.ConversationsClient()
    conversation_profile_client = dialogflow.ConversationProfilesClient()
    project_path = client.common_project_path(project_id)
    conversation_profile_path = conversation_profile_client.conversation_profile_path(
        project_id, conversation_profile_id
    )
    conversation = {"conversation_profile": conversation_profile_path}
    response = client.create_conversation(
        parent=project_path, conversation=conversation
    )

    print("Life Cycle State: {}".format(response.lifecycle_state))
    print("Conversation Profile Name: {}".format(response.conversation_profile))
    print("Name: {}".format(response.name))
    return response

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.

def create_participant(project_id: str, conversation_id: str, role: str):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Creates a participant in a given conversation.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant: participant to be created."""

    client = dialogflow.ParticipantsClient()
    conversation_path = dialogflow.ConversationsClient.conversation_path(
        project_id, conversation_id
    )
    if role in ROLES:
        response = client.create_participant(
            parent=conversation_path, participant={"role": role}, timeout=600
        )
        print("Participant Created.")
        print(f"Role: {response.role}")
        print(f"Name: {response.name}")

        return response

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.

def create_participant(project_id: str, conversation_id: str, role: str):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Creates a participant in a given conversation.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant: participant to be created."""

    client = dialogflow.ParticipantsClient()
    conversation_path = dialogflow.ConversationsClient.conversation_path(
        project_id, conversation_id
    )
    if role in ROLES:
        response = client.create_participant(
            parent=conversation_path, participant={"role": role}, timeout=600
        )
        print("Participant Created.")
        print(f"Role: {response.role}")
        print(f"Name: {response.name}")

        return response

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.

def analyze_content_text(
    project_id: str, conversation_id: str, participant_id: str, text: str
):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Analyze text message content from a participant.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant_id: Id of the participant.
        text: the text message that participant typed."""

    client = dialogflow.ParticipantsClient()
    participant_path = client.participant_path(
        project_id, conversation_id, participant_id
    )
    text_input = {"text": text, "language_code": "en-US"}
    response = client.analyze_content(
        participant=participant_path, text_input=text_input
    )
    print("AnalyzeContent Response:")
    print(f"Reply Text: {response.reply_text}")

    for suggestion_result in response.human_agent_suggestion_results:
        if suggestion_result.error is not None:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    for suggestion_result in response.end_user_suggestion_results:
        if suggestion_result.error:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    return response

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.

def analyze_content_text(
    project_id: str, conversation_id: str, participant_id: str, text: str
):
    from google.cloud import dialogflow_v2beta1 as dialogflow

    """Analyze text message content from a participant.

    Args:
        project_id: The GCP project linked with the conversation profile.
        conversation_id: Id of the conversation.
        participant_id: Id of the participant.
        text: the text message that participant typed."""

    client = dialogflow.ParticipantsClient()
    participant_path = client.participant_path(
        project_id, conversation_id, participant_id
    )
    text_input = {"text": text, "language_code": "en-US"}
    response = client.analyze_content(
        participant=participant_path, text_input=text_input
    )
    print("AnalyzeContent Response:")
    print(f"Reply Text: {response.reply_text}")

    for suggestion_result in response.human_agent_suggestion_results:
        if suggestion_result.error is not None:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    for suggestion_result in response.end_user_suggestion_results:
        if suggestion_result.error:
            print(f"Error: {suggestion_result.error.message}")
        if suggestion_result.suggest_articles_response:
            for answer in suggestion_result.suggest_articles_response.article_answers:
                print(f"Article Suggestion Answer: {answer.title}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_faq_answers_response:
            for answer in suggestion_result.suggest_faq_answers_response.faq_answers:
                print(f"Faq Answer: {answer.answer}")
                print(f"Answer Record: {answer.answer_record}")
        if suggestion_result.suggest_smart_replies_response:
            for (
                answer
            ) in suggestion_result.suggest_smart_replies_response.smart_reply_answers:
                print(f"Smart Reply: {answer.reply}")
                print(f"Answer Record: {answer.answer_record}")

    return response

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.

def complete_conversation(project_id, conversation_id):
    """Completes the specified conversation. Finished conversations are purged from the database after 30 days.

    Args:
        project_id: The GCP project linked with the conversation.
        conversation_id: Id of the conversation."""

    client = dialogflow.ConversationsClient()
    conversation_path = client.conversation_path(project_id, conversation_id)
    conversation = client.complete_conversation(name=conversation_path)
    print("Completed Conversation.")
    print("Life Cycle State: {}".format(conversation.lifecycle_state))
    print("Conversation Profile Name: {}".format(conversation.conversation_profile))
    print("Name: {}".format(conversation.name))
    return conversation

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 tipo struct, 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.