La fonctionnalité Vertex AI Conversation crée un agent Dialogflow spécial, appelé agent Data Store. Avec cette fonctionnalité, vous fournissez un lien ou des documents vers un site Web (magasins de données), et Google analyse votre contenu et crée un agent virtuel basé sur de grands modèles de langage. Pour ce faire, il faut créer des gestionnaires d'état spéciaux appelés gestionnaires de datastore. À l'aide de ces gestionnaires de data store, votre agent Data Store peut discuter du contenu avec vos utilisateurs finaux.
Vous pouvez spécifier votre nom de domaine et/ou importer un nombre illimité de documents, et Google les indexera. Votre agent peut accéder à ces informations en temps réel. Cela permet d'unifier la puissance et la précision des algorithmes de recherche Google qui s'exécutent sur vos données publiques ou privées grâce aux fonctionnalités de conversation naturelle de Dialogflow.
Pour savoir comment créer un agent de data store, consultez l'introduction à Vertex AI Conversation.
À propos des 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
Ordre d'évaluation des entrées
Dialogflow évalue les entrées de l'utilisateur final dans l'ordre suivant pour les agents hybrides:
- Saisie d'un paramètre lors du remplissage du formulaire.
- Correspondances d'intent pour les routes incluses dans le champ d'application.
- Gestionnaire de data store avec contenu du data store de FAQ.
- 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:
- Accéder à la console Dialogflow CX
- Sélectionnez votre projet Google Cloud.
- Sélectionnez l'agent.
- Sélectionnez le flux associé au gestionnaire de data store. Il s'agit généralement du flux de démarrage par défaut.
- Sélectionnez la page associée au gestionnaire de data store. Il s'agit généralement de la page d'accueil.
- Cliquez sur Ajouter un gestionnaire d'état dans les données de la page, puis sélectionnez data store.
- 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.
- Si vous disposez déjà d'un data store, cliquez sur Modifier le data store.
- 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.
Atelier de programmation
Consultez également l'atelier de programmation sur l'agent Data Store et l'application de chat générative.