A biblioteca Microsoft.Extensions.VectorData

O 📦 pacote Microsoft.Extensions.VectorData.Abstractions fornece uma camada unificada de abstrações para interagir com repositórios de vetores no .NET. Essas abstrações permitem que você escreva um código simples de alto nível em uma única API e troque o repositório de vetores subjacente por alterações mínimas em seu aplicativo.

A biblioteca fornece os seguintes recursos principais:

  • Seamless .NET type mapping: mapeie seu tipo de .NET diretamente para o banco de dados, semelhante a um mapeador de objeto/relacional.
  • Modelo de dados unificado: defina seu modelo de dados uma vez usando atributos do .NET e use-o em qualquer repositório de vetores com suporte.
  • Operações CRUD: criar, ler, atualizar e excluir registros em um repositório de vetores.
  • Pesquisa vetor e híbrida: consultar registros por similaridade semântica usando a pesquisa de vetor ou combinar pesquisa de vetor e texto para pesquisa híbrida.
  • Geração e gerenciamento de incorporações: configure o gerador de incorporações uma vez e deixe a biblioteca lidar com a geração de forma transparente.
  • Gerenciamento de coleções: criar, listar e excluir coleções (tabelas ou índices) em um repositório de vetores.

Microsoft.Extensions.VectorData também é a base para camadas adicionais de nível mais alto que precisam interagir com bancos de dados vetoriais, por exemplo, a biblioteca Microsoft.Extensions.DataIngestion.

Microsoft.Extensions.VectorData e Entity Framework Core

Se você já estiver usando Entity Framework Core para acessar seu banco de dados, é provável que seu provedor de banco de dados já dê suporte à pesquisa de vetor e as consultas LINQ podem ser usadas para expressar essas pesquisas. Nesses aplicativos, Microsoft. Extensions.VectorData não é necessariamente necessário. No entanto, a maioria dos bancos de dados vetoriais dedicados não tem suporte do EF Core e Microsoft. Extensions.VectorData pode fornecer uma boa experiência para trabalhar com eles. Além disso, você também pode se encontrar usando eF e Microsoft. Extensions.VectorData no mesmo aplicativo, por exemplo, ao usar uma camada adicional, como Microsoft. Extensions.DataIngestion.

Consulte também