Knowledge Assist proactivo y generativo

El asistente de conocimiento generativo proactivo sigue una conversación en curso y proporciona de forma proactiva sugerencias de búsqueda y respuestas. El asistente de conocimiento generativo proactivo admite el contexto de búsqueda, múltiples sugerencias de búsqueda y la personalización de eventos de inicio.

Contexto de la búsqueda

La asistencia de conocimiento generativo proactiva genera una búsqueda y un contexto. Extrae información de la conversación como pares clave-valor para mejorar el contexto de la búsqueda y proporcionar mejores respuestas a la búsqueda.

También puedes inhabilitar el contexto de búsqueda. En algunos casos, puedes inhabilitar el uso del contexto de búsqueda y usar solo la búsqueda. Controla esto con el campo disable_query_search_context. Cuando este campo se establece en true, el asistente de conocimiento generativo proactivo genera el contexto de búsqueda, pero no lo agrega a la búsqueda, que se envía a la base de conocimiento.

Varias consultas sugeridas

La asistencia proactiva basada en conocimiento generativo puede generar varias búsquedas pertinentes para los diferentes temas que se abordan en una conversación. Utiliza la búsqueda principal para la búsqueda automática de conocimiento y proporciona búsquedas adicionales en la respuesta para que el agente las use si es necesario.

Personaliza el inicio de eventos

De forma predeterminada, un CUSTOMER_MESSAGE inicia sugerencias del asistente de conocimiento proactivo y generativo. Para definir qué evento inicia una nueva sugerencia del asistente de conocimiento proactivo y generativo, elige una de las siguientes opciones de valor para el campo suggestion_trigger_event.

  • CUSTOMER_MESSAGE: Conserva el mensaje predeterminado que recibió del usuario final.
  • AGENT_MESSAGE: Un agente humano envía un mensaje.
  • END_OF_UTTERANCE: El asistente de conocimiento proactivo y generativo detecta el final de un enunciado del usuario.

Implementa el asistente de conocimiento generativo proactivo

Sigue estos pasos para comenzar a usar el asistente de conocimiento generativo proactivo.

Paso 1: Crea un perfil de conversación

Crea un perfil de conversación con la consola de Agent Assist o la API. Te recomendamos que crees un perfil de conversación con la consola de Agent Assist.

Console

  1. Habilita el tipo de sugerencia Generative Knowledge Assist y vincúlalo al agente de almacén de datos basado en flujos o al agente de almacén de datos basado en guías del paso anterior. Esto permite que el agente de almacén de datos basado en flujos o el agente de almacén de datos basado en guías proporcionen de forma proactiva sugerencias de preguntas y respuestas, y respondan las preguntas de búsqueda manual de tus agentes humanos.
  2. Opcional: Usa la casilla de verificación Mostrar todas las preguntas sugeridas para la conversación para que el agente de almacén de datos basado en flujos o el agente de almacén de datos basado en guías muestre todas estas preguntas, incluso cuando no se encuentre una respuesta en tus documentos de conocimiento. Esto está diseñado para probar qué preguntas se pueden extraer de la conversación en curso.
  3. Opcional: Usa la casilla de verificación Load proactive answers asynchronously para obtener solo sugerencias de búsqueda. Puedes enviar manualmente la búsqueda sugerida a la API de SearchKnowledge y enviarla automáticamente en los módulos de la IU y el simulador de la consola de Agent Assist.

API

En los siguientes pasos, se crea un objeto ConversationProfile con un objeto HumanAgentAssistantConfig. También puedes realizar estas acciones con la consola de Agent Assist.

Para crear un perfil de conversación, llama al método create en el recurso ConversationProfile y actualiza `baseline_model_version`.

Antes de usar cualquiera de los datos de solicitud, realiza los siguientes reemplazos:
  • PROJECT_ID: Es el ID del proyecto.
  • LOCATION_ID: Es el ID de tu ubicación.
  • AGENT_ID: Es el ID del agente de almacén de datos basado en flujos o del agente de almacén de datos basado en guiones del paso anterior.
A continuación, se muestra un ejemplo en JSON de la configuración de un perfil de conversación con el modelo de referencia 2.0:
 {
  "name": "projects/PROJECT_ID/locations/LOCATION/conversationProfiles/PROFILE_ID",
  "human_agent_assistant_config": {
    "human_agent_suggestion_config": {
      "feature_configs": [
        {
          "suggestion_feature": {
            "type": "KNOWLEDGE_ASSIST"
          },
          "query_config": {
            "dialogflow_query_source": {
              "agent": "projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID"
            }
          },
          "conversation_model_config": {
            "baseline_model_version": "2.0"
          }
        "disable_query_search_context": false,
    "enableQuerySuggestionWhenNoAnswer": false,
    "suggestion_trigger_event": "END_OF_UTTERANCE",
        }
      ]
    }
  }
}
     

Paso 2: Controla las conversaciones durante el tiempo de ejecución

El asistente de conocimiento generativo proactivo procesa las conversaciones durante el tiempo de ejecución para proporcionar de forma proactiva sugerencias de búsqueda basadas en el contexto de la conversación actual y la respuesta.

Cómo crear una conversación

Primero, debes crear una conversación:

REST

Para crear una conversación, llama al método create en el recurso Conversation.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: Tu ID de ubicación
  • CONVERSATION_PROFILE_ID: Es el ID que recibiste cuando creaste el perfil de conversación.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations

Cuerpo JSON de la solicitud:

{
  "conversationProfile": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID",
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
}

El segmento de ruta después de conversations contiene el nuevo ID de tu conversación.

Python

Para obtener más información, consulta la documentación de referencia de la API de Agent Search Python.

Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Cómo crear un participante usuario

Agrega participantes (usuarios y agentes) a la conversación para ver sugerencias. Primero, agrega al usuario participante a la conversación:

REST

Para crear un participante usuario, llama al método create en el recurso Participant.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: Tu ID de ubicación
  • CONVERSATION_ID: Es el ID de tu conversación.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Cuerpo JSON de la solicitud:

{
  "role": "END_USER",
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "END_USER"
}

El segmento de ruta después de participants contiene tu nuevo ID de participante-usuario.

Python

Para obtener más información, consulta la documentación de referencia de la API de Agent Search Python.

Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Crea un participante-agente

Sigue estos pasos para agregar un agente-participante a la conversación:

REST

Para crear un participante-agente, llama al método create en el recurso Participant.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: El ID del proyecto de Cloud
  • LOCATION_ID: Tu ID de ubicación
  • CONVERSATION_ID: Es el ID de tu conversación.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants

Cuerpo JSON de la solicitud:

{
  "role": "HUMAN_AGENT",
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID",
  "role": "HUMAN_AGENT"
}

El segmento de ruta después de participants contiene el nuevo ID del participante-agente humano.

Python

Para obtener más información, consulta la documentación de referencia de la API de Agent Search Python.

Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Agrega y analiza un mensaje del agente

Cada vez que uno de los participantes escribe un mensaje en la conversación, debes enviarlo a la API para que lo procese. El agente del almacén de datos basa sus sugerencias en el análisis de los mensajes de los agentes humanos y los usuarios. En el siguiente ejemplo, el agente humano inicia la conversación preguntando: "¿En qué puedo ayudarte?".

Aún no se devolvieron sugerencias en la respuesta.

REST

Para agregar y analizar un mensaje de agente humano en la conversación, llama al método analyzeContent en el recurso Participant.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto.
  • CONVERSATION_ID: Es el ID de tu conversación.
  • PARTICIPANT_ID: Es el ID del participante agente humano.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent

Cuerpo JSON de la solicitud:

{
  "textInput": {
    "text": "How may I help you?",
    "languageCode": "en-US"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 obtener más información, consulta la documentación de referencia de la API de Agent Search Python.

Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Agrega un mensaje del usuario para obtener sugerencias

En respuesta al agente, el usuario pregunta: "¿Cuándo puedo obtener el reembolso de mi devolución?". En esta ocasión, la respuesta de la API contiene una búsqueda sugerida y la respuesta de la IA generativa basada en los documentos de conocimiento.

REST

Para agregar y analizar un mensaje del usuario en la conversación, llama al método analyzeContent en el recurso Participant.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto.
  • CONVERSATION_ID: Es el ID de tu conversación.
  • PARTICIPANT_ID: Es el ID de participante del usuario final.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID/participants/PARTICIPANT_ID:analyzeContent

Cuerpo JSON de la solicitud:

{
  "textInput": {
    "text": "When can I get my return refund?",
    "languageCode": "en-US"
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 obtener más información, consulta la documentación de referencia de la API de Agent Search Python.

Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Completa la conversación

Cuando finalice la conversación, usa la API para completarla.

REST

Para completar la conversación, llama al método complete en el recurso conversations.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • PROJECT_ID: Es el ID del proyecto de GCP.
  • CONVERSATION_ID: Es el ID que recibiste cuando creaste la conversación.

Método HTTP y URL:

POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/conversations/CONVERSATION_ID:complete

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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 obtener más información, consulta la documentación de referencia de la API de Agent Search Python.

Para autenticarte en Agent Search, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo 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

Puedes probar tu agente de almacén de datos basado en flujos o en manuales en el simulador de Agent Assist.

En el ejemplo anterior, el agente del almacén de datos basado en flujos proporciona las siguientes sugerencias:

  • Consulta sugerida: Tiempo de procesamiento del reembolso.
  • Respuesta generada por IA generativa: Después de que se procese tu devolución, recibirás el reembolso en un plazo de 7 días. El importe del reembolso debe corresponder al valor total de los artículos devueltos, pero no incluye los cargos de servicio ni de envío.
  • Título del documento de conocimiento pertinente: Devoluciones y reembolsos - Ayuda.

Paso 3: Notificaciones de sugerencias de Pub/Sub

Puedes establecer el campo notificationConfig cuando crees un perfil de conversación para recibir notificaciones sobre las sugerencias. Esta opción usa Pub/Sub para enviar notificaciones de sugerencias a tu aplicación a medida que avanza la conversación y hay nuevas sugerencias disponibles.

Si realizas la integración a través de la API de AnalyzeContent, tienes la opción de habilitar la configuración de disable_high_latency_features_sync_delivery en ConversationProfile para garantizar que la API de AnalyzeContent responda sin esperar las sugerencias de asistencia de conocimiento proactiva generativa y que entregue las sugerencias a través de Pub/Sub.

También puedes habilitar esta configuración desde la consola de Agent Assist.

Accede a los datos a través de Customer Experience Insights

Como alternativa, las preguntas y respuestas generadas por tu asistente de conocimiento generativo proactivo se completan automáticamente en Customer Experience Insights. Para acceder a estos datos, sigue las instrucciones que se indican en Habilitar la integración del entorno de ejecución de Dialogflow.

Enviar comentarios

Si quieres conocer los pasos para enviar comentarios, consulta Cómo enviar comentarios a Agent Assist.

Responde las preguntas del agente

A continuación, se muestra un ejemplo de solicitud JSON para enviar comentarios sobre las preguntas del agente de respuestas.

{
 "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 preguntas y respuestas de forma proactiva

A continuación, se muestra un ejemplo de solicitud JSON para enviar comentarios sobre las sugerencias proactivas.

{
 "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",
       ]
     }
   }
 }
}