Freigeben über


Verwenden des veränderliche Konnektors (In-Memory) (Vorschau)

Warnung

Der C# VolatileVectorStore ist veraltet und wurde durch ein neues Paket ersetzt. Siehe InMemory Connector

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.

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 Connector für den Veränderliche Vektorspeicher ist eine Vector Store-Implementierung, die vom semantischen Kernel bereitgestellt wird, der 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 die Speicherung veränderlich ist und die Wiederverwendung von Daten daher nicht möglich ist, ist die benutzerdefinierte Benennung nicht nützlich und wird nicht unterstützt.

Erste Schritte

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

dotnet add package Microsoft.SemanticKernel.Core

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()
    .AddVolatileVectorStore();
using Microsoft.SemanticKernel;

// Using IServiceCollection with ASP.NET Core.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddVolatileVectorStore();

Sie können eine Veränderliche Vektorspeicherinstanz direkt erstellen.

using Microsoft.SemanticKernel.Data;

var vectorStore = new VolatileVectorStore();

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

using Microsoft.SemanticKernel.Data;

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

Erste Schritte

Installieren Sie den semantischen Kernel.

pip install semantic-kernel

Anschließend können Sie mithilfe der VolatileStore Klasse eine Vektorspeicherinstanz erstellen.


from semantic_kernel.connectors.memory.volatile import VolatileStore

vector_store = VolatileStore()

Sie können auch eine Sammlung direkt erstellen.

from semantic_kernel.connectors.memory.volatile import VolatileCollection

collection = VolatileCollection(collection_name="skhotels", data_model_type=Hotel)

Serialisierung

Da der veränderliche Connector ein einfaches Diktieren als interner Speichermechanismus hat, kann er jedes Datenmodell speichern, das in ein Diktieren serialisiert werden kann.

Weitere Informationen zu diesem Konzept finden Sie in der Serialisierungsdokumentation.

Erste Schritte

Fügen Sie die neueste Version der semantischen Kernel-API in Ihr Maven-Projekt ein, fügen Sie die folgende Abhängigkeit zu Ihrem pom.xmlhinzu:

<dependency>
    <groupId>com.microsoft.semantic-kernel</groupId>
    <artifactId>semantickernel-api</artifactId>
    <version>[LATEST]</version>
</dependency>

Anschließend können Sie mithilfe der VolatileVectorStore Klasse eine Vektorspeicherinstanz erstellen.

import com.microsoft.semantickernel.data.VolatileVectorStore;
import com.microsoft.semantickernel.data.VolatileVectorStoreRecordCollection;
import com.microsoft.semantickernel.data.VolatileVectorStoreRecordCollectionOptions;

public class Main {
    public static void main(String[] args) {
        // Build an Azure AI Search Vector Store
        var vectorStore = new VolatileVectorStore();
    }
}

Sie können auch eine Sammlung direkt erstellen.

var collection = new VolatileVectorStoreRecordCollection<>("skhotels",
        VolatileVectorStoreRecordCollectionOptions.<Hotel>builder()
                .withRecordClass(Hotel.class)
                .build());