다음을 통해 공유


Volatile(메모리 내) 커넥터 사용(미리 보기)

Warning

C# VolatileVectorStore는 사용되지 않으며 새 패키지로 대체되었습니다. InMemory 커넥터 참조

Warning

의미 체계 커널 벡터 저장소 기능은 미리 보기 상태이며 릴리스 전에 제한된 상황에서도 호환성이 손상되는 변경이 필요한 개선 사항이 계속 발생할 수 있습니다.

Warning

의미 체계 커널 벡터 저장소 기능은 미리 보기 상태이며 릴리스 전에 제한된 상황에서도 호환성이 손상되는 변경이 필요한 개선 사항이 계속 발생할 수 있습니다.

개요

Volatile Vector Store 커넥터는 외부 데이터베이스를 사용하지 않고 메모리에 데이터를 저장하는 의미 체계 커널에서 제공하는 벡터 저장소 구현입니다. 이 벡터 저장소는 프로토타입 시나리오 또는 고속 메모리 내 작업이 필요한 경우에 유용합니다.

커넥터의 특징은 다음과 같습니다.

기능 영역 지원
컬렉션이 다음으로 매핑됩니다. 메모리 내 사전
지원되는 키 속성 형식 비교할 수 있는 모든 형식
지원되는 데이터 속성 형식 모든 형식
지원되는 벡터 속성 형식 ReadOnlyMemory<float>
지원되는 인덱스 형식 해당 없음
지원되는 거리 함수 해당 없음
레코드에서 여러 벡터를 지원합니다.
IsFilterable이 지원되는가요?
IsFullTextSearchable이 지원되나요?
StoragePropertyName이 지원되는가요? 아니요, 스토리지는 일시적이므로 데이터 재사용이 불가능하므로 사용자 지정 명명은 유용하지 않으며 지원되지 않습니다.

시작

의미 체계 커널 코어 nuget 패키지를 프로젝트에 추가합니다.

dotnet add package Microsoft.SemanticKernel.Core

의미 체계 커널에서 제공하는 확장 메서드를 사용하여 종속성 주입 컨테이너 또는 IServiceCollection 종속성 주입 컨테이너에 KernelBuilder 사용할 수 있는 종속성 주입 컨테이너에 벡터 저장소를 추가할 수 있습니다.

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 커넥터는 내부 스토리지 메커니즘으로 간단한 받아쓰기를 가지므로 받아쓰기로 직렬화할 수 있는 모든 데이터 모델을 저장할 수 있습니다.

이 개념에 대한 자세한 내용은 serialization 설명서를 참조 하세요.

시작

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