Partager via


Bases de données vectorielles pour .NET + IA

Les bases de données vectorielles sont conçues pour stocker et gérer des incorporations vectorielles. Les incorporations sont des représentations numériques de données non numériques qui conservent la signification sémantique. Vous pouvez vectoriser des mots, des documents, des images, de l’audio et d’autres types de données. Utilisez des incorporations pour aider un modèle IA à comprendre la signification des entrées afin qu’elle puisse effectuer des comparaisons et des transformations, telles que la synthèse du texte, la recherche de données contextuelles ou la création d’images à partir de descriptions de texte.

Par exemple, vous pouvez utiliser une base de données vectorielle pour :

  • Identifier des images, des documents et des chansons similaires en fonction de leur contenu, de leurs thèmes, sentiments et styles.
  • Identifier des produits similaires en fonction de leurs caractéristiques, fonctionnalités et groupes d’utilisateurs.
  • Recommander du contenu, des produits ou des services en fonction des préférences de l’utilisateur.
  • Identifier les meilleures options potentielles dans un grand pool de choix pour répondre à des exigences complexes.
  • Identifier les anomalies de données ou les activités frauduleuses qui dévient des modèles prédominants ou normaux.

Les bases de données vectorielles fournissent des fonctionnalités de recherche vectorielle pour rechercher des éléments similaires en fonction de leurs caractéristiques de données plutôt que par des correspondances exactes sur un champ de propriété. La recherche vectorielle fonctionne en analysant les représentations vectorielles de vos données que vous avez créées à l’aide d’un modèle d’incorporation d’IA, tel que les modèles d’incorporation Azure OpenAI. Le processus de recherche mesure la distance entre les vecteurs de données et votre vecteur de requête. Les vecteurs de données les plus proches de votre vecteur de requête sont ceux qui se révèlent les plus similaires sémantiquement.

Certains services tels qu’Azure Cosmos DB for MongoDB vCore fournissent des fonctionnalités de recherche vectorielle native pour vos données. D’autres bases de données peuvent être améliorées avec la recherche vectorielle en indexant les données stockées à l’aide d’un service tel que Recherche Azure AI, qui peut analyser et indexer vos données pour fournir des fonctionnalités de recherche vectorielle.

Flux de travail de recherche vectorielle avec .NET et OpenAI

Les bases de données vectorielles et leurs fonctionnalités de recherche sont particulièrement utiles dans les flux de travail de modèle RAG avec Azure OpenAI. Ce modèle vous permet d’augmenter votre modèle IA avec des connaissances sémantiquement enrichies de vos données. Un flux de travail IA courant à l’aide de bases de données vectorielles comprend les étapes suivantes :

  1. Créer des incorporations pour vos données à l’aide d’un modèle d’incorporation OpenAI.
  2. Stocker et indexer les incorporations dans une base de données vectorielle ou un service de recherche.
  3. Convertissez les requêtes de l'utilisateur de votre application en éléments intégrés.
  4. Exécutez une recherche vectorielle sur vos données en comparant l'insertion de l'invite de l'utilisateur avec les insertions dans votre base de données.
  5. Utilisez un modèle de langage tel que GPT-4o pour construire un résultat convivial à partir des résultats de la recherche vectorielle.

Visitez le tutoriel Implémentation d’Azure OpenAI avec RAG à l’aide de la recherche vectorielle dans une application .NET pour obtenir un exemple pratique de ce flux.

Voici d’autres avantages du modèle RAG :

  • Générez des réponses contextuellement pertinentes et précises aux invites utilisateur à partir de modèles IA.
  • Surmonter les limites des jetons LLM : la recherche vectorielle de base de données effectue le gros travail.
  • Réduisez les coûts du réglage précis fréquent des données mises à jour.