Amélioration des performances des magasins de données

Ce guide fournit des recommandations pour surveiller et améliorer les performances des gestionnaires de data store.

Suivre les performances de vos agents

Vous pouvez surveiller l'historique des conversations de vos agents et utiliser l'outil d'analyse pour obtenir des statistiques sur les agents.

Exécuter une évaluation en libre-service

Vous pouvez exécuter une évaluation en libre-service qui évaluera la qualité de votre agent de data store et vous recommandera des modifications.

Améliorer les réponses des agents

Si vous constatez que certaines réponses ne répondent pas à vos attentes lors des tests, procédez comme suit.

Optimisation des outils de data store utilisés par les Playbooks

Ce paramètre accélère la réponse RAG d'un data store et améliore la latence en ne réécrivant pas la requête de l'utilisateur ni en ne remplissant pas dynamiquement les paramètres de l'outil. Cela signifie que la requête utilisateur est transmise au magasin de données telle quelle, et qu'aucun filtre ni paramètre lié aux métadonnées utilisateur n'est renseigné.

Pour activer cette fonctionnalité dans la console Dialogflow CX, sélectionnez le playbook, puis cliquez sur l'onglet Paramètres. Vous pouvez configurer le playbook pour qu'il continue de traiter immédiatement les actions de suivi ou qu'il attende la prochaine entrée de l'utilisateur final.

Si cette option est activée, les instructions suivantes du playbook sont toujours respectées:

  • Moment où répondre à la requête de l'utilisateur à l'aide du ou des data store.
  • Quand ne pas répondre à la requête de l'utilisateur à l'aide du ou des data store et fournir plutôt une autre réponse.
  • Toute instruction à caractère défensif, par exemple "Ne répondez pas aux questions sur les concurrents".

Si cette option est activée, les instructions Playbook suivantes sont ignorées. N'activez pas ce paramètre si vous rencontrez l'une des exigences de requête suivantes:

  • Filtres de data store spécifiques à renseigner en suivant les instructions.
  • Instructions pour appliquer les métadonnées de personnalisation utilisateur transmises par les filtres.
  • Toute autre instruction pour réécrire la requête utilisateur avant d'interroger le magasin de données.

Gérer les digressions de conversation

Un utilisateur final peut poser des questions de clarification au cours d'une conversation. Par exemple, lors de la collecte des informations de carte de crédit, il peut vouloir clarifier ce qu'est un code CVC. Dans ce cas, votre agent doit répondre à la question et reprendre la collecte des informations de carte de crédit nécessaires. Pour ce faire, vous pouvez créer un gestionnaire de data store avec des datastores qui répondent à la question, appliquer ce gestionnaire à la page de démarrage du flux qui gère la collecte d'informations sur les cartes de crédit, puis définir une cible de transition pour que ce gestionnaire revienne à la "page actuelle".

Gérer les correspondances d'intent indésirables

Si votre agent met en correspondance des intents alors qu'il devrait utiliser un gestionnaire de data store, vous pouvez essayer les solutions suivantes pour corriger le problème:

  • Supprimez ou modifiez les expressions d'entraînement vagues afin que toutes vos expressions d'entraînement gèrent précisément l'intention souhaitée et ne soient pas en conflit avec le contenu de votre data store.
  • Utilisez des exemples négatifs pour éviter la mise en correspondance d'intent.

Filtrage des datastores

Dans certains cas, vous ne souhaitez peut-être que certains magasins de données soient disponibles pour les requêtes, en fonction des valeurs des paramètres de session. Par exemple, vous pouvez avoir des entrepôts de données uniques pour les catégories de produits. Pour filtrer les data store pour les catégories de produits:

  • Définissez les paramètres de session sur les catégories de produits.
  • Créez des routes conditionnelles qui vérifient les valeurs des paramètres de session et effectuent la transition vers une page spécifique qui contient le gestionnaire de data store souhaité.
  • Le gestionnaire du data store doit revenir à la page d'appel pour que la conversation puisse se poursuivre.

Personnalisation

Pour rendre les réponses génératives plus pertinentes pour les utilisateurs finaux, vous pouvez fournir aux agents conversationnels (Dialogflow CX) des informations sur les utilisateurs.

Ces informations sont fournies au format JSON. Il n'y a pas de schéma attendu. Vous êtes donc libre de définir les propriétés de l'objet. Ce fichier JSON est envoyé au grand modèle de langage tel quel. Par conséquent, les noms et valeurs de propriété descriptifs permettent d'obtenir les meilleurs résultats.

Exemple :

{
  "subscription plan": "Business Premium Plus",
  "devices owned": [
    {"model": "Google Pixel 7"},
    {"model": "Google Pixel Tablet"}
  ]
}

Personnaliser avec l'API

Vous pouvez fournir ces données aux agents de conversation (Dialogflow CX) lorsque vous envoyez des requêtes de détection d'intent. Ces informations doivent être fournies dans chaque requête de détection d'intent, car elles ne sont pas conservées dans la session.

Fournissez ces informations dans le champ queryParams.endUserMetadata de la méthode Sessions.detectIntent.

Sélectionnez un protocole et une version pour la référence de session :

Protocole V3 V3beta1
REST Ressource de session Ressource de session
RPC Interface de session Interface de session
C++ SessionsClient Non disponible
C# SessionsClient Non disponible
Go SessionsClient Non disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Non disponible Non disponible
Python SessionsClient SessionsClient
Ruby Non disponible Non disponible

Personnalisation avec Dialogflow CX Messenger

Vous pouvez fournir ces données à l'intégration de Messenger dans Dialogflow CX. Consultez la méthode setContext.

Configuration de la recherche

Pour mieux contrôler le comportement de l'agent et améliorer la qualité des réponses, les configurations de recherche de boost et de filtrage sont exposées pour vous permettre de booster, d'enfouir et de filtrer des documents.

Les commandes de boost vous permettent de modifier le classement des résultats de recherche en appliquant une valeur de boost (supérieure à zéro pour un classement plus élevé, inférieure à zéro pour un classement plus faible) à des documents spécifiques.

Les commandes de filtre vous permettent de conserver ou de supprimer des résultats de recherche en fonction des critères de filtre spécifiés.

Ces informations sont fournies au format JSON aux requêtes des agents de conversation (Dialogflow CX). Le format du fichier JSON dépend du type de contrôle de recherche.

Contrôle du boost

La configuration de recherche suivante décrit un contrôle d'amélioration:

"searchConfig": {
  "boostSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "spec": [
        {
          "conditionBoostSpecs": {
            "condition": "CONDITION",
            "boost": "1.0"
          }
        }
      ]
    }
  ]
}

Commande de filtrage

La configuration de recherche suivante décrit un contrôle de filtre:

"searchConfig": {
  "filterSpecs": [
    {
      "dataStores": [ "DATASTORE_ID" ],
      "filter": "CONDITION"
    }
  ]
}

Configurer la recherche avec l'API

Vous pouvez fournir ces données aux agents de conversation (Dialogflow CX) lorsque vous envoyez des requêtes de détection d'intent. Ces informations doivent être fournies dans chaque requête de détection d'intent, car elles ne sont pas conservées dans la session.

Fournissez ces informations dans le champ queryParams.searchConfig de la méthode Sessions.detectIntent.

Sélectionnez un protocole et une version pour la référence de session :

Protocole V3 V3beta1
REST Ressource de session Ressource de session
RPC Interface de session Interface de session
C++ SessionsClient Non disponible
C# SessionsClient Non disponible
Go SessionsClient Non disponible
Java SessionsClient SessionsClient
Node.js SessionsClient SessionsClient
PHP Non disponible Non disponible
Python SessionsClient SessionsClient
Ruby Non disponible Non disponible

Configurer la recherche avec Dialogflow CX Messenger

Vous pouvez fournir ces données à l'intégration de Messenger dans Dialogflow CX.

Pour appliquer un contrôle de recherche, vous devez ajouter l'extrait de code suivant au code Messenger lorsque vous l'intégrez à un site Web:

<script>
  document.addEventListener('df-messenger-loaded', () => {
    const dfMessenger = document.querySelector('df-messenger');
    const searchConfig = { ... }
    dfMessenger.setQueryParameters(searchConfig);
  });
</script>

Consultez la méthode setQueryParameters.