Modèle personnalisé de résumé V1 pour le chat

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

  1. 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.