Die Microsoft. Extensions.VectorData-Bibliothek

Das 📦 Microsoft.Extensions.VectorData.Abstractions-Paket bietet eine einheitliche Abstraktionsebene für die Interaktion mit Vektorspeichern in .NET. Mit diesen Abstraktionen können Sie einfachen, allgemeinen Code für eine einzelne API schreiben und den zugrunde liegenden Vektorspeicher mit minimalen Änderungen an Ihrer Anwendung austauschen.

Die Bibliothek bietet die folgenden Wichtigsten Funktionen:

  • Nahtlose .NET-Typ Zuordnung: Ordnen Sie Ihre .NET-Typen direkt der Datenbank zu, ähnlich wie bei einer Objekt-Relationalen Zuordnung.
  • Einheitliches Datenmodell: Definieren Sie Das Datenmodell einmal mithilfe von .NET-Attributen, und verwenden Sie es in jedem unterstützten Vektorspeicher.
  • CRUD-Vorgänge: Erstellen, Lesen, Aktualisieren und Löschen von Datensätzen in einem Vektorspeicher.
  • Vektor- und Hybridsuche: Abfragen von Datensätzen nach semantischer Ähnlichkeit mithilfe der Vektorsuche oder Kombinieren der Vektor- und Textsuche für die Hybridsuche.
  • Verwaltung der Einbettungsgenerierung: Konfigurieren Sie ihren Einbettungsgenerator einmal, und lassen Sie die Bibliothek die Generierung transparent verarbeiten.
  • Sammlungsverwaltung: Erstellen, Auflisten und Löschen von Sammlungen (Tabellen oder Indizes) in einem Vektorspeicher.

Microsoft. Extensions.VectorData ist auch der Baustein für zusätzliche Ebenen auf höherer Ebene, die mit Vektordatenbanken interagieren müssen, z. B. die Microsoft. Extensions.DataIngestion library.

Microsoft.Extensions.VectorData und Entity Framework Core

Wenn Sie bereits Entity Framework Core für den Zugriff auf Ihre Datenbank verwenden, ist es wahrscheinlich, dass Ihr Datenbankanbieter die Vektorsuche bereits unterstützt, und LINQ-Abfragen können verwendet werden, um solche Suchvorgänge auszudrücken. In solchen Anwendungen ist Microsoft.Extensions.VectorData nicht unbedingt erforderlich. Die meisten dedizierten Vektordatenbanken werden jedoch nicht von EF Core und Microsoft unterstützt. Extensions.VectorData kann eine gute Erfahrung für die Arbeit mit diesen bieten. Darüber hinaus kann es sein, dass Sie in derselben Anwendung sowohl EF als auch Microsoft.Extensions.VectorData verwenden, beispielsweise bei Verwendung einer zusätzlichen Ebene wie Microsoft.Extensions.DataIngestion.

Siehe auch