Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Advertencia
La funcionalidad del almacén de vectores de In-Memory está en versión preliminar y las mejoras que requieren cambios importantes pueden seguir teniendo lugar en circunstancias limitadas antes de la versión.
Advertencia
La funcionalidad Almacén de vectores de kernel semántico está en versión preliminar y las mejoras que requieren cambios importantes pueden producirse en circunstancias limitadas antes de la versión.
Advertencia
La funcionalidad Almacén de vectores de kernel semántico está en versión preliminar y las mejoras que requieren cambios importantes pueden producirse en circunstancias limitadas antes de la versión.
Información general
El conector del almacén de vectores en memoria es una implementación del almacén de vectores proporcionada por kernel semántico que no usa ninguna base de datos externa y almacena datos en memoria. Este almacén de vectores es útil para escenarios de creación de prototipos o en los que se requieren operaciones de alta velocidad en memoria.
El conector tiene las siguientes características.
Área de características | Soporte técnico |
---|---|
La colección se asigna a | Diccionario en memoria |
Tipos de propiedades de clave admitidos | Cualquier tipo que se pueda comparar |
Tipos de propiedad de datos admitidos | Cualquier tipo |
Tipos de propiedades vectoriales admitidos |
|
Tipos de índice admitidos | Plano |
Funciones de distancia admitidas |
|
Cláusulas de filtro admitidas |
|
Admite varios vectores en un registro | Sí |
¿Está IsIndexed soportado? | Sí |
¿Está IsFullTextIndexed soportado? | Sí |
¿Se admite StorageName? | No, dado que el almacenamiento está en memoria y la reutilización de datos no es posible, por lo tanto, no es posible asignar nombres personalizados. |
¿Se admite HybridSearch? | No |
Introducción
Agregue el paquete nuget Kernel Core semántico al proyecto.
dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease
Puede agregar el almacén de vectores al contenedor de inserción de dependencias disponible en KernelBuilder
o al IServiceCollection
contenedor de inserción de dependencias mediante métodos de extensión proporcionados por kernel semántico.
using Microsoft.Extensions.DependencyInjection;
using Microsoft.SemanticKernel;
// Using Kernel Builder.
var kernelBuilder = Kernel
.CreateBuilder();
kernelBuilder.Services
.AddInMemoryVectorStore();
using Microsoft.Extensions.DependencyInjection;
using Microsoft.SemanticKernel;
// Using IServiceCollection with ASP.NET Core.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddInMemoryVectorStore();
Puede construir directamente una instancia de Almacén de vectores de InMemory.
using Microsoft.SemanticKernel.Connectors.InMemory;
var vectorStore = new InMemoryVectorStore();
Es posible construir una referencia directa a una colección con nombre.
using Microsoft.SemanticKernel.Connectors.InMemory;
var collection = new InMemoryCollection<string, Hotel>("skhotels");
Información general
El conector del almacén de vectores en memoria es una implementación del almacén de vectores proporcionada por kernel semántico que no usa ninguna base de datos externa y almacena datos en memoria. Este almacén de vectores es útil para escenarios de creación de prototipos o en los que se requieren operaciones de alta velocidad en memoria.
El conector tiene las siguientes características.
Área de características | Soporte técnico |
---|---|
La colección se asigna a | Diccionario en memoria |
Tipos de propiedades de clave admitidos | Cualquiera que pueda ser una clave dict, consulte la documentación de Python para obtener más información aquí |
Tipos de propiedad de datos admitidos | Cualquier tipo |
Tipos de propiedades vectoriales admitidos | list[float | int] | matriz numpy |
Tipos de índice admitidos | Plano |
Funciones de distancia admitidas |
|
Admite varios vectores en un registro | Sí |
¿Se admite is_filterable? | Sí |
¿Está admitido is_full_text_searchable? | Sí |
Introducción
Agregue el paquete kernel semántico al proyecto.
pip install semantic-kernel
Puede crear el almacén y las colecciones desde allí o crear las colecciones directamente.
En los fragmentos de código siguientes, se supone que tiene una clase de modelo de datos definida denominada "DataModel".
from semantic_kernel.connectors.in_memory import InMemoryVectorStore
vector_store = InMemoryVectorStore()
vector_collection = vector_store.get_collection(record_type=DataModel, collection_name="collection_name")
Es posible construir una referencia directa a una colección con nombre.
from semantic_kernel.connectors.in_memory import InMemoryCollection
vector_collection = InMemoryCollection(record_type=DataModel, collection_name="collection_name")
Próximamente
Más información próximamente.