Réponse suggérée

La fonctionnalité Réponse suggérée suit une conversation entre un agent humain et un utilisateur final, et met en avant des réponses suggérées à l'agent humain. Les réponses suggérées sont calculées par un modèle personnalisé qui a été entraîné sur vos propres données de conversation.

Ce document vous explique comment utiliser l'API pour mettre en œuvre la fonctionnalité Réponse suggérée et obtenir des suggestions de cette fonctionnalité. Si vous préférez, vous pouvez utiliser la console Agent Assist pour importer vos données, entraîner un modèle et tester vos résultats de réponse suggérée au moment de la conception. Pour afficher des suggestions de réponses lors de l'exécution, vous devez appeler directement l'API. Consultez le tutoriel Réponse suggérée pour en savoir plus sur l'entraînement d'un modèle et tester ses performances à l'aide de la console Agent Assist.

Agent Assist fournit également des données de conversation accessibles au public, ainsi qu'un modèle pré-entraîné et une liste d'autorisation. Vous pouvez utiliser ces ressources pour découvrir le fonctionnement des réponses suggérées ou tester votre intégration avant d'importer vos propres données. Pour en savoir plus, consultez la documentation sur le format des données de conversation.

Avant de commencer

Avant de commencer ce guide, procédez comme suit:

  1. Créez un ensemble de données de conversation en utilisant vos propres données de transcription.
  2. Entraînez un modèle de réponse suggérée à l'aide de vos ensembles de données de conversation.

Informations permettant d'identifier personnellement l'utilisateur et données des enfants

Lorsque vous envoyez des données à cette API, l'API tente de masquer toutes les informations permettant d'identifier personnellement l'utilisateur. Si vous devez vous assurer que le modèle n'inclut pas d'informations personnelles, vous devez nettoyer les données avant de les envoyer à l'API. Remplacez les mots masqués par des espaces réservés tels que "REDACTED_NUMBER" ou "REDACTED_NAME" au lieu de les supprimer.

De plus, si vos données contiennent des informations collectées sur des enfants, vous devez les supprimer avant de les envoyer à l'API.

Entraîner et déployer un modèle

Les modèles de réponse suggérée Agent Assist sont entraînés à l'aide d'ensembles de données de conversation. Un ensemble de données de conversation contient vos propres données de transcription importées. Cette section vous explique comment créer un ensemble de données de conversation, y importer vos données de conversation, puis entraîner et déployer un modèle. Vous pouvez également effectuer ces actions à l'aide de la console Agent Assist si vous préférez ne pas appeler directement l'API.

Créer un ensemble de données de conversation

Avant de pouvoir commencer à importer des transcriptions de conversations, vous devez d'abord créer un ensemble de données de conversation pour les y placer. Appelez la méthode create sur la ressource ConversationDataset pour créer un ensemble de données de conversation.

La réponse contient un ID d'ensemble de données de conversation.

Importer des transcriptions de conversations dans votre ensemble de données de conversation

Importez les données de vos conversations Chat dans votre ensemble de données de conversation afin qu'elles puissent être traitées par Agent Assist. Assurez-vous qu'une transcription de chaque conversation est au format JSON et stockée dans un bucket Cloud Storage. Un ensemble de données de conversation doit contenir au moins 30 000 conversations, sinon l'entraînement du modèle échouera. En règle générale, plus il y a de conversations, plus la qualité de votre modèle est élevée. Nous vous recommandons d'importer au moins trois mois de conversations pour couvrir un maximum de cas d'utilisation. Le nombre maximal de messages dans un ensemble de données de conversation est de 1 000 000.

Appelez la méthode importConversationData sur la ressource ConversationDataset pour importer vos conversations.

Champs obligatoires :

  • ID de l'ensemble de données de conversation que vous avez créé précédemment.
  • Le chemin inputConfig mène aux données de transcription de votre conversation dans un bucket Cloud Storage.

La réponse est une opération de longue durée que vous pouvez interroger pour vérifier l'avancement.

Créer un modèle de conversation

Appelez la méthode create sur la ressource ConversationModel pour créer un modèle de conversation. Cette action crée également la liste d'autorisation du modèle.

Champs obligatoires :

  • Dans datasets, fournissez un seul ensemble de données à l'aide de l'ID de l'ensemble de données de conversation que vous avez créé précédemment.
  • Définissez smartReplyModelMetadata sur un objet vide ou renseignez le champ pour remplacer la valeur par défaut.

La réponse est une opération de longue durée que vous pouvez interroger pour vérifier l'avancement. Une fois l'opération terminée, l'ID du modèle et l'ID de la liste d'autorisation seront inclus dans les métadonnées de l'opération.

  • ID du modèle: name
  • ID de la liste d'autorisations: smart_reply_model_metadata.associated_allowlist_info.document

Déployer le modèle de conversation

Appelez la méthode deploy sur la ressource ConversationModel pour déployer le modèle de conversation.

Champ obligatoire:

  • Utiliser conversationModels: saisissez l'ID du modèle de conversation que vous avez créé précédemment.

Gérer une liste d'autorisation

Une liste d'autorisation est associée à chaque modèle, qui est créée automatiquement lorsque vous créez un modèle de conversation. La liste d'autorisation contient toutes les réponses générées à partir de vos ensembles de données de conversation qui peuvent être présentées à un agent humain au moment de l'exécution. Cette section décrit la création et la gestion de listes d'autorisation. Vous pouvez également effectuer ces actions à l'aide de la console Agent Assist si vous préférez ne pas appeler directement l'API.

Exporter le contenu de la liste d'autorisation vers un fichier CSV

La création du modèle crée automatiquement une liste d'autorisation associée au nouveau modèle. La liste d'autorisation est une ressource Document associée à un ID unique. L'ID est renvoyé dans smart_reply_model_metadata.associated_allowlist_info.document lorsqu'un modèle est créé. Pour examiner et modifier les messages de la liste d'autorisation, vous devez l'exporter vers un bucket Cloud Storage.

Appelez la méthode export sur la ressource Document pour exporter le document vers un fichier CSV dans un bucket Cloud Storage. Le champ smart_messaging_partial_update est facultatif, mais il affecte la façon dont vous pourrez mettre à jour cette liste d'autorisation à l'avenir. Si cette valeur est définie sur true, le fichier CSV exporté inclut une colonne contenant un ID unique pour chaque message. Vous pouvez utiliser l'ID de message pour ne mettre à jour que les messages spécifiés au lieu de l'ensemble du document. Si smart_messaging_partial_update est défini sur false ou n'est pas défini, la colonne supplémentaire n'apparaît pas dans le fichier, et toute mise à jour de la liste d'autorisation nécessite une mise à jour de l'intégralité du document.

Champ obligatoire:

  • Le chemin gcsDestination mène à votre bucket Cloud Storage.

La réponse est une opération de longue durée que vous pouvez interroger pour vérifier l'avancement. Ensuite, le fichier CSV que vous avez fourni dans la requête est renseigné avec des réponses candidates.

Examiner la liste d'autorisation

La liste d'autorisation générée contient les réponses générées automatiquement par les réponses suggérées en fonction de vos données de conversation. Vous pouvez désormais examiner et modifier ces réponses si nécessaire. Téléchargez le fichier CSV à partir de votre bucket Cloud Storage, modifiez-le selon vos besoins, puis réimportez-le dans le bucket Cloud Storage. Seules les réponses figurant sur la liste d'autorisation peuvent être présentées aux agents humains.

Si vous modifiez des réponses, nous vous recommandons de ne le faire que pour corriger l'orthographe et la grammaire, et de ne pas modifier le sens du message. Plus le texte modifié s'éloigne de la signification du modèle, moins il est probable que le message soit mis en avant.

Vous pouvez également créer des messages si nécessaire. Comme pour les messages modifiés, les messages créés sont moins susceptibles d'être affichés pendant l'exécution.

Mettre à jour la liste d'autorisation

Une fois que vous avez terminé de mettre à jour le fichier CSV, vous pouvez l'utiliser pour mettre à jour la ressource Document. Vous pouvez choisir de mettre à jour l'intégralité de la liste d'autorisation ou uniquement les messages spécifiés. Pour ne mettre à jour que les messages spécifiés, vous devez avoir défini smart_messaging_partial_update sur true lorsque vous avez exporté la liste d'autorisation. Si vous l'avez déjà fait, utilisez la colonne générée automatiquement dans le fichier CSV exporté pour indiquer les messages à mettre à jour.

Appelez la méthode reload sur la ressource Document pour mettre à jour la liste d'autorisation. Pour ne mettre à jour que les messages spécifiés, définissez smart_messaging_partial_update sur true dans ReloadDocumentRequest. Pour mettre à jour l'intégralité de la liste d'autorisation, laissez smart_messaging_partial_update non défini ou définissez-le sur false.

Champs obligatoires :

  • gcsSource correspond au chemin d'accès Cloud Storage au fichier CSV.
  • Pour name, utilisez le nom de la ressource de liste d'autorisation généré lorsque vous avez créé un modèle de conversation.

Exemple de requête :

{
  "name":"projects/project-id/knowledgeBases/knowledge-base-id/documents/allowlist-id",
  "gcsSource" {
      "uri": "gs://revised_smart_reply_allowlist_path"
   }
}

Évaluer les performances d'un modèle entraîné

Vous pouvez tester les performances d'un modèle après l'avoir déployé et créé une liste d'autorisation pour celui-ci. Vous devez également fournir un ensemble de données de test. Les réponses générées par le modèle de réponse suggérée entraîné et sa liste d'autorisation associée seront comparées aux messages réels des agents dans l'ensemble de données de test. L'ensemble de données de test doit être constitué de données de conversation réelles, mais ne doit contenir aucune des données de l'ensemble de données de conversation que vous avez utilisé pour entraîner le modèle. Par exemple, si vous disposez d'un mois de trafic de conversation, vous pouvez utiliser trois semaines de données de conversation pour créer un ensemble de données de conversation et les données d'une semaine restante pour créer l'ensemble de données de test. Un ensemble de données de test doit contenir au moins 1 000 conversations, mais en règle générale, les métriques d'évaluation seront plus fiables si l'ensemble de données de test contient davantage de conversations. Le format de l'ensemble de données de test est identique à celui de l'ensemble de données de conversation.

Pour créer une évaluation de modèle, appelez la méthode CreateConversationModelEvaluation sur une ressource ConversationModel. Cette méthode renvoie une opération de longue durée. Vous pouvez interroger l'opération pour vérifier son état, qui renverra l'un des codes INITIALIZING, RUNNING, SUCCEEDED, CANCELLED ou FAILED.

Champs obligatoires :

  • InputDataset: ensemble de données de test qui sera utilisé pour tester les performances du modèle.
  • allowlist_document: liste d'autorisation associée au modèle de réponses suggérées à tester.

Une ressource ConversationModelEvaluation est renvoyée lorsque l'opération de longue durée est terminée. Deux métriques sont incluses:

  • allowlist_coverage: pourcentage des messages de l'agent dans l'ensemble de données de test couverts par la liste d'autorisation.
  • recall: pourcentage de messages d'agent dans l'ensemble de données de test qui figurent dans la liste d'autorisation et apparaissent dans les trois premières suggestions proposées par le modèle de réponse intelligente.

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. Vous pouvez également effectuer ces actions à l'aide de la console Agent Assist si vous préférez ne pas appeler directement l'API.

Créer un profil de conversation

Pour créer un profil de conversation, appelez la méthode create sur la ressource ConversationProfile. Indiquez l'ID de votre base de connaissances, l'ID du document, l'ID du projet et l'ID du modèle.

Voici un exemple de fichier JSON:
{
  "displayName":"smart_reply_assist",
  "humanAgentAssistantConfig":{
    "humanAgentSuggestionConfig":{
      "featureConfigs":[
        {
          "suggestionFeature": { "type":"SMART_REPLY" },
          "queryConfig": {
            "documentQuerySource":{
              "documents": ["projects/PROJECT_ID/knowledgeBases/KNOWLEDGE_BASE_ID/documents/DOCUMENT_ID"]
              },
                "maxResults": 3
              },
            }
          },
          "conversationModelConfig":{
            "model": "projects/PROJECT_ID/conversationModels/MODEL_ID"
          }
        }
      ]
    }
  }
}

Nous vous recommandons de définir la valeur SuggestionFeatureConfig.enable_inline_suggestion. Si cette valeur est définie sur "true", les appels ultérieurs à AnalyzeContent généreront des réponses contenant une liste de suggestions.

La réponse contient le nouvel ID de votre profil de conversation.

Consultez la section Réponse suggérée générative pour savoir comment configurer un profil de conversation, gérer les conversations au moment de l'exécution, tester vos résultats et envoyer des commentaires à Agent Assist.