Connexion à un référentiel de contenu Astra DB
Connectez un référentiel de contenu Astra DB pour prendre en charge la recherche vectorielle et hybride haute performance. Au moment de l'exécution, l'agent interroge Astra DB pour récupérer le contenu pertinent et obtenir des résultats précis et contextuels.
Astra DB est une base de données vectorielle qui améliore la précision de la recherche pour les données structurées et non structurées. La connaissance des agents prend en charge les types de recherche Astra DB suivants : recherche vectorielle, recherche lexicale ou par mot-clé, recherche hybride, qui combine la recherche vectorielle et la recherche lexicale en une seule étape pour une meilleure précision. Pour la recherche vectorielle, l'agent knowledge prend en charge l'intégration du client Astra DB, ainsi que l'intégration du serveur. L'intégration au serveur ne nécessite pas d'appel supplémentaire vers un modèle d'intégration pour intégrer la requête provenant de watsonx Orchestrate. La connaissance des agents soutient la recherche sur les données non structurées et les données structurées qui sont stockées dans les collections et les tables de la base de données Astra.
Utilisez les produits ou outils suivants pour vous connecter à un référentiel Astra DB :
Astra DB, où vous provisionnez l'instance de la base de données.
watsonx.ai (facultatif), utilisé pour gérer les liens avec les services IBM. Pour utiliser des modèles d'intégration tiers, intégrez-les via le kit de développement d'agents (ADK). Pour plus d'informations, consultez la section « Gestion des modèles de langage personnalisés (LLM) avec la passerelle IA ».
Respectez les conditions préalables à la connexion à Astra DB avant de commencer la procédure.
Conditions préalables à la connexion à Astra DB
Vous devez avoir un compte Astra DB actif.
Provisionnez une instance Astra DB dans votre compte.
Créer une clé API pour authentifier la connexion.
Assurez-vous de disposer du rôle d'accès requis pour créer une source de connaissances.
Connexion à l'instance Astra DB
Utilisez les données de votre instance Astra DB pour connecter votre agent :
Sur la page de configuration de l'agent, allez dans la section Connaissances.
Cliquez sur Choisir les connaissances +.
Sous Ajouter une source, cliquez sur Nouvelle connaissance.
Sélectionnez Astra DB > Next.
A partir de Connect Astra DB, fournissez les données de connexion.
URL : Saisissez le point de terminaison URL de l'instance Astra DB.
Port (optionnel) : Par défaut, Astra DB écoute sur le port 443. Entrez un port personnalisé uniquement si votre instance utilise une configuration non standard.
Complétez le champ clé API.
Cliquez sur Suivant pour continuer.
Astra DB organise les données en espaces-clés, similaires aux bases de données des systèmes relationnels. Par défaut, un espace-clé est créé automatiquement, mais vous pouvez choisir n'importe quel espace-clé existant dans votre instance Astra DB.
Sélectionnez le type de données que l'agent interroge :
Collecte : Pour les données structurées et non structurées.
Tableau : Pour les données structurées stockées en lignes et en colonnes.
Sélectionnez une option parmi les types Collections ou Tableaux, en fonction du type de données que vous avez choisi.
Sélectionnez le mode d'intégration. Pour plus d'informations, voir Configurer l'intégration et le mode de recherche.
Sélectionnez le mode de recherche. Pour plus d'informations, voir Configurer l'intégration et le mode de recherche.
Mettez en correspondance les champs de la base de données Astra avec les champs de réponse correspondants de l'agent. Pour plus d'informations, voir Résultats de la cartographie
Facultatif : Pour configurer les paramètres de l'Astra DB avancée, voir Paramètres de l'Astra DB avancée.
Cliquez sur Suivant pour continuer.
Dans la section Détails des connaissances,
Name: Entrez un nom d'affichage pour la source de connaissances.Description: Fournir une brève description. Pour plus d'informations, voir Fournir le contexte de la connaissance à l'agent.
Sauvegardez vos paramètres.
Vous revenez à la page Agent Builder. Le référentiel Astra DB est désormais connecté . Pour vérifier la configuration, lancez une requête dans votre agent.
Mettre à jour les paramètres de la base de données Astra
Pour mettre à jour votre configuration :
Allez dans la section " Connaissances".
Cliquez sur l'ellipse verticale (⋮ ) à côté de la source de connaissances sélectionnée.
Sélectionnez Modifier les détails et mettez à jour la configuration.
Sauvegardez vos paramètres.
Supprimer le référentiel Astra DB
Pour supprimer le référentiel :
Allez dans la section " Connaissances".
Cliquez sur l'ellipse verticale (⋮ ) à côté de la source de connaissances sélectionnée.
Cliquez sur Suppression.
Configurer l'intégration et le mode de recherche
Astra DB prend en charge plusieurs options d'intégration et de recherche afin d'équilibrer la précision et la performance :
Option |
Description |
Utilisation |
|---|---|---|
Recherche vectorielle |
Convertit les requêtes en vecteurs pour la correspondance sémantique. |
Idéal pour les requêtes longues ou complexes. |
Recherche lexicale |
Effectue une recherche traditionnelle par mot-clé. |
Meilleur pour les correspondances exactes et les termes structurés. |
Recherche hybride |
Combine la recherche vectorielle et la recherche lexicale, puis réorganise les résultats. |
A utiliser pour obtenir la plus grande précision de recherche. |
Intégration du client |
La requête est d'abord intégrée dans watsonx.ai ou dans un autre service d'intégration, puis envoyée à Astra DB. |
A utiliser lorsque vous souhaitez gérer les embeddings en dehors d'Astra DB. |
Intégration du serveur |
Astra DB intègre automatiquement la requête lors de la recherche. |
À utiliser pour des requêtes plus simples en une seule étape sans appels d'intégration externes. |
Le mode de recherche doit correspondre à la configuration de la collection ou de la table dans Astra DB.
Résultats de la cartographie
Mettez en correspondance les champs de la base de données Astra avec la réponse de l'agent dans « _Configurer le contenu du résultat_ » :
Titre : Sélectionnez le champ pour le titre du résultat.
Corps : sélectionnez le champ pour le texte du résultat.
URL (facultatif) : Sélectionnez le champ du lien source.
Paramètres avancés d'Astra DB
Configurez des filtres avancés pour affiner les résultats. Par exemple :
Renvoie les résultats lorsque les articles de la commande n'ont pas été retirés :
{"is_checked_out": False}
Retourner les résultats lorsque les livres commandés ne sont pas empruntés et que les livres ont moins de 300 pages :
{
"$and": [
{"is_checked_out": False},
{"number_of_pages": {"$lt": 300}},
]
}
La syntaxe du filtre suit les règles de requête d'Astra DB. Pour plus d'informations sur les opérateurs de filtrage pour les collections, consultez la section Opérateurs de filtrage pour les collections. Pour plus d'informations sur les opérateurs de filtrage pour les tables, consultez la section Opérateurs de filtrage pour les tables.
Transmettre les variables de contexte
Vous pouvez rendre vos filtres dynamiques en référençant des variables de contexte dans vos modèles de filtres Astra DB. Cela permet de substituer des valeurs en fonction du contexte de l'utilisateur ou de la session, ce qui rend vos requêtes plus souples et plus personnalisées.
Fonctionnement
Dans votre référentiel de contenu, mettez en place des filtres et référencez les variables contextuelles dans le format :
{context_var}Lorsque l'agent s'exécute, il récupère le contexte à partir de :
La charge utile du point de terminaison des exécutions, ou
Le jeton JWT associé à la session
Le moteur d'exécution des connaissances remplace les variables de contexte de votre modèle de filtre par les valeurs réelles du contexte
Exemple de remplacement du filtre Astra DB
Par exemple :
filter: Un modèle contenant des références à des variables contextuelles, saisies dans le champ du filtre pour la substitution dynamique.final_filter: Le modèle après avoir remplacé les variables de contexte par des valeurs réelles. La requête est envoyée à Astra DB pour la récupération des données.context_variable: Un ensemble de paires clé-valeur définissant les variables de contexte utilisées dans la substitution.
Exemple :
filter = '{"product_partNumber": "{part}"}'
context_variable = {"part": "PS-SL-KIT"}
final_filter = {"product_partNumber": "PS-SL-KIT"}
filter = '{"number_of_pages": {"$eq": "{count}"}}'
context_variable = {"count": 400}
final_filter = {"number_of_pages": {"$eq": 400}}
filter = '{"genres": {"$in": "{genres}"}}'
context_variable = {"genres": ["ABC", "DEF"]}
final_filter = {"genres": {"$in": ["ABC", "DEF"]}}
filter = '{"borrower": {"$exists": "{borrower}"}}'
context_variable = {"borrower": False}
final_filter = {"borrower": {"$exists": False}}
filter='{"value": {"$in": [82500, {value}]}}'
context_variable = {"value": [82400, 165000]}
final_filter = {"value": {"$in": [82500, 82400, 165000]}}
filter = '{"product_partNumber": "{part}-SL-KIT"}'
context_variable = {"part": "PS"}
final_filter = {"product_partNumber": "PS-SL-KIT"}
Etape suivante
Après vous être connecté à Astra DB, vous pouvez modifier les données de connexion au référentiel ou les paramètres que vous avez fournis pour récupérer les documents.
Pour affiner la manière dont votre agent utilise les résultats de la recherche, voir Modifier les paramètres des résultats de la recherche.
Commencez à en savoir plus sur Astra DB grâce au tutoriel Créer des agents IA contextuels avec watsonx Orchestrate et Astra DB.