Agents de data store

Les agents de data store sont un type particulier d'agent Dialogflow qui peut fournir des réponses d'agent générées par un LLM en fonction du contenu de votre site Web et des données importées.

Pour créer cet agent, vous devez fournir des magasins de données lors de sa création.

Un agent de data store dispose de gestionnaires d'état spéciaux appelés gestionnaires de magasins de données. À l'aide de ces gestionnaires de data store, votre agent de data store peut avoir des conversations sur le contenu avec vos utilisateurs finaux.

Limites

Les limites suivantes s'appliquent :

  • Cette fonctionnalité n'est actuellement compatible qu'avec certaines langues dans GA. Consultez la colonne du data store dans la documentation de référence sur les langues.
  • Seules les régions suivantes sont acceptées: global, multirégional us et eu multirégional.

Contrôle des accès

Si vous êtes le propriétaire du projet, vous disposez de toutes les autorisations nécessaires pour créer un agent de data store. Si vous n'êtes pas le propriétaire du projet, vous devez disposer des rôles suivants:

  • Administrateur Dialogflow
  • Administrateur Discovery Engine

Pour en savoir plus, consultez le guide du contrôle des accès Dialogflow.

Créer un agent de data store

Pour créer un agent de data store, procédez comme suit:

  1. Si ce n'est pas déjà fait, suivez les instructions de setup de Dialogflow.
  2. Dans la console Google Cloud, accédez à la page Search and Conversation.

    Recherche et conversation

  3. Sélectionnez votre projet dans la liste déroulante de la console.

  4. Si vous n'avez pas encore activé l'API, lisez et acceptez les conditions d'utilisation, puis cliquez sur Continuer et activer l'API.

  5. Cliquez sur Create a New App (Créer une application) ou New App (Nouvelle application).

  6. Sélectionnez Chat.

  7. Indiquez le nom de votre entreprise dans la section Configurations de l'agent.

  8. Développez la section des paramètres de fuseau horaire et de langue.

  9. Sélectionnez un fuseau horaire.

  10. Sélectionnez une langue par défaut.

  11. Indiquez un nom d'agent dans la section Nom de votre agent.

  12. Sélectionnez une région ou un emplacement multirégional dans la section Emplacement de votre agent.

  13. Cliquez sur Continuer.

  14. Connectez un data store à votre agent en effectuant l'une des opérations suivantes:

    • Sélectionnez un data store existant que vous avez créé précédemment.
    • Créez un data store :
      1. Cliquez sur Create New Data Store (Créer un data store).
      2. Choisissez une source de données.
      3. Fournissez des données et une configuration pour la source du data store que vous avez sélectionnée. L'emplacement de votre data store doit correspondre à l'emplacement de l'agent.
      4. Cliquez sur Créer pour créer le data store.
      5. Sélectionnez votre nouveau data store.
  15. Cliquez sur Créer.

  16. Votre agent est maintenant créé et vous êtes automatiquement redirigé vers la page Data stores disponibles, où vous pouvez ajouter d'autres data stores si nécessaire.

  17. Si vous avez créé un data store pour un site Web, vous devez valider votre domaine.

  18. Pour ouvrir votre agent avec Dialogflow CX, cliquez sur Preview (Aperçu) dans le panneau de gauche. Dans la console Dialogflow CX, vous pouvez modifier ou ajouter des data store données, déployer votre agent et éventuellement ajouter des flux qui traiteront des scénarios non couverts par les datastores.

Tester l'agent

Vous pouvez utiliser le simulateur Dialogflow CX pour tester l'agent.

Améliorer les réponses génératives de l'agent

Si vous constatez que certaines réponses lors des tests ne répondent pas à vos attentes, essayez la procédure suivante.

Vous pouvez remplacer une réponse en ajoutant une entrée de FAQ pour une question spécifique.

D'autres personnalisations sont disponibles pour l'agent dans la console Dialogflow. Pour accéder à la console, cliquez sur le nom de votre agent dans la liste des agents disponibles dans la console. Ensuite, ouvrez la page Paramètres de l'agent de Dialogflow et accédez à l'onglet ML, puis au sous-onglet IA générative. Les personnalisations suivantes sont disponibles:

Fondement de la confiance

Pour chaque réponse générée à partir du contenu de vos data stores connectés, nous évaluons un niveau de confiance, qui évalue la confiance que toutes les informations contenues dans la réponse sont compatibles avec les informations stockées dans les data stores. Vous pouvez personnaliser les types de réponses à autoriser en sélectionnant le niveau de confiance le plus bas qui vous convient. Si la réponse obtenue est avec un niveau de confiance strictement inférieur à ce niveau, elle ne sera pas affichée.

Vous avez le choix entre cinq niveaux de confiance: très faible, faible, moyen, élevé et très élevé.

Invite du data store

Vous avez la possibilité d'ajouter des informations supplémentaires sur l'agent afin d'améliorer la qualité des réponses générées à partir du contenu du data store et de les faire ressembler davantage à votre marque:

  • Nom de l'agent : nom que l'agent doit appeler lui-même. Si vous ne la configurez pas, la valeur par défaut Assistant IA sera utilisée.
  • Identité de l'agent : persona de l'agent. Si vous ne la configurez pas, la valeur par défaut Assistant IA sera utilisée.
  • Le champ Nom de l'entreprise doit correspondre au nom de votre entreprise. Celui-ci doit déjà avoir été défini dans le cadre du flux de création de l'agent, mais peut être ajusté si nécessaire. Nous vous recommandons de définir ce champ correctement (et surtout de ne pas le laisser vide), afin de limiter la qualité des réponses générées.
  • Company description (Description de l'entreprise) est une brève description de ce que l'entreprise fait ou propose.
  • Champ d'application de l'agent : endroit où l'agent est destiné à être utilisé. Si cette règle n'est pas configurée, la valeur par défaut sur le site Web de l'entreprise sera utilisée.

Une fois que vous avez rempli cette section partiellement ou entièrement, vous pouvez inspecter du côté droit, sous Votre invite, le court paragraphe dérivé de ces paramètres et qui sera utilisé pour générer les réponses.

Expressions interdites

Vous avez la possibilité de définir des expressions spécifiques qui ne doivent pas être autorisées. Si la réponse générée (ou, d'ailleurs, le contenu de la requête utilisée pour générer la réponse, par exemple le dernier énoncé utilisateur) contient l'une des expressions interdites, cette réponse ne sera pas affichée.

Invite de sélection et de synthèse du modèle de data store

Lorsqu'une requête utilisateur est traitée, l'agent recherche les datastores afin de trouver les sources appropriées. L'agent envoie ensuite la requête utilisateur et les sources trouvées au LLM, qui effectue une synthèse.

Vous pouvez sélectionner le modèle à utiliser pour la synthèse et éventuellement fournir votre propre requête.

Sélectionner un modèle génératif

Vous pouvez sélectionner le modèle génératif utilisé par un agent de data store pour la requête de générative de résumé. Si aucune option n'est sélectionnée, text-bison@001 est utilisé. Le tableau suivant contient les options disponibles:

Identifiant du modèle Langues acceptées
text-bison@001 Disponible dans toutes les langues acceptées.
text-bison@002 Disponible dans toutes les langues acceptées.
text-bison@001 ajusté (conversationnel) Seul l'anglais est accepté pour le moment.
text-bison@001 ajusté (informatif) Seul l'anglais est accepté pour le moment.
gémeaux-pro Disponible dans toutes les langues acceptées.

Personnaliser l'invite de synthèse

Vous pouvez fournir votre propre requête pour l'appel LLM de synthèse. La requête est un modèle de texte pouvant contenir des espaces réservés prédéfinis. Les espaces réservés seront remplacés par les valeurs appropriées au moment de l'exécution, et le texte final sera envoyé au LLM.

Les espaces réservés sont les suivants:

  • $original-query: texte de la requête de l'utilisateur
  • $rewritten-query: Dialogflow utilise un module de réécriture pour réécrire la requête utilisateur d'origine dans un format plus précis.
  • $sources: Dialogflow utilise Enterprise Search pour rechercher des sources en fonction de la requête de l'utilisateur. Les sources trouvées sont affichées dans un format spécifique:

    [1] title of first source
    content of first source
    [2] title of second source
    content of first source
    
  • $conversation: l'historique de la conversation est affiché au format suivant:

    Human: user's first query
    AI: answer to user's first query
    Human: user's second query
    AI: answer to user's second query
    

Une invite personnalisée doit indiquer au LLM de renvoyer "NOT_ENOUGH_INFORMATION" lorsqu'il ne peut pas fournir de réponse. L'agent transformera cette constante en un message convivial pour l'utilisateur.

Déployer l'agent

Il existe plusieurs façons de déployer l'agent:

  • L'option la plus simple consiste à utiliser une intégration de Dialogflow CX, qui fournit une interface utilisateur à votre agent. Chaque intégration fournit des instructions de déploiement.

  • L'intégration de Dialogflow Messenger est une option particulièrement intéressante pour les agents de data store. Il dispose d'options intégrées pour les fonctionnalités génératives.

  • Vous pouvez créer votre propre interface utilisateur et utiliser l'API Dialogflow CX pour les interactions. L'implémentation de votre interface utilisateur contrôle le déploiement.

Suivre les performances de votre agent

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

Intents spéciaux

En plus de traiter les questions concernant le contenu que vous fournissez, l'agent de data store peut répondre aux types de questions suivants:

  • Identification de l'agent : permet de répondre aux questions telles que "Qui êtes-vous ?" ou "Êtes-vous un humain ?".
  • Escalader à un agent humain : gère les questions telles que "Je veux parler à un humain" ou "Je veux parler à une personne réelle".

Pour ce faire, les intents et les routes d'intent générés automatiquement sont utilisés.

Agents hybrides

Si vous disposez déjà d'un agent Dialogflow CX, vous pouvez le mettre à niveau vers un agent hybride, qui combine la puissance de commandes de conversation précises (flux, paramètres, intents, conditions, transitions, etc.) aux fonctionnalités génératives du gestionnaire de data store.

Lors de cette mise à niveau, vous pouvez supprimer ou désactiver temporairement les routes d'intent (lorsque vous testez les gestionnaires de data store) pour certains scénarios de conversation à partir de votre agent, car les gestionnaires de data store peuvent gérer ces scénarios plus simplement.

Les scénarios suivants sont recommandés pour les gestionnaires de data store:

  • Questions auxquelles vous pouvez répondre via les documents ou le site Web de votre organisation.
  • Questions fréquentes qui ne nécessitent pas de recherche dans une base de données.

Les scénarios suivants ne sont pas recommandés pour les gestionnaires de data store:

  • Contenu qui n'offre pas les réponses aux questions souhaitées
  • Questions qui nécessitent des recherches dans une base de données ou des requêtes de serveur.
  • Scénarios nécessitant le masquage des données
  • Scénarios nécessitant des réponses déterministes d'agent

Dialogflow évalue les entrées de l'utilisateur final dans l'ordre de préférence suivant:

  1. Correspondance d'intent pour les routes incluses dans le champ d'application
  2. Questions fréquentes sur le contenu du data store
  3. Contenu de data store non structuré

Ordre d'évaluation des entrées

Dialogflow évalue les entrées de l'utilisateur final dans l'ordre suivant pour les agents hybrides:

  1. Saisie d'un paramètre lors du remplissage du formulaire.
  2. Correspondances d'intent pour les routes incluses dans le champ d'application.
  3. Gestionnaire de data store avec contenu de data store de type FAQ.
  4. Gestionnaire de data store avec contenu de data store non structuré.

Ajouter ou modifier des gestionnaires de data store pour un agent existant

Les gestionnaires de data store sont un type particulier de gestionnaire d'état Dialogflow. Cela signifie que vous pouvez les appliquer à des flux ou des pages, et qu'ils sont évalués à l'aide des mêmes règles de champ d'application.

Pour ajouter ou modifier un gestionnaire de data store:

  1. Accéder à la console Dialogflow CX
  2. Sélectionnez votre projet Google Cloud.
  3. Sélectionnez l'agent.
  4. Sélectionnez le flux associé au gestionnaire de data store. Il s'agit généralement du flux de début par défaut.
  5. Sélectionnez la page associée au gestionnaire de data store. Il s'agit généralement de la page d'accueil.
  6. Cliquez sur Ajouter un gestionnaire d'état dans les données de la page, puis sélectionnez data store.
  7. Si vous devez créer un data store, vous serez redirigé vers l'interface utilisateur de Vertex AI Search and Conversation. Consultez les informations sur le datastore pour vous aider à faire des sélections.
  8. Si vous possédez déjà un data store, cliquez sur Modifier le data store.
  9. Apportez les modifications nécessaires, puis enregistrez vos modifications lorsque vous avez terminé. Vous trouverez ci-dessous des informations sur les paramètres propres au data store.

Réponses de l'agent

Dans la section Réponses de l'agent, vous pouvez fournir des réponses personnalisées qui font référence aux réponses génératives. Utilisez $request.knowledge.questions[0] dans la section Agent dit pour fournir la réponse générative.

Options de réponse du data store

Vous pouvez mettre à jour le champ Link maximum (Nombre maximal de liens) pour indiquer le nombre maximal de liens supplémentaires devant être fournis par les réponses génératives.

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 d'informations de carte de crédit, ils peuvent souhaiter clarifier ce qu'est un CVV. 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 data stores qui répondent à la question, appliquer ce gestionnaire à la page de début du flux qui gère la collecte d'informations de carte de crédit et définir une cible de transition pour que ce gestionnaire retourne à 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 de résoudre le problème en procédant comme suit:

  • Supprimez ou modifiez les phrases d'entraînement vagues, afin qu'elles répondent précisément à l'intention souhaitée et n'entrent pas en conflit avec le contenu de votre data store.
  • Utilisez des exemples négatifs pour éviter la mise en correspondance des intents.

Filtrage des data stores

Dans certains cas, vous souhaiterez peut-être que seuls certains datastores soient disponibles pour les requêtes, en fonction des valeurs des paramètres de session. Par exemple, vous pouvez disposer de data stores uniques pour les catégories de produits. Pour filtrer les catégories de produits par data store:

  • Définissez les paramètres de session sur des catégories de produits.
  • Créez des routes de condition qui vérifient les valeurs des paramètres de session et passent à une page spécifique contenant le gestionnaire de data store souhaité.
  • Le gestionnaire de data store doit revenir à la page appelante pour que la conversation puisse se poursuivre.

Personnalisation

Pour améliorer la pertinence des réponses génératives pour les utilisateurs finaux, vous pouvez fournir à Dialogflow des informations sur les utilisateurs.

Ces informations sont fournies au format JSON. Comme aucun schéma n'est attendu, vous pouvez définir les propriétés de l'objet. Ce fichier JSON est envoyé au grand modèle de langage tel quel. Ainsi, les noms et valeurs de propriété descriptifs offrent les meilleurs résultats.

Exemple :

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

Personnaliser avec l'API Dialogflow

Vous pouvez fournir ces données à Dialogflow lors de l'envoi de 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.

Indiquez 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 la session Ressource de la session
RPC Interface de la session Interface de la 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

Personnaliser avec Dialogflow Messenger

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

Configuration de la recherche

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

Les commandes d'optimisation vous permettent de modifier le classement des résultats de recherche en appliquant une valeur d'optimisation (supérieure à zéro pour un classement supérieur et inférieure à zéro pour un classement inférieur) à des documents spécifiques.

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

Ces informations sont fournies au format JSON aux requêtes Dialogflow. Le format du fichier JSON dépend du type de commande de recherche.

Contrôle du boosting

La configuration de recherche suivante décrit une commande d'optimisation:

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

Commande de filtrage

La configuration de recherche suivante décrit une commande de filtrage:

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

Définir la configuration de la recherche avec l'API Dialogflow

Vous pouvez fournir ces données à Dialogflow lors de l'envoi de 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.

Indiquez 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 la session Ressource de la session
RPC Interface de la session Interface de la 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

Définir la configuration de la recherche avec Dialogflow Messenger

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

Pour appliquer une commande de recherche, l'extrait suivant doit être ajouté au code DF Messenger lors de son intégration à 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.