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