A biblioteca Microsoft.Extensions.VectorData

O 📦 pacote Microsoft.Extensions.VectorData.Abstractions fornece uma camada unificada de abstrações para interagir com lojas vetoriais em .NET. Estas abstrações permitem-lhe escrever código simples e de alto nível contra uma única API, e trocar a loja vetorial subjacente com alterações mínimas à sua aplicação.

A biblioteca oferece as seguintes funcionalidades chave:

  • Mapeamento de tipos .NET sem interrupções: Mapeie o seu tipo .NET diretamente para a base de dados, semelhante a um mapeador objeto-relacional.
  • Modelo de dados unificado: Defina o seu modelo de dados uma vez usando atributos .NET e utilize-o em qualquer loja vetorial suportada.
  • Operações CRUD: Criar, ler, atualizar e eliminar registos numa loja vetorial.
  • Pesquisa vetorial e híbrida: Consultar registos por similaridade semântica usando pesquisa vetorial, ou combinar pesquisa vetorial e de texto para pesquisa híbrida.
  • Gestão de geração de embedding: Configure o seu gerador de embedding uma vez e deixe a biblioteca gerir a geração de forma transparente.
  • Gestão de coleções: Criar, listar e eliminar coleções (tabelas ou índices) numa loja vetorial.

Microsoft.Extensions.VectorData é também o bloco fundamental para camadas adicionais de nível mais elevado que precisam de interagir com bases de dados vetoriais, por exemplo, a biblioteca Microsoft.Extensions.DataIngestion.

Microsoft. Extensões.VectorData e Entity Framework Core

Se já está a usar Entity Framework Core para aceder à sua base de dados, é provável que o seu fornecedor de base de dados já suporte pesquisa vetorial, e consultas LINQ possam ser usadas para expressar essas pesquisas. Nessas aplicações, a Microsoft.Extensions.VectorData não é necessariamente necessária. No entanto, a maioria das bases de dados vetoriais especializadas não é suportada pelo EF Core, mas o Microsoft.Extensions.VectorData pode proporcionar uma boa experiência para trabalhar com elas. Além disso, pode acabar por usar tanto o EF como a Microsoft. Extensions.VectorData na mesma aplicação, por exemplo, ao usar uma camada adicional como Microsoft. Extensões.DataIngestion.

Ver também