Freigeben über


Verwenden des In-Memory-Connectors (Vorschau)

Warnung

Die Funktionalität des semantischen Kernelvektorspeichers befindet sich in der Vorschau, und Verbesserungen, die fehlerhafte Änderungen erfordern, können unter begrenzten Umständen noch vor der Veröffentlichung auftreten.

Übersicht

Der In-Memory-Vektorspeicher-Connector ist eine Vom semantischen Kernel bereitgestellte Vektorspeicherimplementierung, die keine externe Datenbank verwendet und Daten im Arbeitsspeicher speichert. Dieser Vektorspeicher ist nützlich für Prototypszenarien oder für Hochgeschwindigkeitsvorgänge im Arbeitsspeicher.

Der Verbinder weist die folgenden Merkmale auf.

Featurebereich Unterstützung
Auflistungszuordnungen Im Arbeitsspeicher gespeichertes Wörterbuch
Unterstützte Schlüsseleigenschaftentypen Jeder Typ, der verglichen werden kann
Unterstützte Datentypen für Datentypen Beliebiger Typ
Unterstützte Vektoreigenschaftentypen ReadOnlyMemory<float>
Unterstützte Indextypen N/V
Unterstützte Entfernungsfunktionen N/V
Unterstützt mehrere Vektoren in einem Datensatz Ja
IstFilterbar unterstützt? Ja
WirdFullTextSearchable unterstützt? Ja
StoragePropertyName wird unterstützt? Nein, da speicherinterne Speicher- und Datenwiederverwendung daher nicht möglich ist, ist die benutzerdefinierte Benennung nicht anwendbar.

Erste Schritte

Fügen Sie ihrem Projekt das Semantik Kernel Core-Nuget-Paket hinzu.

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

Sie können den Vektorspeicher dem Container zum Einfügen von Abhängigkeiten hinzufügen, der für den KernelBuilder Container für Abhängigkeitseinfügungen verfügbar ist, oder dem IServiceCollection Container zum Einfügen von Abhängigkeiten mithilfe von Erweiterungsmethoden, die vom semantischen Kernel bereitgestellt werden.

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

Sie können eine InMemory Vector Store-Instanz direkt erstellen.

using Microsoft.SemanticKernel.Connectors.InMemory;

var vectorStore = new InMemoryVectorStore();

Es ist möglich, einen direkten Verweis auf eine benannte Auflistung zu erstellen.

using Microsoft.SemanticKernel.Connectors.InMemory;

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

In Kürze verfügbar

Weitere Informationen werden in Kürze verfügbar sein.

In Kürze verfügbar

Weitere Informationen werden in Kürze verfügbar sein.