Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varning
C# VolatileVectorStore är föråldrad och har ersatts med ett nytt paket. Se InMemory Connector
Varning
Funktionen Semantic Kernel Vector Store är i förhandsversion, och förbättringar som kräver icke-bakåtkompatibla ändringar kan fortfarande ske under begränsade omständigheter före lanseringen.
Varning
Funktionen Semantic Kernel Vector Store är i förhandsversion, och förbättringar som kräver icke-bakåtkompatibla ändringar kan fortfarande ske under begränsade omständigheter före lanseringen.
Översikt
Anslutningsappen för flyktiga vektorlager är en Vector Store-implementering som tillhandahålls av semantisk kernel och som inte använder någon extern databas och lagrar data i minnet. Det här vektorarkivet är användbart för prototypscenarier eller där snabba minnesinterna åtgärder krävs.
Anslutningsappen har följande egenskaper.
Funktionsområde | Support |
---|---|
Samlingskartor till | Minnesintern ordlista |
Nyckelegenskapstyper som stöds | Alla typer som kan jämföras |
Dataegenskapstyper som stöds | Alla typer |
Egenskapstyper för vektorer som stöds | ReadOnlyMemory-flyttal<> |
Indextyper som stöds | Ej tillämpligt |
Avståndsfunktioner som stöds | Ej tillämpligt |
Stöder flera vektorer i en post | Ja |
Stöds IsFilterable? | Ja |
Stöds IsFullTextSearchable? | Ja |
Stöds StoragePropertyName? | Nej, eftersom lagring är instabilt och återanvändning av data därför inte är möjligt är anpassad namngivning inte användbar och stöds inte. |
Komma igång
Lägg till nuget-paketet Semantic Kernel Core i projektet.
dotnet add package Microsoft.SemanticKernel.Core
Du kan lägga till vektorlagret i den beroendeinmatningscontainer som är tillgänglig i containern KernelBuilder
eller till containern för IServiceCollection
beroendeinmatning med hjälp av tilläggsmetoder som tillhandahålls av semantisk 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();
Du kan skapa en Instans av flyktiga vektorlager direkt.
using Microsoft.SemanticKernel.Data;
var vectorStore = new VolatileVectorStore();
Det går att skapa en direktreferens till en namngiven samling.
using Microsoft.SemanticKernel.Data;
var collection = new VolatileVectorStoreRecordCollection<string, Hotel>("skhotels");
Komma igång
Installera semantisk kernel.
pip install semantic-kernel
Du kan sedan skapa en vektorlagringsinstans med hjälp av VolatileStore
klassen .
from semantic_kernel.connectors.memory.volatile import VolatileStore
vector_store = VolatileStore()
Du kan också skapa en samling direkt.
from semantic_kernel.connectors.memory.volatile import VolatileCollection
collection = VolatileCollection(collection_name="skhotels", data_model_type=Hotel)
Serialisering
Eftersom Den flyktiga anslutningsappen har en enkel diktering som intern lagringsmekanism kan den lagra alla datamodeller som kan serialiseras till en diktamen.
Mer information om det här konceptet finns i serialiseringsdokumentationen.
Komma igång
Inkludera den senaste versionen av Semantic Kernel-API:et i ditt Maven-projekt, lägg till följande beroende i :pom.xml
<dependency>
<groupId>com.microsoft.semantic-kernel</groupId>
<artifactId>semantickernel-api</artifactId>
<version>[LATEST]</version>
</dependency>
Du kan sedan skapa en vektorlagringsinstans med hjälp av VolatileVectorStore
klassen .
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();
}
}
Du kan också skapa en samling direkt.
var collection = new VolatileVectorStoreRecordCollection<>("skhotels",
VolatileVectorStoreRecordCollectionOptions.<Hotel>builder()
.withRecordClass(Hotel.class)
.build());