La synthèse avec des sections personnalisées utilise un LLM pour résumer les conversations du service client. Le modèle prend en compte les conversations et les sections personnalisées, qui sont des parties des requêtes textuelles définissant la tâche que le modèle effectue, pour ensuite générer les résumés.
Régions disponibles
ID de la région | Synthèse avec des sections personnalisées v4.0 | Synthèse avec des sections personnalisées v3.1/3.0 | Résumés avec des sections personnalisées v2.1 | Synthèse avec des sections personnalisées v2.0/1.0 |
---|---|---|---|---|
us-central1 |
✓ | ✓ | ✓ | ✓ |
us-east1 |
✓ | ✓ | ✓ | ✓ |
us-west1 |
✓ | ✓ | ✓ | ✓ |
us |
✓ | ✓ | ✓ | |
northamerica-northeast1 |
✓ | ✓ | ✓ | |
europe-west1 |
✓ | ✓ | ✓ | |
europe-west2 |
✓ | ✓ | ✓ | |
europe-west3 |
✓ | ✓ | ✓ | |
asia-southeast1 |
✓ | ✓ | ✓ | |
asia-northeast1 |
✓ | ✓ | ✓ | |
asia-south1 |
✓ | ✓ | ||
australia-southeast1 |
✓ | ✓ | ✓ | |
global |
✓ | ✓ | ✓ | ✓ |
Vous pouvez également écrire vos propres définitions de tâches de synthèse dans des sections personnalisées.
Sections prédéfinies
Cette fonctionnalité propose six sections prédéfinies parmi lesquelles vous pouvez choisir :
Situation : il s'agit de la situation pour laquelle le client a besoin d'aide ou a des questions. Une option permettant de personnaliser un résumé concis est fournie et recommandée.
Action : ce que l'agent fait pour aider le client. Une option permettant de personnaliser un résumé concis est fournie et recommandée.
Résolution : quatre options sont disponibles.
- Y : Oui. Tous les problèmes et les questions des clients sont résolus.
- P : Partiel. Seuls certains des problèmes et questions des clients sont résolus.
- N : Non. Aucun des problèmes et des questions des clients n'a été résolu.
- N/A : le client n'a soulevé aucun problème ni aucune question spécifique dans la conversation.
Satisfaction client : les options sont "Insatisfait" ou "Pas insatisfait".
- D : Le client est insatisfait ou a des sentiments négatifs à la fin de la conversation.
- N : Le client est neutre ou a un sentiment positif à la fin de la conversation.
Motif de la résiliation : motif de la résiliation si le client en fait la demande. Sinon, N/A.
Entités : paires clé/valeur d'entités importantes extraites de la conversation.
Créer un générateur de synthèse
Console
Pour créer un générateur de résumés à l'aide de la console Agent Assist, procédez comme suit :
Dans la console, accédez à la page Summarization (Synthèse), puis sélectionnez Generator (Générateur).
Saisissez le nom du générateur.
Sélectionnez la version du générateur.
Sélectionnez la langue de sortie.
Sélectionnez les sections sous Sections prédéfinies.
Ajoutez des sections sous Sections personnalisées : définissez de nouvelles tâches de synthèse selon vos besoins, en ajoutant éventuellement des exemples few-shot pour améliorer les résultats.
Cliquez sur Enregistrer.
REST
Pour créer un générateur de résumés à l'aide de l'API, procédez comme suit :
Appelez la méthode
CreateGenerator
à partir de la ressource Generator.Saisissez le nom du générateur dans le champ
description
.Saisissez le code de la langue de sortie du générateur dans le champ
output_language_code
.Saisissez l'événement déclencheur
MANUAL_CALL
.Sélectionnez des sections prédéfinies et ajoutez des sections personnalisées avec des exemples few-shot dans
SummarizationContext
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Cloud
- LOCATION_ID : ID de votre emplacement
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/generators
Corps JSON de la requête :
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "description": "test", "triggerEvent": "MANUAL_CALL", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
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/generators/GENERATOR_ID", "description": "test", "inferenceParameter": { "maxOutputTokens": 1024, "temperature": 0.0, "topK": 40, "topP": 0.8 }, "triggerEvent": "MANUAL_CALL", "createTime": "2024-05-11T00:28:14.790937126Z", "updateTime": "2024-05-11T01:59:15.751724150Z", "summarizationContext": { "summarizationSections": [{ "type": "SITUATION" }, { "type": "ENTITIES" }, { "key": "custom_section", "definition": "Describe what the customer needs help with or has questions about. If there is an order number mentioned in the conversation, INCLUDE the order number.", "type": "CUSTOMER_DEFINED" }], "version": "2.1", "outputLanguageCode": "en-US" } }
Tester un générateur de résumés
Dans la console, vous pouvez tester le générateur dans la section Tester le générateur, comme illustré dans l'image suivante.
Pour tester un générateur dans la console, procédez comme suit :
Console
Transcription de la conversation. Vous pouvez saisir manuellement des énoncés ou importer une transcription au format JSON, comme illustré dans l'image suivante.
Cliquez sur Générer pour afficher le résumé.
Configurer un profil de conversation
Un profil de conversation configure un ensemble de paramètres qui contrôlent les suggestions adressées à un agent au cours d'une conversation. Les étapes suivantes permettent de créer ConversationProfile
avec un objet HumanAgentAssistantConfig
.
Les exemples suivants montrent comment créer un profil de conversation.
Console
Dans la console d'assistance de l'agent, accédez à la page Profils de conversation.
Saisissez le nom à afficher.
Sélectionnez Synthèse de conversation (générateur) comme type de suggestion.
Sélectionnez le nom du générateur dans la liste.
REST
Appelez la méthode
create
à partir de la ressource de profil de conversation.Attribuez un nom au nouveau profil de conversation.
Saisissez le code de langue.
Saisissez le nom du générateur dans human_agent_suggestion_config.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Cloud
- LOCATION_ID : ID de votre emplacement
- CONVERSATION_PROFILE_ID : ID de votre profil de conversation
- GENERATOR_ID : ID de votre générateur
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles
Corps JSON de la requête :
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "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 :
{ "name": "projects/PROJECT_ID/LOCATION_ID/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "conversation-profile-with-generator", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "generators": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID" } }, "languageCode": "en-US" }
Valider avec le simulateur
Vous pouvez vérifier le profil de conversation dans le simulateur Agent Assist.
Conversations lors de l'exécution
Au moment de l'exécution, lorsqu'un dialogue commence entre un utilisateur et un agent, vous créez une conversation, qui est une interaction entre un agent (humain ou virtuel) et un client ou un utilisateur du service d'assistance. Pour afficher les suggestions, créez un participant utilisateur et un participant agent, puis ajoutez-les à la conversation.
Créer une conversation
Pour créer une conversation, appelez la méthode create
sur la ressource Conversation
.
REST
Avant d'utiliser les données de requête ci-dessous, 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.
Créer un utilisateur participant
Pour créer un participant utilisateur, appelez la méthode create
sur la ressource Participant
. Indiquez votre ID de conversation et END_USER
pour le champ role
.
REST
Avant d'utiliser les données de requête ci-dessous, 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.
Créer un participant agent
Appelez la méthode create
sur la ressource Participant
. Indiquez votre ID de conversation et HUMAN_AGENT
ou AUTOMATED_AGENT
pour le champ role
.
REST
Avant d'utiliser les données de requête ci-dessous, 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 après participants
contient le nouvel ID de participant de votre agent.
Analyser le message
Il existe deux façons d'analyser les messages :
Pendant une conversation : Pour ajouter et analyser un message d'agent pour la conversation, appelez la méthode
analyzeContent
sur la ressourceParticipant
. Indiquez l'ID de conversation et l'ID de participant de l'agent. Pour ajouter et analyser un message d'utilisateur pour la conversation, appelez la méthodeanalyzeContent
sur la ressourceParticipant
. Indiquez l'ID de conversation et l'ID de participant de l'utilisateur. N'effectuez pas d'appels en double à la méthodeanalyzeContent
si elle a été appelée pour d'autres fonctionnalités Dialogflow.Après une conversation : Vous pouvez utiliser cette option si vous n'utilisez pas la méthode
analyzeContent
pendant la conversation. Vous pouvez utiliser la méthodebatchCreate
sur la ressourcemessages
pour ingérer l'historique des messages de la conversation.
Générer un résumé
Vous pouvez obtenir une suggestion à tout moment pour le dernier message de l'un ou l'autre participant.
Appelez la méthode
suggestConversationSummary
sur la ressourceconversations.suggestions
. Indiquez l'ID de la conversation et l'ID du dernier message de l'un des participants.Appelez la méthode
generateStatelessSuggestion
. Indiquez leConversationContext
, le nom du générateur et l'événement de déclenchement, qui doit êtreMANUAL_CALL
.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Cloud
- LOCATION_ID : ID de votre emplacement
- GENERATOR_ID : ID de votre générateur
Méthode HTTP et URL :
POST https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/statelessSuggestion:generate
Corps JSON de la requête :
{ "parent": "projects/PROJECT_ID/locations/LOCATION_ID", "generatorName": "projects/PROJECT_ID/locations/LOCATION_ID/generators/GENERATOR_ID", "conversationContext" { "messageEntries": [{ "role": "HUMAN_AGENT", "text": "Hi, this is ABC messaging, how can I help you today?", "languageCode": "en-US" }, { "role": "END_USER", "text": "I want to return my order, it is broken", "languageCode": "en-US" }] }, "triggerEvents": [ "MANUAL_CALL" ] }
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "generatorSuggestion": { "summarySuggestion": { "summarySections": [ { "section": "situation", "summary": "customer wants to return an order." }, { "section": "resolution", "summary": "N" } ] } } }
La réponse contient le résumé.
Terminer la conversation
Pour terminer la conversation, appelez la méthode complete
sur la ressource conversations
. Indiquez l'ID de la conversation.
REST
Avant d'utiliser les données de requête ci-dessous, 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" }
Versions précédentes
- Modèle de référence Summarization V2 pour les données de chat et vocales
- Modèle de référence de synthèse V1 pour le chat et la voix
- Modèle personnalisé de résumé V1 pour Chat