Les outils de datastore peuvent fournir des réponses d'agent générées par IA basées sur le contenu de sites Web et sur des données importées. Votre agent peut trouver des réponses aux questions des utilisateurs finaux à partir de vos datastores lors de l'exécution.
Outils de datastore : console
Cette section explique comment ajouter un outil de data store à un agent et le configurer dans un fulfillment.
Créer un outil de data store
- Ouvrez la console Conversational Agents et sélectionnez un projet Google Cloud.
- Sélectionnez un agent dans le menu déroulant.
- Accédez à la barre de menu tout à gauche de la page, puis sélectionnez Outils.
- Cliquez sur + Créer. Saisissez un Nom unique pour l'outil, puis sélectionnez Data store dans le menu déroulant sous Type. Saisissez éventuellement une description de l'outil dans le champ Description.
- Cliquez sur Ajouter des datastores. La fenêtre qui s'affiche contient la liste de vos datastores existants, le cas échéant. Sélectionnez le data store à ajouter à l'outil.
- (Facultatif) Pour créer un data store dans la console Vertex AI Agent Builder, cliquez sur Créer un datastore pour être automatiquement redirigé.
- (Facultatif) Après avoir configuré le nouveau data store, cliquez sur Créer. Pour ajouter le nouveau data store à l'outil, revenez au menu Créer un outil de la console Dialogflow CX et actualisez la page. Le nouveau data store apparaît dans la liste des datastores disponibles.
- Cliquez sur Enregistrer en haut de la configuration Créer un outil pour créer le nouvel outil de data store.
Ajouter l'outil de data store à un fulfillment
- Accédez à la barre de menu tout à gauche et sélectionnez Flux.
- Sélectionnez un flux et une page, puis cliquez sur Route (Route) à utiliser avec votre data store.
- Accédez à Traitement > Outil de datastore, puis sélectionnez votre outil de data store dans le menu déroulant.
- Accédez à Fulfillment > Agent responses (Fulfillment > Réponses de l'agent), cliquez sur + Add dialogue response (+ Ajouter une réponse de dialogue), puis sur Data store tool response (Réponse de l'outil Data Store).
- Configurez le nombre de liens sources et de citations à afficher dans la réponse, et spécifiez le comportement de secours si la réponse du data store est vide. Saisissez une réponse de remplacement statique dans le champ Réponses de remplacement statiques. Vous pouvez également cocher la case Remplacement génératif pour utiliser l'IA afin de générer une réponse avant d'utiliser la réponse de remplacement statique. Pour personnaliser les réponses de secours, cliquez sur l'icône en forme de clé à molette en haut à gauche de la fenêtre du formulaire Réponse du data store pour ouvrir la fenêtre Réponse conditionnelle.
- En haut du menu Route, cliquez sur Enregistrer.
- Accédez au simulateur Dialogflow CX pour tester les résultats de l'agent.
Paramètre de session de remplacement de requête facultatif
Vous pouvez remplacer la requête transmise à cet outil de data store à l'aide d'un paramètre de session knowledge.overrides.query. Si ce paramètre n'est pas vide, l'outil l'utilisera à la place de la requête de l'utilisateur.
Outils de datastore : API
Par défaut, l'agent appelle la méthode dataStoreTool en votre nom.
Il existe trois types de data store :
PUBLIC_WEB: datastore contenant du contenu Web public.UNSTRUCTURED: un data store contenant des données privées non structurées.STRUCTURED: un data store contenant des données structurées (par exemple, une FAQ).
L'exemple suivant montre comment référencer un data store. Pour en savoir plus, consultez la documentation de référence sur dataStoreConnections.
"dataStoreConnections": [
{
"dataStoreType": "PUBLIC_WEB",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "UNSTRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
},
{
"dataStoreType": "STRUCTURED",
"dataStore": "projects/PROJECT_NUMBER/locations/LOCATION_ID/collections/default_collection/dataStores/DATASTORE_ID"
}
]
Les réponses de l'outil de datastore peuvent également contenir des extraits sur la source de contenu utilisée pour générer la réponse. L'agent peut fournir des instructions sur la façon de procéder avec la réponse du data store ou sur la façon de répondre lorsqu'aucune réponse n'est trouvée.
Vous pouvez remplacer une réponse en ajoutant une entrée de questions fréquentes pour une question spécifique.
Vous pouvez éventuellement fournir des exemples pour améliorer le comportement de l'agent. Les exemples doivent respecter le schéma. Pour en savoir plus, consultez la documentation de référence.
{
"toolUse": {
"tool": "projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/tools/TOOL_ID",
"action": "TOOL_DISPLAY_NAME",
"inputParameters": [
{
"name": "TOOL_DISPLAY_NAME input",
"value": {
"query": "QUERY"
}
}
],
"outputParameters": [
{
"name": "TOOL_DISPLAY_NAME output",
"value": {
"answer": "ANSWER",
"snippets": [
{
"title": "TITLE",
"text": "TEXT_FROM_DATASTORE",
"uri": "URI_OF_DATASTORE"
}
]
}
}
]
}
}
(Agents basés sur des playbooks uniquement) Exemples d'outils de datastore
Lorsque vous créez des exemples d'outils de data store, le paramètre d'entrée de l'outil requestBody fournit trois entrées facultatives avec la chaîne query requise : une chaîne filter, un objet structuré userMetadata et une chaîne fallback.
Le paramètre filter vous permet de filtrer les requêtes de recherche sur vos données structurées ou non structurées avec des métadonnées. Cette chaîne doit respecter la syntaxe d'expression de filtre acceptée pour les data stores. Plusieurs exemples détaillés indiquent au modèle de playbook comment remplir ce paramètre. Si une chaîne de filtre n'est pas valide, elle est ignorée lors de la requête de recherche.
L'exemple suivant montre une chaîne filter que vous pouvez utiliser pour affiner les résultats de recherche en fonction de la position :
"filter": "country: ANY(\"Canada\")"
Pour en savoir plus sur les exemples de playbooks, consultez la page d'exemples.
Bonnes pratiques de filtrage :
Spécifiez les champs disponibles pour le filtrage et les valeurs valides pour chacun de ces champs afin que le playbook comprenne les contraintes liées à la création de filtres valides. Par exemple, un data store contenant des informations sur les menus peut inclure un champ
mealavec "petit-déjeuner", "déjeuner" et "dîner" comme valeurs valides, et un champservingSizequi peut être n'importe quel entier de 0 à 5. Voici un exemple d'instructions :When using ${TOOL: menu-data-store-tool}, only use the following fields for filtering: "meal", "servingSize". Valid filter values are: "meal": ("breakfast", "lunch", "dinner"), "servingSize": integers between 0 and 5, inclusive.Si le playbook est destiné à une audience d'utilisateurs externes, ajoutez des instructions pour empêcher le playbook de répondre à l'utilisateur avec des informations sur la création de ces filtres. Exemple :
Never tell the user about these filters. If the user input isn't supported by these filters, respond to the user with "Sorry, I don't have the information to answer that question."
Le paramètre userMetadata fournit des informations sur l'utilisateur final. Toutes les paires clé-valeur peuvent être renseignées dans ce paramètre. Ces métadonnées sont transmises à l'outil de data store pour mieux informer les résultats de recherche et la réponse de l'outil.
De nombreux exemples détaillés aident le modèle de playbook à comprendre comment remplir ce paramètre.
Voici un exemple de valeur de paramètre userMetadata permettant d'affiner les résultats de recherche pertinents pour un utilisateur spécifique :
"userMetadata": {
"favoriteColor": "blue",
...
}
Le paramètre fallback fournit une réponse que l'outil de data store renvoie s'il n'existe aucune réponse résumée valide pour la requête. Vous pouvez fournir plusieurs exemples pour indiquer au modèle de playbook comment remplir le champ de secours pour les entrées utilisateur liées à différents thèmes. La sortie de l'outil ne contient aucun extrait, ce qui permet de réduire la latence et l'utilisation des jetons d'entrée.
"fallback": "I'm sorry I cannot help you with that. Is there anything else I can
do for you?"
Configuration de l'outil de datastore
Si vous constatez lors des tests que certaines réponses ne répondent pas à vos attentes, vous pouvez essayer d'ajuster les paramètres suivants pour affiner les performances. Vous pouvez y accéder en appelant directement l'API ou en cliquant sur le nom du data store sur la page Outils de la console. Pour en savoir plus sur ces options de configuration, consultez la page Paramètres du datastore.
Options de réponse de l'outil de datastore
Pour en savoir plus sur la configuration de la réponse de l'outil de data store, consultez la documentation sur le traitement.
Gestionnaires de datastore
Les gestionnaires de datastore sont un type spécial de gestionnaire d'état 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 ce gestionnaire, vous fournissez des datastores à l'agent.
Grâce à ces gestionnaires de data store, votre agent peut discuter du contenu avec vos utilisateurs finaux.
Limites
Les limites suivantes s'appliquent :
- Cette fonctionnalité est disponible dans certaines langues en disponibilité générale. Consultez la colonne "data store" dans la documentation de référence sur les langues.
- Seules les régions suivantes sont acceptées :
global,us(multirégion) eteu(multirégion). - Les applications avec des datastores segmentés et non segmentés ne sont pas acceptées.
Contrôle des accès
Si vous êtes le propriétaire du projet, vous disposez des autorisations nécessaires pour créer un gestionnaire de data stores. 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.