Assistência de Knowledge Assist generativa

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

  1. 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
  2. Ative a API Vertex AI Agent Builder 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 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

  1. Ative o tipo de sugestão de assistente de conhecimento generativo e vincule-o ao agente do repositório de dados da etapa anterior.
  2. 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.
  3. 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
Confira a seguir 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, 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:

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

  1. 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.
  2. 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.
  3. 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
Confira a seguir 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 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.

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

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

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

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

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

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