De bibliotheek Microsoft.Extensions.VectorData

Het 📦 pakket Microsoft.Extensions.VectorData.Abstractions biedt een uniforme abstractielaag voor interactie met vectorarchieven in .NET. Met deze abstracties kunt u eenvoudige code op hoog niveau schrijven op basis van één API en het onderliggende vectorarchief verwisselen met minimale wijzigingen in uw toepassing.

De bibliotheek biedt de volgende belangrijke mogelijkheden:

  • Naadloze .NET typetoewijzing: wijs uw .NET-type direct toe aan de database, vergelijkbaar met een object/relatie mapper.
  • Geïntegreerd gegevensmodel: Definieer uw gegevensmodel eenmaal met behulp van .NET-kenmerken en gebruik dit in elk ondersteund vectorarchief.
  • CRUD-bewerkingen: records maken, lezen, bijwerken en verwijderen in een vectorarchief.
  • Vector en hybride zoekopdracht: query's uitvoeren op semantische overeenkomsten met behulp van vectorzoekopdrachten of vector- en tekstzoekopdrachten combineren voor hybride zoekopdrachten.
  • Beheer van het genereren van embeddings: configureer uw generator voor het genereren van embeddings eenmalig en laat de bibliotheek het genereren transparant verwerken.
  • Verzamelingsbeheer: verzamelingen (tabellen of indexen) maken, vermelden en verwijderen in een vectorarchief.

Microsoft. Extensions.VectorData is ook de bouwsteen voor extra lagen op een hoger niveau die moeten communiceren met vectordatabases, bijvoorbeeld de Microsoft. Extensions.DataIngestion bibliotheek.

Microsoft.Extensions.VectorData en Entity Framework Core

Als u al Entity Framework Core gebruikt voor toegang tot uw database, is het waarschijnlijk dat uw databaseprovider al vectorzoekopdrachten ondersteunt en LINQ-query's kunnen worden gebruikt om dergelijke zoekopdrachten uit te drukken. In dergelijke toepassingen Microsoft. Extensions.VectorData is niet noodzakelijkerwijs nodig. De meeste gespecialiseerde vectordatabases worden echter niet ondersteund door EF Core, en Microsoft.Extensions.VectorData biedt een prettige manier om daarmee te werken. Daarnaast zou u in dezelfde applicatie ook zowel EF als Microsoft.Extensions.VectorData kunnen gebruiken, bijvoorbeeld wanneer u een extra laag gebruikt, zoals Microsoft.Extensions.DataIngestion.

Zie ook