Partager via


Utilisation du connecteur en mémoire (préversion)

Avertissement

La fonctionnalité de magasin de vecteurs du noyau sémantique est en préversion et des améliorations nécessitant des modifications cassants peuvent toujours se produire dans des circonstances limitées avant la mise en production.

Vue d’ensemble

Le connecteur magasin de vecteurs en mémoire est une implémentation de magasin de vecteurs fournie par le noyau sémantique qui n’utilise aucune base de données externe et stocke les données en mémoire. Ce magasin de vecteurs est utile pour les scénarios de prototypage ou pour les opérations en mémoire à haute vitesse requises.

Le connecteur présente les caractéristiques suivantes.

Zone Fonctionnalités Support
Mappages de collection à Dictionnaire en mémoire
Types de propriétés de clé pris en charge Tout type pouvant être comparé
Types de propriétés de données pris en charge Tout type
Types de propriétés vectorielles pris en charge Float ReadOnlyMemory<>
Types d’index pris en charge S/O
Fonctions de distance prises en charge S/O
Prend en charge plusieurs vecteurs dans un enregistrement Oui
Est-il pris en charge ? Oui
IsFullTextSearchable pris en charge ? Oui
StoragePropertyName pris en charge ? Non, étant donné que le stockage est en mémoire et que la réutilisation des données n’est donc pas possible, le nommage personnalisé n’est pas applicable.

Mise en route

Ajoutez le package nuget noyau sémantique à votre projet.

dotnet add package Microsoft.SemanticKernel.Connectors.InMemory --prerelease

Vous pouvez ajouter le magasin de vecteurs au conteneur d’injection de dépendances disponible sur le KernelBuilder conteneur ou au conteneur d’injection de dépendances à l’aide IServiceCollection de méthodes d’extension fournies par le noyau sémantique.

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();

Vous pouvez construire une instance inMemory Vector Store directement.

using Microsoft.SemanticKernel.Connectors.InMemory;

var vectorStore = new InMemoryVectorStore();

Il est possible de construire une référence directe à une collection nommée.

using Microsoft.SemanticKernel.Connectors.InMemory;

var collection = new InMemoryVectorStoreRecordCollection<string, Hotel>("skhotels");

Bientôt disponible

Plus d’informations prochainement.

Bientôt disponible

Plus d’informations prochainement.