共用方式為


使用 Volatile (記憶體內部) 連接器 (預覽)

警告

C# VolatileVectorStore 已過時,且已取代為新的套件。 請參閱 InMemory 連接器

警告

語意核心向量存放區功能處於預覽狀態,且需要重大變更的改善可能仍會在發行前有限的情況下發生。

警告

語意核心向量存放區功能處於預覽狀態,且需要重大變更的改善可能仍會在發行前有限的情況下發生。

概觀

Volatile Vector Store 連接器是由 Semantic Kernel 提供的向量存放區實作,不會使用外部資料庫,並將數據儲存在記憶體中。 此向量存放區適用於原型設計案例,或需要高速記憶體內部作業的情況。

連接器具有下列特性。

功能區域 支援
集合對應至 記憶體內部字典
支援的索引鍵屬性類型 可以比較的任何類型
支援的數據類型 任何型別
支援的向量屬性類型 ReadOnlyMemory<float>
支援的索引類型 N/A
支援的距離函式 N/A
支援記錄中的多個向量 Yes
是否支援IsFilterable? Yes
是否支援IsFullTextSearchable? Yes
支援的 StoragePropertyName? 否,因為記憶體是揮發性的,因此無法重複使用數據,所以自定義命名並不有用且不受支援。

開始使用

將 Semantic Kernel Core nuget 套件新增至您的專案。

dotnet add package Microsoft.SemanticKernel.Core

您可以使用 Semantic Kernel 所提供的擴充方法,將向量存放區新增至 IServiceCollectionKernelBuilder可用的相依性插入容器或相依性插入容器。

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

您可以直接建構 Volatile Vector Store 實例。

using Microsoft.SemanticKernel.Data;

var vectorStore = new VolatileVectorStore();

可以建構具名集合的直接參考。

using Microsoft.SemanticKernel.Data;

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

開始使用

安裝語意核心。

pip install semantic-kernel

然後,您可以使用 類別建立向量存放區實例 VolatileStore


from semantic_kernel.connectors.memory.volatile import VolatileStore

vector_store = VolatileStore()

您也可以直接建立集合。

from semantic_kernel.connectors.memory.volatile import VolatileCollection

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

序列化

由於 Volatile 連接器具有簡單的聽寫作為內部儲存機制,因此可以儲存可串行化為聽寫的任何數據模型。

如需此概念的詳細資訊,請參閱 串行化檔

開始使用

在 Maven 專案中加入最新版本的語意核心 API,將下列相依性新增至 :pom.xml

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

然後,您可以使用 類別建立向量存放區實例 VolatileVectorStore

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

您也可以直接建立集合。

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