La bibliothèque Microsoft.Extensions.VectorData

Le 📦 package Microsoft.Extensions.VectorData.Abstractions fournit une couche unifiée d’abstractions pour interagir avec les magasins vectoriels dans .NET. Ces abstractions vous permettent d’écrire du code simple et de haut niveau sur une SEULE API et de permuter le magasin vectoriel sous-jacent avec des modifications minimales apportées à votre application.

La bibliothèque fournit les fonctionnalités clés suivantes :

  • Seamless .NET type mapping : Associez directement votre type .NET à la base de données, similaire à un mapper objet-relationnel.
  • Modèle de données unifié : définissez votre modèle de données une fois à l’aide d’attributs .NET et utilisez-le dans n’importe quel magasin vectoriel pris en charge.
  • Opérations CRUD : Créer, lire, mettre à jour et supprimer des enregistrements dans un magasin vectoriel.
  • Recherche vectorielle et hybride : Interrogez les enregistrements par similarité sémantique à l’aide de la recherche vectorielle ou combinez la recherche de vecteur et de texte pour la recherche hybride.
  • Gestion de la génération d’incorporation : configurez votre générateur d’incorporation une seule fois et laissez la bibliothèque gérer de manière transparente la génération.
  • Gestion des collections : créer, répertorier et supprimer des collections (tables ou index) dans un magasin vectoriel.

Microsoft.Extensions.VectorData est également la brique de base d’autres couches de plus haut niveau qui doivent interagir avec des bases de données vectorielles, par exemple la bibliothèque Microsoft.Extensions.DataIngestion.

Microsoft. Extensions.VectorData et Entity Framework Core

Si vous utilisez déjà Entity Framework Core pour accéder à votre base de données, il est probable que votre fournisseur de base de données prenne déjà en charge la recherche vectorielle et que les requêtes LINQ peuvent être utilisées pour exprimer ces recherches. Dans ces applications, Microsoft. Extensions.VectorData n'est pas nécessairement nécessaire. Toutefois, la plupart des bases de données vectorielles dédiées ne sont pas prises en charge par EF Core et Microsoft. Extensions.VectorData peut offrir une bonne expérience pour les utiliser. En outre, il se peut que vous utilisiez également à la fois EF et Microsoft.Extensions.VectorData dans la même application, par exemple si vous utilisez une couche supplémentaire telle que Microsoft.Extensions.DataIngestion.

Voir aussi