Volatile(메모리 내) 커넥터 사용(미리 보기)
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());