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.xml
hinzu:
<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());