Rendre vos données accessibles à la recherche

Effectué

Quand vous voulez créer un agent qui utilise vos propres données pour générer des réponses précises, vous devez être en mesure d’effectuer efficacement des recherches dans vos données. Lorsque vous générez un agent avec Microsoft Foundry, vous pouvez utiliser l’intégration à Recherche IA Azure pour récupérer le contexte approprié dans votre flux de conversation.

La Recherche Azure AI est un récupérateur que vous pouvez inclure lors de la génération d’une application de modèle de langage avec un flux de requête. Recherche Azure AI vous permet d’apporter vos propres données, d’indexer vos données, et d’interroger l’index pour récupérer les informations dont vous avez besoin.

Diagramme montrant l’interrogation d’un index pour récupérer des données de référence.

Utilisation d’un index vectoriel

Bien qu’un index textuel améliore l’efficacité de la recherche, vous pouvez généralement obtenir une meilleure solution d’extraction de données en utilisant un index vectoriel qui contient des incorporations représentant les jetons de texte dans votre source de données.

Une incorporation est un format spécial de représentation des données qu’un moteur de recherche peut utiliser pour trouver facilement les informations pertinentes. Plus spécifiquement, une incorporation est un vecteur de nombres à virgule flottante.

Par exemple, imaginez que vous disposez de deux documents avec le contenu suivant :

  • « Les enfants jouaient joyeusement dans le parc. »
  • « Les enfants couraient joyeusement autour du terrain de jeu. »

Ces deux documents contiennent des textes qui sont sémantiquement liés, même si des mots différents sont utilisés. Grâce à la création d’incorporations vectorielles pour le texte contenu dans les documents, la relation entre les mots peut être calculée mathématiquement.

Imaginez que les mots clés sont extraits du document et tracés sous forme de vecteur dans un espace multidimensionnel :

Diagramme d’incorporations vectorielles.

La distance entre les vecteurs peut être calculée en mesurant le cosinus de l’angle entre deux vecteurs, également appelé similarité cosinus. En d’autres termes, la similarité cosinus calcule la similarité sémantique entre des documents et une requête.

En représentant des mots et leurs significations sous forme de vecteurs, vous pouvez extraire le contexte pertinent à partir de votre source de données même lorsque vos données sont stockées dans différents formats (texte ou image) et langues.

Lorsque vous souhaitez pouvoir utiliser la recherche vectorielle pour effectuer une recherche parmi vos données, vous devez créer des incorporations lors de la création de votre index de recherche. Pour créer des incorporations pour votre index de recherche, vous pouvez utiliser un modèle d’incorporation Azure OpenAI disponible dans Microsoft Foundry.

Diagramme montrant un index vectoriel qui contient des incorporations.

Création d’un index de recherche

Dans Recherche Azure AI, un index de recherche décrit la façon dont votre contenu est organisé pour le rendre accessible à la recherche. Imaginez une bibliothèque contenant de nombreux livres. Vous souhaitez pouvoir effectuer des recherches dans la bibliothèque et récupérer un livre spécifique facilement et efficacement. Pour que la bibliothèque puisse faire l’objet d’une recherche, vous créez un catalogue qui contient toutes les données pertinentes relatives aux livres, afin de faciliter la recherche d’un livre spécifique. Le catalogue d’une bibliothèque sert d’index de recherche.

Bien qu’il existe différentes approches pour créer un index, l’intégration d’Azure AI Search dans Microsoft Foundry vous permet de créer facilement un index adapté aux modèles de langage. Vous pouvez ajouter vos données à Microsoft Foundry, après quoi vous pouvez utiliser Azure AI Search pour créer un index dans le portail Microsoft Foundry à l’aide d’un modèle d’incorporation. La ressource d’index est stockée dans Recherche IA Azure et interrogée par Microsoft Foundry lorsqu’elle est utilisée dans un flux de conversation.

Capture d’écran de la création d’un index dans Microsoft Foundry.

La façon dont vous configurez votre index de recherche dépend des données que vous avez et du contexte que vous souhaitez utiliser pour votre modèle de langage. Par exemple, la recherche par mot clé vous permet de récupérer des informations qui correspondent exactement à la requête de recherche. La recherche sémantique va un peu plus loin, car elle récupère des informations qui correspondent à la signification de la requête plutôt qu’au mot clé exact, à l’aide de modèles sémantiques. Actuellement, la technique la plus avancée est la recherche vectorielle, qui crée des incorporations pour représenter vos données.

Conseil

Apprenez-en davantage sur la recherche vectorielle.

Recherche dans un index

Il existe plusieurs façons d’interroger les informations d’un index :

  • Recherche par mots clés : identifie les documents ou passages pertinents en fonction de mots clés ou de termes spécifiques fournis en entrée.
  • Recherche sémantique : récupère des documents ou des passages en comprenant la signification de la requête et en la faisant correspondre à du contenu lié sémantiquement plutôt qu’en s’appuyant uniquement sur des correspondances de mots clés exactes.
  • Recherche vectorielle : utilise des représentations mathématiques de texte (vecteurs) pour rechercher des documents ou des passages similaires en fonction de leur signification sémantique ou de leur contexte.
  • Recherche hybride : combine plusieurs techniques de recherche. Les requêtes sont exécutées en parallèle, et sont retournées dans un jeu de résultats unifié.

Lorsque vous créez un index de recherche dans Microsoft Foundry, vous êtes guidé pour configurer un index qui convient le mieux à utiliser en combinaison avec un modèle de langage. Lorsque vos résultats de recherche sont utilisés dans une application d’IA générative, la recherche hybride donne les résultats les plus justes.

La recherche hybride est une combinaison de recherche par mot clé (et en texte intégral) et de recherche vectorielle, à laquelle le classement sémantique est éventuellement ajouté. Lorsque vous créez un index compatible avec la recherche hybride, les informations récupérées sont précises lorsque des correspondances exactes sont disponibles (à l’aide de mots clés), et toujours pertinentes lorsque seules des informations conceptuellement similaires sont disponibles (à l’aide de la recherche vectorielle).

Conseil

Apprenez-en davantage sur la recherche hybride.