벡터 저장소 통합

벡터 저장소는 애플리케이션이 의미 체계 유사성을 통해 레코드를 찾을 수 있도록 데이터와 해당 벡터 포함을 함께 유지합니다. 에이전트 프레임워크 애플리케이션에서 벡터 저장소를 사용하여 RAG(검색 보강 세대)에 대한 접지 데이터를 검색하거나 에이전트가 나중에 회수할 수 있는 정보를 저장할 수 있습니다.

벡터 저장소 추상화는 컬렉션 및 레코드에 대한 일반적인 작업을 제공하여 애플리케이션 논리를 특정 벡터 저장소 구현과 분리된 상태로 유지합니다. 예를 들어 로컬 구현으로 시작하고 최소한의 변경으로 관리되는 서비스로 전환할 수 있습니다.

벡터 저장소 통합 작동 방식

일반적인 벡터 저장소 워크플로에는 다음 단계가 포함됩니다.

  1. 레코드 키, 데이터 필드 및 벡터 필드를 식별하는 데이터 모델을 정의합니다.
  2. 벡터 저장소가 포함을 생성하지 않는 경우 포함 생성기를 구성합니다.
  3. 벡터 저장소에 연결하고 컬렉션을 선택하거나 만듭니다.
  4. 임베딩을 생성하고 레코드를 컬렉션에 업서트합니다.
  5. 구현의 기능에 따라 텍스트 또는 벡터를 사용하여 컬렉션을 검색합니다.
  6. 관련 검색 결과를 컨텍스트로 에이전트에 전달하거나 에이전트 도구로 검색을 노출합니다.

.NET 벡터 저장소 지원

에이전트 프레임워크는 .NET AI 에코시스템의 독립 실행형 추상화에 사용합니다.

  • Microsoft.Extensions.VectorData 는 공통 벡터 저장소, 컬렉션, 레코드 및 검색 API를 제공합니다.
  • Microsoft.Extensions.AI는 특정 모델 제공업체에 종속되지 않고 임베딩을 생성하기 위한 IEmbeddingGenerator와 같은 추상화를 제공합니다.

에이전트 프레임워크 구성 요소가 벡터 저장소를 허용하는 경우 호환되는 Microsoft.Extensions.VectorData 구현을 제공할 수 있습니다. 각 데이터베이스 구현은 추상화 패키지와 별도로 배포됩니다.

핵심 추상화

추상화 Purpose
VectorStore 컬렉션에서 작업을 제공하고 형식화된 컬렉션 인스턴스를 만듭니다.
VectorStoreCollection<TKey, TRecord> 컬렉션을 생성하거나 삭제하고 해당 레코드를 삽입 또는 업데이트, 조회 또는 삭제합니다.
IVectorSearchable<TRecord> 포함 생성기 또는 데이터베이스 쪽 포함 기능을 사용할 수 있는 경우 벡터 또는 텍스트로 레코드를 검색합니다.

사용 가능한 벡터 저장소 구현

다음 구현에서는 일반적인 .NET 벡터 저장소 추상화 사용 합니다. 패키지 버전, 지원되는 데이터 형식 및 서비스별 제한 사항에 대한 각 구현의 설명서를 검토합니다.

Implementation Availability 공식적으로 지원되는 데이터베이스 SDK 사용 유지 관리자 또는 공급업체
Azure AI 검색 사용할 수 있음 예 마이크로소프트
MongoDB vCore에 대한 Azure Cosmos DB 사용할 수 있음 예 마이크로소프트
NoSQL용 Azure Cosmos DB 사용할 수 있음 예 마이크로소프트
Couchbase 사용할 수 있음 예 Couchbase
Elasticsearch 사용할 수 있음 예 Elastic
Chroma Planned 적용할 수 없음 적용할 수 없음
메모리 내 사용할 수 있음 적용할 수 없음 마이크로소프트
Milvus Planned 적용할 수 없음 적용할 수 없음
MongoDB 사용할 수 있음 예 마이크로소프트
Neon Serverless Postgres Postgres 구현 사용 예 마이크로소프트
Oracle 사용할 수 있음 예 Oracle
파인콘 사용할 수 있음 No 마이크로소프트
Postgres 사용할 수 있음 예 마이크로소프트
Qdrant 사용할 수 있음 예 마이크로소프트
레디스 사용할 수 있음 예 마이크로소프트
SQL Server 사용할 수 있음 예 마이크로소프트
SQLite 사용할 수 있음 예 마이크로소프트
메모리 내 휘발성 사용되지 않음; 메모리 내 구현 사용 적용할 수 없음 마이크로소프트
Weaviate 사용할 수 있음 예 마이크로소프트

Important

벡터 저장소 구현은 여러 유지 관리자에서 제공됩니다. 사용하기 전에 각 구현의 품질, 라이선스, 지원 정책 및 버전 호환성을 평가합니다. 일부 구현에서는 데이터베이스 공급자가 공식적으로 지원하지 않는 데이터베이스 SDK를 사용합니다.

Get started

  1. 추가합니다. Microsoft.Extensions.VectorData.Abstractions 패키지 및 선택한 벡터 저장소 구현에 대한 패키지입니다.
  2. 레코드 형식을 정의하고 키, 데이터 및 벡터 속성을 식별합니다.
  3. 구현에 애플리케이션에서 생성된 임베딩이 필요한 경우 IEmbeddingGenerator를 구성하세요.
  4. 구현 VectorStore을 만든 다음 형식화된 VectorStoreCollection<TKey, TRecord>을 가져옵니다.
  5. 컬렉션이 존재하는지 확인하고, 레코드를 업서트하고, 텍스트 또는 벡터와 함께 SearchAsync를 호출합니다.

데이터 모델, 수집, 포함 및 검색에 대한 전체 소개는 .NET AI 앱에 대한 벡터 데이터베이스를 참조하세요.

Python 벡터 저장소 지원

Agent Framework는 벡터 저장소 모델, 컬렉션 작업, 저장소 팩터리, 벡터 및 키워드 하이브리드 검색 및 에이전트 검색 도구에 대한 실험적인 네이티브 Python 계약을 제공합니다. 계약은 agent-framework-core의 일부이며 Pydantic, NumPy, pandas 또는 의미 체계 커널이 필요하지 않습니다.

Warning

네이티브 Python 벡터 저장소 API는 실험적입니다. 안정화되기 전에 일부 호환성이 깨지는 변경 사항이 발생할 수 있습니다.

핵심 추상화

추상화 Purpose
VectorStoreField 및 VectorStoreCollectionDefinition 스토리지 이름, 인덱스, 차원 및 거리 함수를 비롯한 키, 데이터 및 벡터 필드를 설명합니다.
@vectorstoremodel 및 register_vectorstoremodel() 데이터 클래스, Pydantic 모델, msgspec 구조체, 일반 클래스 또는 외부 소유 모델 형식을 등록합니다.
BaseVectorCollection 및 SupportsVectorUpsert 일괄 업서트, 가져오기, 삭제, 컬렉션 수명 주기, 레코드 변환 및 선택적 임베딩 생성을 정의합니다.
BaseVectorStore 컬렉션을 나열하고 형식화된 컬렉션 클라이언트를 만드는 저장소를 정의합니다.
BaseVectorSearch 및 SupportsVectorSearch 벡터 및 키워드 하이브리드 검색, 페이징, 필터, 점수 임계값 및 검색 결과를 정의합니다.
Filter, FilterGroup 및 Param 검색 도구에 대한 모델 제공 필터 매개 변수를 포함하여 이식 가능한 데이터 전용 필터를 정의합니다.
InMemoryStore 및 InMemoryCollection 개발 및 테스트에 대한 프로세스 로컬 CRUD 및 선형 검색 검색을 제공합니다.
GenerateVectors upsert가 모든 벡터 필드, 없음 또는 선택한 벡터 필드를 생성하는지 여부를 제어합니다.
create_vector_search_tool(), create_upsert_tool(), create_get_tool() 및 create_delete_tool() 에이전트 프레임워크 함수 도구로 벡터 검색 및 수집 CRUD 작업을 노출합니다.
VectorStoreHistoryProvider 선택적 압축 및 전체 기록 검색을 사용하여 범위가 지정된 대화 기록을 공급자 소유 컬렉션에 저장합니다.
VectorCollectionContextProvider 호출자 소유 컬렉션에 대한 구성 가능한 CRUD 및 검색 도구를 추가합니다.

다음 샘플에서는 키, 데이터 및 벡터 필드에 주석을 추가하여 벡터 저장소 레코드를 정의합니다.

# 5. Dataclasses use the default registered codec.
@vectorstoremodel(collection_name="hotels")
@dataclass
class Hotel:
    hotel_id: Annotated[str, VectorStoreField("key")]
    name: Annotated[str, VectorStoreField("data", is_indexed=True)]
    description: Annotated[
        str | list[float] | None,
        VectorStoreField("vector", dimensions=3, distance_function="cosine_similarity"),
    ] = None


# 6. Pydantic models provide validation with additional round-trip cost.
@vectorstoremodel(collection_name="products")
class Product(BaseModel):
    product_id: Annotated[str, VectorStoreField("key")]
    name: Annotated[str, VectorStoreField("data", is_full_text_indexed=True)]
    vector: Annotated[list[float] | None, VectorStoreField("vector", dimensions=3)] = None

딕셔너리에는 VectorStoreCollectionDefinition를 직접 사용하세요. 다른 패키지가 소유한 모델 형식의 경우 명시적 정의 및 선택적 인코더 및 디코더와 함께 사용합니다 register_vectorstoremodel() . 배열과 유사한 벡터 값은 NumPy 의존성을 추가하지 않고 tolist()를 통해 직렬화됩니다.

에이전트 프레임워크에는 개발 및 테스트를 위한 메모리 내 구현이 포함되어 있습니다. 현재 프로세스에 레코드를 저장하고 선형 검사를 사용하므로 프로덕션 워크로드에 데이터베이스 커넥터를 사용합니다.

각 작업에 임베딩 옵션 전달

생성된 모든 벡터 필드에 프로바이더 옵션을 적용하려면 upsert()을(를) embeddings_options에 전달합니다. 다른 논리 벡터 필드에 다른 옵션이 필요한 경우에 사용합니다 embeddings_options_by_field . 이 두 인수는 상호 배타적입니다.

쿼리 임베딩의 경우 embeddings_options을(를) search() 또는 create_vector_search_tool()에 전달합니다. Agent Framework는 선택한 벡터 필드의 선언된 차원을 제공하고 포함 공급자를 호출하기 전에 충돌하는 dimensions 값을 거부합니다.

Upsert 임베딩 옵션에는 생성된 벡터가 필요하며 generate_vectors=False와(과) 함께 사용할 수 없습니다. 검색 포함 옵션에는 로컬 포함 생성기가 필요하며 미리 계산된 쿼리 벡터를 제공할 때 무시됩니다.

다음 샘플에서는 미리 계산된 벡터를 저장하고 이식 가능한 필터 트리를 사용하여 검색합니다.

import asyncio
from dataclasses import dataclass
from typing import Annotated

from agent_framework import Filter, FilterGroup, InMemoryCollection, VectorStoreField, vectorstoremodel
@vectorstoremodel(collection_name="hotels")
@dataclass
class Hotel:
    hotel_id: Annotated[str, VectorStoreField("key")]
    name: Annotated[str, VectorStoreField("data")]
    city: Annotated[str, VectorStoreField("data")]
    rating: Annotated[float, VectorStoreField("data")]
    amenities: Annotated[list[str], VectorStoreField("data")]
    vector: Annotated[
        list[float] | None,
        VectorStoreField("vector", dimensions=2, distance_function="cosine_similarity"),
    ] = None


async def main() -> None:
    """Store precomputed vectors and search them with direct filters."""
    collection: InMemoryCollection[str, Hotel] = InMemoryCollection(Hotel)
    await collection.ensure_collection_exists()

    # 1. The sample already has vectors, so generation is disabled explicitly.
    await collection.upsert(
        [
            Hotel("hotel-1", "Harbor View", "Lisbon", 4.8, ["wifi", "pool"], [1.0, 0.1]),
            Hotel("hotel-2", "Old Town Rooms", "Lisbon", 4.1, ["wifi"], [0.8, 0.2]),
            Hotel("hotel-3", "City Center", "Seattle", 4.7, ["wifi", "gym"], [0.1, 1.0]),
        ],
        generate_vectors=False,
    )

    # 2. Filter values are ordinary data. No Python source is parsed or executed.
    search_filter = FilterGroup(
        "and",
        (
            Filter("city", "eq", "Lisbon"),
            Filter("rating", "between", (4.5, 5.0)),
            Filter("amenities", "contains", "pool"),
        ),
    )
    results = await collection.search(
        vector=[1.0, 0.0],
        filter=search_filter,
        top=5,
    )

    # 3. Search results are consumed asynchronously.
    async for result in results:
        print(f"{result['record'].name}: {result['score']:.3f}")

모델에서 필터 값을 제공해야 하는 경우에 사용합니다 Param . Python 형식, 설명 및 제약 조건은 검색 도구의 JSON 스키마에 포함됩니다.

# 2. Param values become optional model-visible filter arguments.
# When the allowed values are known, use Literal so the tool schema exposes
# them as an enum.
category = Param(
    "category",
    Literal["Boutique", "Budget", "Extended-Stay", "Luxury", "Resort and Spa", "Suite"],
    description="Only return hotels in this category.",
)
min_rating = Param(
    "min_rating",
    float,
    description="The minimum guest rating.",
    minimum=0,
    maximum=5,
)
tool = create_vector_search_tool(
    collection,
    description="Search the hotel dataset, optionally filtering by category and minimum rating.",
    filter=FilterGroup(
        "and",
        (
            Filter("category", "eq", category),
            Filter("rating", "gte", min_rating),
        ),
    ),
    result_mapper=lambda result: (
        f"(hotel_id: {result['record'].hotel_id}) {result['record'].hotel_name} "
        f"(rating {result['record'].rating}) - {result['record'].description}. "
        f"Address: {result['record'].address.city}, {result['record'].address.country}."
    ),
)

에이전트와 함께 벡터 컬렉션 사용

애플리케이션이 컬렉션 및 데이터 모델을 소유할 때 사용합니다 VectorCollectionContextProvider . 공급자는 생성된 CRUD 및 검색 도구를 추가합니다. Upsert 및 delete는 기본적으로 승인이 필요하지만 get 및 search는 그렇지 않습니다.

생성된 도구에 대해 레코드를 그룹화하려면 scope_filter를 전달하되, 필터를 권한 부여 경계나 원자적 백엔드 보장으로 간주하지 마세요. 전달된 additional_search_tools 검색 도구는 자체 필터를 유지하므로 컬렉션을 공유할 때 각 사용자 지정 도구에 동일한 필터를 적용합니다.

collection: InMemoryCollection[str, ProjectNote] = InMemoryCollection(
    ProjectNote,
    embedding_generator=OpenAIEmbeddingClient(
        model="text-embedding-3-small",
    ),
)
await collection.ensure_collection_exists()

# Omitted mapping entries keep their safe defaults. This sample disables
# approval for upsert so the scripted interaction can run unattended;
# delete still requires approval, while get and search remain read-only.
collection_context = VectorCollectionContextProvider(
    collection,
    # This process-local collection contains records for only this sample.
    scope_filter=None,
    approval_mode={"upsert": "never_require"},
)

async with Agent(
    client=OpenAIChatClient(model="gpt-5.4-nano"),
    name="ProjectNotesAssistant",
    instructions="Use the collection tools to manage project notes. Do not invent stored notes.",
    context_providers=[collection_context],
) as agent:

벡터 저장소에 대화 기록 저장

공급자가 컬렉션 스키마를 소유하고 에이전트 프레임워크 메시지를 자동으로 로드 및 저장해야 하는 경우에 사용합니다 VectorStoreHistoryProvider . 애플리케이션, 테넌트, 에이전트, 원본 및 세션 식별자는 실수로 겹치는 것을 방지하지만 애플리케이션은 여전히 액세스 권한을 부여하고 적절한 범위의 저장소 자격 증명 또는 네임스페이스를 사용해야 합니다.

임베딩을 구성할 때 명시적인 컬렉션 이름과 임베딩 차원을 지정하세요. 압축은 모델 컨텍스트에 로드된 기록만 줄입니다. 검색 도구를 사용하도록 설정하면 전체 범위의 대본을 검색합니다.

history = VectorStoreHistoryProvider(
    InMemoryStore(),
    application_id="release-planning",
    tenant_id="contoso",
    agent_id="release-assistant",
    collection_name="release_planning_history_text_embedding_3_small",
    contents_format="json",
    embedding_generator=OpenAIEmbeddingClient(
        model="text-embedding-3-small",
    ),
    embedding_options={
        "dimensions": 1536,
        "encoding_format": "float",
    },
    compaction_strategy=SlidingWindowStrategy(
        keep_last_groups=2,
        preserve_system=True,
    ),
    include_search_tool=True,
)

# 2. Only the compacted projection is loaded into the model context. The
#    provider-owned search tool can still retrieve older scoped messages.
async with Agent(
    client=OpenAIChatClient(model="gpt-5.4-nano"),
    name="ReleaseAssistant",
    instructions=(
        "Help with release planning. Use the history search tool when an "
        "older detail is not present in the loaded conversation."
    ),
    context_providers=[history],
) as agent:

네이티브 에이전트 프레임워크 구현

다음 구현에서는 네이티브 에이전트 프레임워크 계약을 사용합니다. 일부는 별도의 의미 체계 커널 커넥터로도 사용할 수 있지만 두 커넥터 패밀리는 서로 교환할 수 없습니다.

Implementation 에이전트 프레임워크 패키지 및 수명 주기 별도의 의미 체계 커널 커넥터 검색 모드 주요 제한 사항
메모리 내 agent-framework-core; 실험적 벡터 API를 사용하여 릴리스된 패키지 가능 이식 가능한 필터가 있는 조밀한 벡터 프로덕션 데이터베이스가 아닌 개발 및 테스트를 위한 프로세스 로컬 선형 검사입니다.
Azure AI 검색 agent-framework-azure-ai-search; 실험적 벡터 API를 사용하여 베타 패키지 가능 밀집 벡터 및 키워드 하이브리드 쿼리당 최상위 수준의 조밀한 벡터 필드 1개. 일부 임계값, 하이브리드 텍스트 재현율 제어, 엄격한 사후 필터링 및 사용 권한에는 이를 지원하는 미리 보기 SDK/API 및 allow_preview=True가 필요합니다.
NoSQL을 위한 Azure Cosmos DB agent-framework-azure-cosmos; 실험적 벡터 API를 사용하여 베타 패키지 가능 이식 가능한 필터가 있는 조밀한 벡터 키는 문자열로 id저장되어야 하며 컨테이너는 파티션 키를 사용합니다 /id . 키워드 및 하이브리드 검색은 지원되지 않으며 Euclidean 검색은 점수 임계값을 지원하지 않습니다.
Azure DocumentDB agent-framework-azure-documentdb; 알파 패키지 사용할 수 없음 이식 가능한 메타데이터 필터가 있는 조밀한 벡터 키는 문자열 또는 정수여야 합니다. 생성된 ObjectId, 하이브리드 및 전체 텍스트 검색 및 중첩된 필터 경로는 지원되지 않습니다.
DuckDB agent-framework-duckdb; 알파 패키지 사용할 수 없음 이식 가능한 필터가 있는 정확한 조밀한 벡터 Python 3.10 이상 및 DuckDB 1.4.1–1.5.x가 필요합니다. 대략적인 인덱스, 키워드 및 하이브리드 검색, 전체 텍스트 검색 및 서버 쪽 벡터화는 지원되지 않습니다. 로컬 파일은 한 번에 하나의 쓰기 프로세스만 허용합니다.
MongoDB agent-framework-mongodb; 알파 패키지 가능 이식 가능한 필터가 있는 대략적이거나 정확한 조밀한 벡터 PyMongo 4.13.2 이상 및 MongoDB Vector Search를 사용하여 배포해야 합니다. 키워드 및 하이브리드 검색, 중첩된 필터 경로, 공급자 쪽 포함 생성 및 자동 스키마 마이그레이션은 지원되지 않습니다. 선언 is_full_text_indexed 하는 모델은 거부되고 새로 작성된 레코드는 비동기적으로 검색할 수 있습니다.
pgvector를 사용하는 PostgreSQL agent-framework-postgres; 알파 패키지 가능 정확한 밀집 벡터, HNSW, IVFFlat PostgreSQL 13 이상, pgvector 0.8.0 이상, 기존 스키마 및 사용 가능한 확장이 필요합니다. 키워드 및 하이브리드 검색은 지원되지 않습니다.
Qdrant agent-framework-qdrant; 알파 패키지 가능 서버 쪽 이식 가능한 필터가 있는 조밀한 벡터 서버 모드에는 Qdrant 1.16.2 이상이 필요합니다. 키는 부호 없는 64비트 정수 또는 UUID여야 합니다. 키워드 및 하이브리드 검색은 지원되지 않으며 로컬 SDK 모드에서는 필터를 사용할 수 없습니다.
Redis agent-framework-redis; 실험적 벡터 API를 사용하여 베타 패키지 가능 HASH 또는 JSON 레코드에 대한 조밀한 벡터 검색을 사용하는 Redis 8.0.3 이상이 필요합니다. JSON 레코드에는 RedisJSON도 필요합니다. Redis 클러스터, 키워드 검색 및 하이브리드 검색은 지원되지 않습니다.
SQL Server agent-framework-sql-server; 알파 패키지 가능 이식 가능한 필터가 있는 정확한 조밀한 벡터 Python 3.10-3.14 및 SQL Server 2025 또는 벡터 사용 Azure SQL 데이터베이스가 필요합니다. 대략적인 인덱스, 키워드 및 하이브리드 검색, 서버 쪽 벡터화 및 스키마 마이그레이션은 지원되지 않습니다.

사용하는 데이터베이스에 대한 시험판 커넥터 패키지를 설치합니다.

pip install agent-framework-azure-ai-search --pre
pip install agent-framework-azure-cosmos --pre
pip install agent-framework-azure-documentdb --pre
pip install agent-framework-duckdb --pre
pip install agent-framework-mongodb --pre
pip install agent-framework-postgres --pre
pip install agent-framework-qdrant --pre
pip install agent-framework-redis --pre
pip install agent-framework-sql-server --pre

Python 3.10~3.14에서는 agent-framework-postgres가 Psycopg의 바이너리 배포판을 설치합니다. Python 3.15 이상에서는 호환되는 이진 휠이 게시되지 않으므로 순수 Python Psycopg를 사용하므로 호스트는 시스템 libpq 설치를 제공해야 합니다.

각 커넥터는 공통 모델, 컬렉션, CRUD, 필터 및 검색 계약을 구현합니다. 데이터베이스 관련 기능 및 제한 사항은 여전히 적용됩니다. 전체 예제는 Azure AI 검색, DuckDB, MongoDB 벡터 작업, MongoDB 에이전트 RAG, Postgres, Qdrant, Redis 및 SQL Server 샘플을 참조하세요.

의미 체계 커널 전용 구현

애플리케이션은 계속해서 의미 체계 커널 Python 벡터 저장소를 직접 사용할 수 있습니다. 이러한 구현은 네이티브 에이전트 프레임워크 계약이 아닌 별도의 의미 체계 커널 벡터 저장소 계약을 사용합니다. 다음 구현에는 현재 네이티브 에이전트 프레임워크 커넥터가 없습니다.

Implementation Availability 공식적으로 지원되는 데이터베이스 SDK 사용 유지 관리자 또는 공급업체
MongoDB vCore에 대한 Azure Cosmos DB 사용할 수 있음 예 Microsoft 의미 체계 커널 프로젝트
크로마 사용할 수 있음 예 Microsoft 의미 체계 커널 프로젝트
Elasticsearch Planned 적용할 수 없음 적용할 수 없음
파이스(Faiss) 사용할 수 있음 예 Microsoft 의미 체계 커널 프로젝트
Neon Serverless Postgres Postgres 구현 사용 예 Microsoft 의미 체계 커널 프로젝트
Oracle 사용할 수 있음 예 Oracle
파인콘 사용할 수 있음 예 Microsoft 의미 체계 커널 프로젝트
SQLite Planned 적용할 수 없음 Microsoft 의미 체계 커널 프로젝트
Weaviate 사용할 수 있음 예 Microsoft 의미 체계 커널 프로젝트

Important

벡터 저장소 구현은 여러 유지 관리자에서 제공됩니다. 사용하기 전에 각 구현의 품질, 라이선스, 지원 정책 및 버전 호환성을 평가합니다.

의미 체계 커널 전용 구현 사용

  1. semantic-kernel 및 선택한 구현에 필요한 종속성을 설치합니다.
  2. 데코레이터를 사용하여 모델을 @vectorstoremodel 정의하고 키, 데이터 및 벡터 필드를 식별합니다.
  3. 해당 모델에 대한 구현별 컬렉션을 만듭니다.
  4. 컬렉션이 존재하는지 확인한 후 레코드를 삽입하거나 업데이트합니다.
  5. 컬렉션의 검색 API를 사용하여 애플리케이션에 대한 레코드를 검색합니다.

구현 설정 및 전체 예제는 의미 체계 커널 벡터 저장소를 참조하세요.

Go 벡터 저장소 지원

벡터 저장소 통합은 아직 Agent Framework for Go에서 사용할 수 없습니다. 최신 상태는 에이전트 프레임워크 Go 리포지토리 를 참조하세요.

다음 단계