Usando o conector na memória (visualização)
Aviso
A funcionalidade Semantic Kernel Vetor Store está em pré-visualização, e melhorias que exigem alterações de quebra ainda podem ocorrer em circunstâncias limitadas antes do lançamento.
Descrição geral
O conector In-Memory Vetor Store é uma implementação do Vetor Store fornecida pelo Semantic Kernel que não usa nenhum banco de dados externo e armazena dados na memória. Este Vetor Store é útil para cenários de prototipagem ou onde são necessárias operações de alta velocidade na memória.
O conector tem as seguintes características.
Área de funcionalidades | Suporte |
---|---|
Mapas da coleção para | Dicionário na memória |
Tipos de propriedade de chave suportados | Qualquer tipo que possa ser comparado |
Tipos de propriedade de dados suportados | Qualquer tipo |
Tipos de propriedade vetorial suportados | Float ReadOnlyMemory<> |
Tipos de índice suportados | N/A |
Funções de distância suportadas | N/A |
Suporta vários vetores em um registro | Sim |
IsFilterable suportado? | Sim |
IsFullTextSearchable suportado? | Sim |
StoragePropertyName suportado? | Não, como o armazenamento é na memória e, portanto, a reutilização de dados não é possível, a nomenclatura personalizada não é aplicável. |
Introdução
Adicione o pacote nuget do Semantic Kernel Core ao seu projeto.
dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease
Você pode adicionar o armazenamento vetorial ao contêiner de injeção de dependência disponível no KernelBuilder
ou ao contêiner de IServiceCollection
injeção de dependência usando métodos de extensão fornecidos pelo Semantic Kernel.
using Microsoft.SemanticKernel;
// Using Kernel Builder.
var kernelBuilder = Kernel
.CreateBuilder()
.AddInMemoryVectorStore();
using Microsoft.SemanticKernel;
// Using IServiceCollection with ASP.NET Core.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddInMemoryVectorStore();
Você pode construir uma instância do InMemory Vetor Store diretamente.
using Microsoft.SemanticKernel.Connectors.InMemory;
var vectorStore = new InMemoryVectorStore();
É possível construir uma referência direta a uma coleção nomeada.
using Microsoft.SemanticKernel.Connectors.InMemory;
var collection = new InMemoryVectorStoreRecordCollection<string, Hotel>("skhotels");
Brevemente
Mais informações em breve.
Brevemente
Mais informações em breve.