Delen via


De vluchtige connector (in-memory) gebruiken (preview)

Waarschuwing

De C# VolatileVectorStore is verouderd en is vervangen door een nieuw pakket. Zie InMemory-connector

Waarschuwing

De Semantische Kernel Vector Store-functionaliteit is in preview en verbeteringen waarvoor wijzigingen die fouten veroorzaken, kunnen nog steeds in beperkte omstandigheden optreden voordat ze worden uitgebracht.

Waarschuwing

De Semantische Kernel Vector Store-functionaliteit is in preview en verbeteringen waarvoor wijzigingen die fouten veroorzaken, kunnen nog steeds in beperkte omstandigheden optreden voordat ze worden uitgebracht.

Overzicht

De Volatile Vector Store-connector is een Vector Store-implementatie die wordt geleverd door Semantische kernel die geen externe database gebruikt en gegevens in het geheugen opslaat. Deze Vector Store is handig voor het maken van prototypen van scenario's of waar snelle in-memory bewerkingen vereist zijn.

De verbindingslijn heeft de volgende kenmerken.

Functiegebied Ondersteuning
Verzamelingstoewijzingen aan Woordenlijst in het geheugen
Ondersteunde sleuteleigenschapstypen Elk type dat kan worden vergeleken
Ondersteunde gegevenseigenschapstypen Elk type
Ondersteunde vectoreigenschappentypen ReadOnlyMemory<float>
Ondersteunde indextypen N.v.t.
Ondersteunde afstandsfuncties N.v.t.
Ondersteunt meerdere vectoren in een record Ja
Wordt Filterable ondersteund? Ja
WordtFullTextSearchable ondersteund? Ja
Ondersteunde StoragePropertyName? Nee, omdat opslag vluchtig is en gegevens hergebruiken daarom niet mogelijk is, is aangepaste naamgeving niet nuttig en wordt niet ondersteund.

Aan de slag

Voeg het nuget-pakket Semantic Kernel Core toe aan uw project.

dotnet add package Microsoft.SemanticKernel.Core

U kunt het vectorarchief toevoegen aan de container voor afhankelijkheidsinjectie die beschikbaar is op of KernelBuilder aan de IServiceCollection container voor afhankelijkheidsinjectie met behulp van extensiemethoden die worden geleverd door Semantische kernel.

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

U kunt rechtstreeks een Volatile Vector Store-exemplaar maken.

using Microsoft.SemanticKernel.Data;

var vectorStore = new VolatileVectorStore();

Het is mogelijk om een directe verwijzing naar een benoemde verzameling te maken.

using Microsoft.SemanticKernel.Data;

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

Aan de slag

Installeer semantische kernel.

pip install semantic-kernel

Vervolgens kunt u een vector store-exemplaar maken met behulp van de VolatileStore klasse.


from semantic_kernel.connectors.memory.volatile import VolatileStore

vector_store = VolatileStore()

U kunt ook rechtstreeks een verzameling maken.

from semantic_kernel.connectors.memory.volatile import VolatileCollection

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

Serialisatie

Omdat de Vluchtige connector een eenvoudige dict heeft als het interne opslagmechanisme, kan elk gegevensmodel worden opgeslagen dat kan worden geserialiseerd naar een dict.

Zie de serialisatiedocumentatie voor meer informatie over dit concept.

Aan de slag

Voeg de nieuwste versie van de Semantische Kernel-API toe aan uw Maven-project en voeg de volgende afhankelijkheid toe aan uw pom.xml:

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

Vervolgens kunt u een vector store-exemplaar maken met behulp van de VolatileVectorStore klasse.

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

U kunt ook rechtstreeks een verzameling maken.

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