Le modèle personnalisé de rédaction de résumés Agent Assist vous permet de fournir des résumés de conversation à vos agents après chaque conversation, en exploitant un modèle entraîné exclusivement sur des données spécifiques au client. Cette approche diffère de la personnalisation via un grand modèle de langage, comme indiqué dans la section Synthèse avec des sections personnalisées. Les résumés aident les agents à créer leurs notes de conversation et à comprendre l'historique de communication des utilisateurs finaux. Par exemple, un résultat récapitulatif sur une conversation peut ressembler à ceci:
Vous pouvez également importer un modèle de résumé personnalisé de l'assistance de l'agent à utiliser avec les conversations CCAI Insights.
Avant de commencer
- Assurez-vous que vos données sont au format requis. Vous pouvez également utiliser un exemple d'ensemble de données ou tester la fonctionnalité à l'aide du modèle de résumé de démonstration, sans ensemble de données requis.
Entraîner et déployer un modèle de résumé à l'aide de l'API
Créer un ensemble de données de conversation et importer des transcriptions
Appelez la méthode create
sur la ressource ConversationDataset
pour créer un ensemble de données de conversation. Incluez le chemin d'accès au bucket Cloud Storage contenant vos données de transcription pour les importer dans le nouvel ensemble de données de conversation.
Exemple de requête :
{ "displayName": "CONVERSATION_DATASET_NAME", "inputConfig": { "gcsSource": { "uris": ["gs://PATH_NAME/*"] } } }
La réponse contient un ID d'ensemble de données de conversation. Exemple de réponse :
{ "done": true, "response": { "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.ConversationDataset", "name": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID", "displayName": "CONVERSATION_DATASET_NAME", "createTime": "2022-06-16T23:13:22.627380457Z" } }
Créer un modèle de conversation
Appelez la méthode create
sur la ressource ConversationModel
pour créer un modèle de conversation de synthèse. Chaque projet dispose de 120 nœuds-heures par mois pour l'entraînement et peut exécuter une tâche d'entraînement en même temps.
Champs obligatoires :
datasets
: Fournissez un seul ensemble de données contenant les données de transcription que vous avez utilisées pour entraîner le modèle.summarizationModelMetadata
: définissez-le sur un objet vide ou renseignez le champ pour remplacer la valeur par défaut.
Exemple de requête :
{ "displayName": "CONVERSATION_DATASET_NAME", "datasets": [{ "dataset": "projects/PROJECT_ID/locations/global/conversationDatasets/CONVERSATION_DATASET_ID" }], "summarizationModelMetadata": { "trainingModelType": "SUMMARIZATION_MODEL" }, "languageCode": "en-US" }
La réponse est une opération de longue durée que vous pouvez interroger à l'aide de GetOperation API
pour vérifier l'avancement. L'entraînement peut prendre plusieurs heures. La réponse renvoie l'état et l'ID du modèle.
Exemple de réponse :
{ "name": "projects/PROJECT_ID/locations/global/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.dialogflow.v2beta1.CreateConversationModelOperationMetadata", "conversationModel": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID", "state": "TRAINING", "createTime": "2022-06-16T23:27:50Z" } }
Évaluer un modèle de conversation
Une fois l'entraînement du modèle terminé, appelez l'API ListConversationModelEvaluations
pour vérifier la qualité du modèle.
Dans ListConversationModelEvaluationsRequest
, spécifiez le nom du modèle à vérifier.
{ "parent": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a" }
ListConversationModelEvaluationsResponse
inclut un score Rouge-L pour évaluer le résumé automatique.
{ "conversationModelEvaluations": [{ "name": "projects/cloud-contact-center-quality/locations/global/conversationModels/d3f2ca9f3e2c571a/evaluations/c10ac25411a23fe1", "displayName": "Training Auto Generated Evaluation", "createTime": "2022-06-04T03:38:35.151096Z", "evaluationConfig": { }, "summarizationMetrics": { "rougel": 0.4474459 } }] }
Déployer un modèle de conversation
Une fois l'entraînement du modèle terminé, vous pouvez le déployer à l'aide de l'API DeployConversationModel
.
Dans DeployConversationModelRequest
, spécifiez le name
du modèle à déployer. La réponse est une opération de longue durée que vous pouvez interroger à l'aide de GetOperation API
pour vérifier l'avancement.
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 un ConversationProfile
avec un objet HumanAgentAssistantConfig
.
Créer un profil de conversation
Pour créer un profil de conversation, appelez la méthode create
sur la ressource ConversationProfile
.
Attribuez un nom au nouveau profil de conversation, à l'ID de projet Google Cloudet à l'ID du modèle. Dans CreateConversationProfileRequest
, spécifiez le modèle de conversation à utiliser et la fonctionnalité de suggestion à utiliser : CONVERSATION_SUMMARIZATION
.
Voici un exemple de fichier JSON:
{ "displayName": "CONVERSATION_PROFILE_NAME", "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [{ "suggestionFeature": { "type": "CONVERSATION_SUMMARIZATION" }, "conversationModelConfig": { "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID", } }] } }, "languageCode": "en-US" }
La réponse est un objet ConversationProfile
contenant le profil de conversation name
:
{ "name": "projects/PROJECT_ID/locations/global/conversationProfiles/CONVERSATION_PROFILE_ID", "displayName": "CONVERSATION_PROFILE_NAME", "automatedAgentConfig": { }, "humanAgentAssistantConfig": { "notificationConfig": { }, "humanAgentSuggestionConfig": { "featureConfigs": [{ "suggestionFeature": { "type": "CONVERSATION_SUMMARIZATION" }, "conversationModelConfig": { } }] }, "messageAnalysisConfig": { } }, "languageCode": "en-US", "createTime": "2022-06-06T21:06:46.841816Z", "updateTime": "2022-06-06T21:06:46.841816Z", "projectNumber": "344549229138" }
Gérer les conversations lors de l'exécution
Lorsqu'un dialogue commence entre un utilisateur final et un agent humain, vous créez une conversation. Les sections suivantes vous guident tout au long de ce processus.
Créer une conversation
Pour créer une conversation, appelez la méthode create
sur la ressource Conversation
.
La réponse contient votre nouvel ID de conversation.
Créer un participant d'utilisateur final
Pour créer un participant d'utilisateur final, appelez la méthode create
sur la ressource Participant
. Indiquez votre ID de conversation et END_USER
pour le champ role
.
Le segment de chemin d'accès indiqué après participants
contient le nouvel ID de participant de l'utilisateur final.
Créer un participant d'agent humain
Pour créer un participant d'agent humain, appelez la méthode create
sur la ressource Participant
. Indiquez votre ID de conversation et HUMAN_AGENT
pour le champ role
.
Le segment de chemin d'accès indiqué après participants
contient l'ID du nouveau participant de votre agent humain.
Analyser le message
Option 1: Pendant une conversation
Pour ajouter et analyser un message d'agent humain pour la conversation, appelez la méthode analyzeContent
sur la ressource Participant
. Indiquez l'ID de conversation et l'ID de participant de l'agent humain.
Pour ajouter et analyser un message d'utilisateur final pour la conversation, appelez la méthode analyzeContent
sur la ressource Participant
. Indiquez l'ID de la conversation et l'ID de participant de l'utilisateur final.
N'effectuez pas d'appels en double à la méthode analyzeContent
si elle a été appelée pour d'autres fonctionnalités Dialogflow.
Option 2: Après une conversation
Vous pouvez utiliser cette option si vous n'utilisez pas la méthode analyzeContent
pendant la conversation. À la place, vous pouvez utiliser la méthode batchCreate
sur la ressource messages
pour ingérer l'historique des messages de la conversation.
Obtenir une suggestion
Vous pouvez obtenir une suggestion à tout moment du dernier message de l'un des participants.
Option 1 : suggestConversationSummary
Appelez la méthode suggestConversationSummary
sur la ressource conversations.suggestions
. Indiquez l'ID de la conversation et le dernier ID de message de l'un des participants.
Option 2 : generateStatelessSummary
Appelez la méthode generateStatelessSummary
. Indiquez l'Messages
de la conversation et l'ID du dernier message de l'un des participants.
Voici un exemple de requête JSON pour generateStatelessSummary
:
{ "statelessConversation": { "messages": [{ "content": "Hello, how can I help you today?", "languageCode": "en-US", "participantRole": "HUMAN_AGENT" }, { "content": "I would like to cancel my plan.", "languageCode": "en-US", "participantRole": "END_USER" }, { "content": "Okay, I have canceled your plan. Is there anything else that I can do to help you?", "languageCode": "en-US", "participantRole": "HUMAN_AGENT" }, { "content": "No, thank you.", "languageCode": "en-US", "participantRole": "END_USER" }, { "content": "Okay, have a great day!", "languageCode": "en-US", "participantRole": "HUMAN_AGENT" }], "parent": "projects/PROJECT_ID/locations/global" }, "conversationProfile": { "humanAgentAssistantConfig": { "humanAgentSuggestionConfig": { "featureConfigs": [{ "suggestionFeature": { "type": "CONVERSATION_SUMMARIZATION" }, "conversationModelConfig": { "model": "projects/PROJECT_ID/locations/global/conversationModels/MODEL_ID" } }] } }, "languageCode": "en-US" } }
La réponse contient des suggestions Summarization
.
Terminer la conversation
Pour terminer la conversation, appelez la méthode complete
sur la ressource conversations
. Indiquez l'ID de la conversation.