Agents du 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 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 la création de l'agent.

L'agent de datastore dispose de gestionnaires d'état spéciaux appelés gestionnaires de data store. À l'aide de ces gestionnaires de data store, votre agent Data Store peut discuter du contenu avec vos utilisateurs finaux.

Limites

Les limites suivantes s'appliquent :

  • Cette fonctionnalité n'est actuellement disponible que dans certaines langues en disponibilité générale. Consultez la colonne du data store dans la documentation de référence concernant les langues.
  • Seules les régions suivantes sont acceptées: global, emplacement multirégional us et emplacement multirégional eu.

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 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:

  1. Dans la console Google Cloud, accédez à la page Search and Conversation.

    Recherche et conversation

  2. Lisez et acceptez les conditions d'utilisation, puis cliquez sur Continuer et activer l'API.

  3. Cliquez sur Nouvelle application, puis sélectionnez Chat.

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

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

  6. Sélectionnez un fuseau horaire.

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

  8. Indiquez un nom d'agent dans la section Nommer votre agent.

  9. L'emplacement global est automatiquement défini par défaut, mais vous pouvez également sélectionner us-central1 ou europe-west1.

  10. Cliquez sur Continuer.

  11. Associez un data store en procédant de l'une des façons suivantes:

    • Sélectionnez un data store existant.
    • Créez un data store:

      1. Choisissez une source de données:

        • Robot d'exploration de contenu Web public
        • BigQuery
        • Cloud Storage
        • API
      2. Fournissez les informations concernant le data store que vous avez sélectionné. L'emplacement de votre data store sera mis en correspondance avec l'emplacement de l'agent correspondant. Les données de votre application seront stockées au repos dans le data store. Cliquez ensuite sur Créer.

      3. Sélectionnez votre nouveau data store.

  12. Cliquez sur Créer.

  13. Votre agent est maintenant créé, et vous êtes automatiquement redirigé vers la page Data stores disponibles.

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

  15. Pour modifier l'association du data store avec l'agent, améliorer l'agent avec les flux Dialogflow CX ou déployer votre agent, cliquez sur Preview (Aperçu) dans le panneau de gauche. Votre agent s'ouvre dans la console Dialogflow.

Tester votre agent

Vous pouvez utiliser le simulateur Dialogflow CX pour tester votre 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, procédez comme suit.

Vous pouvez remplacer une réponse en ajoutant une entrée de type 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. 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:

Établir la confiance

Pour chaque réponse générée à partir du contenu de vos datastores connectés, nous évaluons un niveau de confiance, qui évalue le niveau de confiance selon lequel 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 une réponse est renvoyée avec un niveau de confiance strictement inférieur à ce niveau, elle ne s'affiche pas.

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

Invite du data store

Vous pouvez 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:

  • Agent name (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. Cette option devrait déjà avoir été définie dans le cadre du flux de création de l'agent, mais peut être ajustée 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.
  • Description de l'entreprise : 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 partiellement ou entièrement cette section, vous pouvez inspecter à droite le paragraphe court dérivé de ces paramètres qui sera utilisé pour générer les réponses, sous Votre invite.

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 l'invite utilisée pour générer la réponse, par exemple le dernier énoncé de l'utilisateur) contient l'une des expressions interdites, cette réponse ne s'affiche pas.

Déployer l'agent

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

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

  • L'intégration de Dialogflow Messenger est particulièrement adaptée aux agents de data store. Il intègre des options de fonctionnalités génératives.

  • Vous pouvez créer votre propre interface utilisateur et utiliser l'API Dialogflow CX pour les interactions. La mise en œuvre 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 à des questions telles que "Qui êtes-vous ?" ou "Êtes-vous un humain ?".
  • Escalader à un agent humain : gère des 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.) avec les fonctionnalités génératives du gestionnaire de data store.

Dans le cadre de cette mise à niveau, vous pouvez supprimer ou désactiver temporairement des 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 les documents ou le site Web de votre organisation permettent de répondre.
  • Questions fréquentes qui ne nécessitent pas de recherches dans la base de données.

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

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

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

  1. Correspondance d'intent pour les routes comprises 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 du data store de 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émarrage 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 data store pour vous aider à effectuer des sélections.
  8. Si vous disposez déjà d'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 à des 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 Nombre maximal de liens pour indiquer le nombre maximal de liens supplémentaires qui doivent être fournis par les réponses génératives.

Gérer les digressions des conversations

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 être utile de 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 datastores qui répondent à la question, l'appliquer à la page de démarrage du flux qui gère la collecte des informations de carte de crédit, et 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 de résoudre ce 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 du data store

Dans certains cas, vous pouvez choisir de n'utiliser que certains datastores pour les requêtes, en fonction des valeurs des paramètres de session. Par exemple, vous pouvez disposer de data stores uniques pour des 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 d'appel 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. Aucun schéma n'est 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. Ainsi, les valeurs et les noms 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 Dialogflow

Vous pouvez fournir ces données à Dialogflow 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.

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

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

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

Les commandes de boosting vous permettent de modifier le classement des résultats de recherche en appliquant une valeur de boost (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.

Commande d'amplification

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

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