Comprendre les composants de recherche
Une solution de recherche IA se compose de plusieurs composants, chacun jouant un rôle important dans le processus d’extraction, d’enrichissement, d’indexation et de recherche de données.
Source de données
La plupart des solutions de recherche commencent par une source de données contenant les données à rechercher. Recherche Azure AI prend en charge plusieurs types de sources de données, notamment :
- Fichiers non structurés dans des conteneurs de Stockage Blob Azure.
- Tables dans Azure SQL Database.
- Documents dans Cosmos DB.
Recherche Azure AI peut extraire des données de ces sources de données pour l’indexation.
D’autre part, des applications peuvent également envoyer (push) des données JSON directement dans un index, sans les extraire d’un magasin de données existant.
Ensemble de compétences
Dans une solution de recherche de base, vous pouvez indexer les données extraites de la source de données. Les informations qui peuvent être extraites dépendent de la source de données. Par exemple, lors de l’indexation de données dans une base de données, les champs contenus dans les tables de base de données peuvent être extraits. Dans le cas de l’indexation d’un ensemble de documents, les métadonnées (telles que nom de fichier, date de modification, taille et auteur) peuvent être extraites avec le contenu texte du document.
Bien qu’une solution de recherche de base qui indexe les valeurs de données extraites directement à partir de la source de données puisse être utile en soi, les attentes des utilisateurs d’applications modernes ont soulevé un nouveau besoin, celui d’obtenir des insights plus riches sur les données. Dans Recherche Azure AI, vous pouvez appliquer des compétences d’intelligence artificielle (IA) dans le cadre du processus d’indexation pour enrichir les données sources avec de nouvelles informations, qui peuvent être mappées aux champs d’index. Les compétences utilisées par un indexeur sont encapsulées dans un ensemble de compétences qui définit un pipeline d’enrichissement dans lequel chaque étape améliore les données sources avec des Insights obtenues par une compétence d’IA spécifique. Voici quelques exemples de types d’informations pouvant être extraits par une compétence d’IA :
- La langue dans laquelle un document est écrit.
- Les expressions clés qui peuvent vous aider à déterminer les thèmes principaux ou les sujets abordés dans un document.
- Un score de sentiment qui quantifie dans quelle mesure un document est positif ou négatif.
- Les emplacements, personnes, organisations ou points de repère spécifiques mentionnés dans le contenu.
- Les descriptions des images générées par l’IA ou du texte d’image extrait par reconnaissance optique de caractères.
- Les compétences personnalisées que vous développez pour répondre à des exigences spécifiques.
Indexation
L’indexeur est le moteur qui pilote le processus d’indexation global. Il prend les sorties extraites à l’aide des compétences incluses dans l’ensemble de compétences, ainsi que les valeurs des données et métadonnées extraites de la source de données d’origine, puis les mappent à des champs de l’index.
Un indexeur s’exécute automatiquement lors de sa création. Il est possible de planifier son exécution à des intervalles réguliers ou de l’exécuter à la demande pour ajouter d’autres documents à l’index. Dans certains cas, notamment quand vous ajoutez de nouveaux champs à un index ou de nouvelles compétences à un ensemble de compétences, vous pouvez avoir besoin de réinitialiser l’index avant de réexécuter l’indexeur.
Index
L’index est le résultat, pouvant faire l’objet d’une recherche, du processus d’indexation. Il se compose d’une collection de documents JSON, avec des champs qui contiennent les valeurs extraites pendant l’indexation. Les applications clientes peuvent interroger l’index pour récupérer, filtrer et trier des informations.
Chaque champ d’index peut être configuré avec les attributs suivants :
- key : champs qui définissent une clé unique pour les enregistrements d’index.
- searchable : champs qui peuvent être interrogés à l’aide de la recherche en texte intégral.
- filterable : champs qui peuvent être inclus dans les expressions de filtre pour retourner uniquement les documents qui correspondent aux contraintes spécifiées.
- sortable : champs qui peuvent être utilisés pour classer les résultats.
- facetable : champs qui peuvent être utilisés pour déterminer les valeurs des facettes (éléments de l’interface utilisateur utilisés pour filtrer les résultats en fonction d’une liste de valeurs de champ connues).
- retrievable : champs qui peuvent être inclus dans les résultats de la recherche (par défaut, tous les champs sont récupérables, sauf si cet attribut est explicitement supprimé).