Aide proactive basée sur les connaissances génératives

L'assistance proactive basée sur les connaissances génératives suit une conversation en cours et fournit de manière proactive des suggestions de requêtes de recherche et des réponses. Elle prend en charge le contexte de recherche et plusieurs requêtes suggérées. Vous pouvez également personnaliser les événements déclencheurs.

Contexte de la recherche

L'assistance proactive à la génération de connaissances génère une requête de recherche et un contexte. Elle extrait des informations de la conversation sous forme de paires clé-valeur pour améliorer le contexte de recherche et fournir de meilleures réponses à la requête de recherche.

Vous pouvez également désactiver le contexte de recherche. Dans certains cas, vous pouvez désactiver l'utilisation du contexte de recherche et n'utiliser que la requête elle-même. Pour cela, utilisez le champ disable_query_search_context. Lorsque ce champ est défini sur true, l'assistance proactive pour la base de connaissances générative génère le contexte de recherche, mais ne l'ajoute pas à la requête de recherche, qui est envoyée à la base de connaissances.

Plusieurs requêtes suggérées

L'assistance proactive basée sur l'IA générative peut générer plusieurs requêtes pertinentes pour différents sujets abordés dans une conversation. Elle utilise la requête principale pour la recherche automatique de connaissances et fournit des requêtes supplémentaires dans la réponse que l'agent peut utiliser si nécessaire.

Personnaliser le déclenchement d'un événement

Par défaut, un CUSTOMER_MESSAGE lance des suggestions de l'assistance proactive basée sur l'IA générative. Pour définir l'événement qui déclenche une nouvelle suggestion d'assistance proactive basée sur les connaissances génératives, choisissez l'une des options de valeur suivantes pour le champ suggestion_trigger_event.

  • CUSTOMER_MESSAGE : conservez le message par défaut reçu de l'utilisateur final.
  • AGENT_MESSAGE : un message est envoyé par l'agent humain.
  • END_OF_UTTERANCE : l'assistance proactive basée sur les connaissances génératives détecte la fin d'un énoncé de l'utilisateur.

Implémenter l'assistance proactive basée sur les connaissances génératives

Suivez ces étapes pour commencer à utiliser l'assistance proactive basée sur les connaissances génératives.

Étape 1 : Créer un profil de conversation

Créez un profil de conversation à l'aide de la console Agent Assist ou de l'API. Nous vous recommandons de créer un profil de conversation à l'aide de la console Agent Assist.

Console

  1. Activez le type de suggestion Assistance base de connaissances générative et associez-le à l'agent de data store basé sur un flux ou sur un playbook de l'étape précédente. Cela permet à l'agent de data store basé sur un flux ou sur un playbook de fournir de manière proactive des suggestions de requêtes et de réponses, et de répondre aux requêtes de recherche manuelles de vos agents humains.
  2. Facultatif : Cochez la case Afficher toutes les requêtes suggérées pour la conversation pour que l'agent de data store basé sur les flux ou l'agent de data store basé sur les playbooks affiche toutes ces requêtes, même si aucune réponse n'a été trouvée dans vos documents de connaissances. Cette fonctionnalité est destinée à tester les requêtes qui peuvent être extraites de la conversation en cours.
  3. Facultatif : Cochez la case Charger les réponses proactives de manière asynchrone pour n'obtenir que des suggestions de requêtes. Vous pouvez envoyer manuellement la requête suggérée à l'API SearchKnowledge et l'envoyer automatiquement dans le simulateur de la console Agent Assist et les modules d'UI.

API

Les étapes suivantes permettent de créer un ConversationProfile avec un objet HumanAgentAssistantConfig. Vous pouvez également effectuer ces actions à l'aide de la console Agent Assist.

Pour créer un profil de conversation, appelez la méthode "create" sur la ressource ConversationProfile et mettez à jour `baseline_model_version`.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :
  • PROJECT_ID : ID de votre projet
  • LOCATION_ID : ID de votre établissement
  • AGENT_ID : ID de votre agent de data store basé sur un flux ou sur un playbook obtenu à l'étape précédente
Voici un exemple JSON de configuration de profil de conversation avec le modèle de référence 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",
        }
      ]
    }
  }
}
     

Étape 2 : Gérer les conversations lors de l'exécution

L'assistance proactive basée sur les connaissances génératives traite les conversations au moment de l'exécution pour fournir de manière proactive des suggestions de requêtes de recherche en fonction du contexte de la conversation en cours et de la réponse.

Créer une conversation

Vous devez d'abord créer une conversation :

REST

Pour créer une conversation, appelez la méthode create sur la ressource Conversation.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Cloud
  • LOCATION_ID : ID de votre emplacement
  • CONVERSATION_PROFILE_ID: ID obtenu lors de la création du profil de conversation

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Le segment de chemin d'accès après conversations contient le nouvel ID de la conversation.

Python

Pour en savoir plus, consultez la documentation de référence de l'API Agent Search en langage Python.

Pour vous authentifier auprès d'Agent Search, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Créer un utilisateur participant

Ajoutez des participants utilisateur et agent à la conversation pour voir les suggestions. Commencez par ajouter le participant utilisateur à la conversation :

REST

Pour créer un participant utilisateur, appelez la méthode create sur la ressource Participant.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Cloud
  • LOCATION_ID : ID de votre emplacement
  • CONVERSATION_ID: ID de votre conversation

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "role": "END_USER",
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Le segment de chemin d'accès indiqué après participants contient le nouvel ID de participant de l'utilisateur.

Python

Pour en savoir plus, consultez la documentation de référence de l'API Agent Search en langage Python.

Pour vous authentifier auprès d'Agent Search, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Créer un participant-agent

Pour ajouter un participant d'agent à la conversation :

REST

Pour créer un participant d'agent, appelez la méthode create sur la ressource Participant.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet Cloud
  • LOCATION_ID : ID de votre emplacement
  • CONVERSATION_ID: ID de votre conversation

Méthode HTTP et URL :

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

Corps JSON de la requête :

{
  "role": "HUMAN_AGENT",
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Le segment de chemin d'accès indiqué après participants contient l'ID du nouveau participant de votre agent humain.

Python

Pour en savoir plus, consultez la documentation de référence de l'API Agent Search en langage Python.

Pour vous authentifier auprès d'Agent Search, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Ajouter et analyser un message de l'agent

Chaque fois que l'un des participants saisit un message dans la conversation, vous devez l'envoyer à l'API pour traitement. Les suggestions de l'agent de data store sont basées sur l'analyse des messages des agents humains et des utilisateurs. Dans l'exemple suivant, l'agent humain démarre la conversation en demandant "Comment puis-je vous aider ?".

Aucune suggestion n'a encore été renvoyée dans la réponse.

REST

Pour ajouter et analyser un message d'agent humain dans la conversation, appelez la méthode analyzeContent sur la ressource Participant.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • CONVERSATION_ID: ID de votre conversation
  • PARTICIPANT_ID: ID de votre participant d'agent humain

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour en savoir plus, consultez la documentation de référence de l'API Agent Search en langage Python.

Pour vous authentifier auprès d'Agent Search, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Ajouter un message de l'utilisateur pour obtenir des suggestions

En réponse à l'agent, l'utilisateur demande "Quand puis-je obtenir le remboursement de mon retour ?" Cette fois, la réponse de l'API contient une requête suggérée et la réponse de l'IA générative basée sur les documents de connaissances.

REST

Pour ajouter et analyser un message utilisateur pour la conversation, appelez la méthode analyzeContent sur la ressource Participant.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet
  • CONVERSATION_ID: ID de votre conversation
  • PARTICIPANT_ID: ID du participant de l'utilisateur final

Méthode HTTP et URL :

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

Corps JSON de la requête :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour en savoir plus, consultez la documentation de référence de l'API Agent Search en langage Python.

Pour vous authentifier auprès d'Agent Search, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Terminer la conversation

À la fin de la conversation, utilisez l'API pour la terminer.

REST

Pour terminer la conversation, appelez la méthode complete sur la ressource conversations.

Avant d'utiliser les données de requête, effectuez les remplacements suivants :

  • PROJECT_ID : ID de votre projet GCP
  • CONVERSATION_ID: ID obtenu lors de la création de la conversation

Méthode HTTP et URL :

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

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Pour en savoir plus, consultez la documentation de référence de l'API Agent Search en langage Python.

Pour vous authentifier auprès d'Agent Search, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement 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

Simulateur

Vous pouvez tester votre agent de data store basé sur des flux ou des playbooks dans le simulateur Agent Assist.

Dans l'exemple précédent, l'agent de data store basé sur le flux fournit les suggestions suivantes :

  • Requête suggérée : Délai de traitement des remboursements.
  • Réponse générée par l'IA générative : Une fois votre retour traité, vous êtes remboursé dans un délai de sept jours. Le montant du remboursement correspond à la valeur totale des articles retournés, mais n'inclut pas les frais de port et de service.
  • Titre du document d'information concerné : Retours et remboursements – Aide

Étape 3 : Notifications de suggestion Pub/Sub

Vous pouvez définir le champ notificationConfig lors de la création d'un profil de conversation pour recevoir des notifications pour les suggestions. Cette option utilise Pub/Sub pour envoyer des notifications de suggestions à votre application lorsque la conversation se poursuit et de nouvelles suggestions sont disponibles.

Si vous effectuez l'intégration via l'API AnalyzeContent, vous pouvez activer la configuration disable_high_latency_features_sync_delivery dans ConversationProfile pour vous assurer que l'API AnalyzeContent répondra sans attendre les suggestions d'assistance proactive basées sur les connaissances génératives et qu'elle les fournira via Pub/Sub.

Vous pouvez également activer cette configuration depuis la console Agent Assist.

Accéder aux données via Customer Experience Insights

Vous pouvez également accéder aux requêtes et réponses générées par l'assistance proactive basée sur l'IA générative dans Insights sur l'expérience client. Pour y accéder, suivez les instructions de la section Activer l'intégration de l'environnement d'exécution de Dialogflow.

Envoyer des commentaires

Pour savoir comment envoyer des commentaires, consultez Envoyer des commentaires à Agent Assist.

Répondre aux questions de l'agent

Voici un exemple de requête JSON pour envoyer des commentaires sur les réponses des agents.

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

Suggérer de manière proactive une session de questions/réponses

Voici un exemple de requête JSON pour envoyer des commentaires sur les suggestions proactives.

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