Integracje bazy wektorowej

Magazyny vector przechowują dane i ich wektorowe osadzanie razem, aby aplikacje mogły znaleźć rekordy według podobieństwa semantycznego. W aplikacjach Agent Framework można używać magazynów wektorowych do pobierania danych źródłowych na potrzeby generowania wspomaganego wyszukiwaniem (RAG) lub do przechowywania informacji, do których agent może później sięgnąć.

Abstrakcje magazynów wektorowych zapewniają typowe operacje dla kolekcji i rekordów, dzięki czemu logika aplikacji jest oddzielona od implementacji określonego magazynu wektorów. Możesz na przykład zacząć od lokalnej implementacji i przejść do usługi zarządzanej z minimalnymi zmianami.

Jak działają integracje z bazą wektorową

Typowy przepływ pracy magazynu wektorów obejmuje następujące kroki:

  1. Zdefiniuj model danych, który identyfikuje klucz rekordu, pola danych i pola wektorów.
  2. Skonfiguruj generator osadzania, jeśli magazyn wektorów nie generuje osadzania.
  3. Połącz się z magazynem wektorów i wybierz lub utwórz kolekcję.
  4. Wygeneruj embeddingi i wykonaj operację upsert na rekordach do kolekcji.
  5. Wyszukaj kolekcję przy użyciu tekstu lub wektora, w zależności od możliwości implementacji.
  6. Przekaż odpowiednie wyniki wyszukiwania agentowi jako kontekst lub udostępnij wyszukiwanie jako narzędzie dla agenta.

Obsługa magazynu wektorów .NET

Struktura agenta używa autonomicznych abstrakcji ekosystemu sztucznej inteligencji .NET:

  • Microsoft.Extensions.VectorData udostępnia wspólne interfejsy API magazynu wektorów, kolekcji, rekordów i wyszukiwania.
  • Microsoft.Extensions.AI zapewnia abstrakcje, takie jak IEmbeddingGenerator, do generowania osadzeń niezależnie od konkretnego dostawcy modelu.

Jeśli składnik Agent Framework akceptuje magazyn wektorowy, można podać zgodną implementację Microsoft.Extensions.VectorData. Każda implementacja bazy danych jest dystrybuowana oddzielnie od pakietu abstrakcji.

Podstawowe abstrakcje

Abstrakcja Purpose
VectorStore Udostępnia operacje między kolekcjami i tworzy typizowane wystąpienia kolekcji.
VectorStoreCollection<TKey, TRecord> Tworzy lub usuwa kolekcję oraz aktualizuje lub wstawia, pobiera albo usuwa jej rekordy.
IVectorSearchable<TRecord> Wyszukuje rekordy za pomocą wektora lub tekstu, gdy dostępny jest generator osadzeń albo możliwość generowania osadzeń po stronie bazy danych.

Dostępne implementacje magazynu wektorów

Poniższe implementacje używają typowych abstrakcji magazynu wektorów .NET. Przejrzyj dokumentację poszczególnych implementacji dla wersji pakietów, obsługiwanych typów danych i ograniczeń specyficznych dla usługi.

Implementation Availability Używa oficjalnie obsługiwanego zestawu SDK bazy danych Konserwator lub sprzedawca
Wyszukiwanie AI platformy Azure Available Yes Microsoft
Azure Cosmos DB for MongoDB vCore Available Yes Microsoft
Azure Cosmos DB dla baz danych NoSQL Available Yes Microsoft
Couchbase Available Yes Couchbase
Elasticsearch Available Yes Elastic
Chroma Zaplanowane Nie dotyczy Nie dotyczy
W pamięci Available Nie dotyczy Microsoft
Milvus Zaplanowane Nie dotyczy Nie dotyczy
MongoDB Available Yes Microsoft
Neon Serverless Postgres Korzystanie z implementacji bazy danych Postgres Yes Microsoft
Oracle Available Yes Oracle
Pinecone Available No Microsoft
Postgres Available Yes Microsoft
Qdrant Available Yes Microsoft
Redis Available Yes Microsoft
SQL Server Available Yes Microsoft
SQLite Available Yes Microsoft
Nietrwałe w pamięci Przestarzałe; użyj implementacji w pamięci Nie dotyczy Microsoft
Weaviate Available Yes Microsoft

Ważna

Implementacje magazynów wektorowych są rozwijane przez różnych opiekunów. Przed użyciem należy ocenić jakość, licencjonowanie, zasady pomocy technicznej i zgodność wersji każdej implementacji. Niektóre implementacje używają zestawów SDK baz danych, których dostawca bazy danych nie obsługuje oficjalnie.

Wprowadzenie

  1. Dodaj Microsoft.Extensions.VectorData.Abstractions pakiet oraz pakiet dla wybranej implementacji bazy wektorowej.
  2. Zdefiniuj typ rekordu i zidentyfikuj jego klucz, dane i właściwości wektora.
  3. Skonfiguruj IEmbeddingGenerator, jeśli implementacja wymaga osadzeń generowanych przez aplikację.
  4. Utwórz implementację VectorStore, a następnie pobierz silnie typizowany VectorStoreCollection<TKey, TRecord>.
  5. Upewnij się, że kolekcja istnieje, wstaw lub zaktualizuj rekordy i wywołaj SearchAsync z tekstem lub wektorem.

Aby uzyskać pełne wprowadzenie do modeli danych, pozyskiwania, osadzania i wyszukiwania, zobacz Vector databases for .NET AI apps (Bazy danych wektorów dla aplikacji sztucznej inteligencji).

Obsługa magazynu wektorowego w języku Python

Agent Framework zapewnia eksperymentalne, natywne kontrakty w Pythonie dla modeli magazynów wektorowych, operacji na kolekcjach, fabryk magazynów, wyszukiwania wektorowego i hybrydowego wyszukiwania słów kluczowych oraz narzędzi wyszukiwania agentów. Kontrakty są częścią agent-framework-core i nie wymagają bibliotek Pydantic, NumPy, pandas ani Semantic Kernel.

Warning

Natywne dla Pythona interfejsy API magazynu wektorowego są eksperymentalne. Przed uzyskaniem stabilności mogą wystąpić ograniczone zmiany powodujące niezgodność.

Podstawowe abstrakcje

Abstrakcja Purpose
VectorStoreField i VectorStoreCollectionDefinition Opisz pola klucza, danych i wektorowe, w tym nazwy magazynów danych, indeksy, wymiary i funkcje odległości.
@vectorstoremodel i register_vectorstoremodel() Rejestrowanie klas danych, modeli Pydantic, struktur msgspec, klas zwykłych lub typów modeli należących do zewnątrz.
BaseVectorCollection i SupportsVectorUpsert Definiowanie wsadowego upsertu, pobierania, usuwania, cyklu życia kolekcji, konwersji rekordów i opcjonalnego generowania embeddingów.
BaseVectorStore Definiuje repozytorium, które zawiera listę kolekcji i tworzy typowane klienty kolekcji.
BaseVectorSearch i SupportsVectorSearch Zdefiniuj wyszukiwanie wektorowe i hybrydowe słowo kluczowe, stronicowanie, filtry, progi wyników i wyniki wyszukiwania.
Filter, FilterGroupi Param Zdefiniuj przenośne filtry oparte wyłącznie na danych, w tym parametry filtrowania dostarczane przez model dla narzędzi wyszukiwania.
InMemoryStore i InMemoryCollection Zapewnij lokalne dla procesu operacje CRUD oraz przeszukiwanie liniowe na potrzeby programowania i testów.
GenerateVectors Określa, czy operacje upsert generują wszystkie, żadne czy wybrane pola wektorowe.
create_vector_search_tool(), create_upsert_tool(), create_get_tool()i create_delete_tool() Udostępnij wyszukiwanie wektorowe i operacje CRUD na kolekcjach jako narzędzia funkcji platformy Agent Framework.
VectorStoreHistoryProvider Przechowuje historię konwersacji ograniczoną do określonego zakresu w kolekcji należącej do dostawcy, z opcjonalną kompresją i przeszukiwaniem pełnej historii.
VectorCollectionContextProvider Dodaje konfigurowalne narzędzia CRUD i narzędzia wyszukiwania dla kolekcji należącej do wywołującego.

Poniższy przykład definiuje rekordy magazynu wektorów przez dodawanie adnotacji do ich kluczy, danych i pól wektorów:

# 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

Użyj VectorStoreCollectionDefinition bezpośrednio w słownikach. W przypadku typów modelu należących do innego pakietu użyj elementu register_vectorstoremodel() z jawną definicją oraz opcjonalnym enkoderem i dekoderem. Wartości wektorów tablicopodobnych są serializowane przez tolist() bez dodawania zależności od NumPy.

Struktura agenta obejmuje implementację w pamięci na potrzeby programowania i testów. Przechowuje rekordy w bieżącym procesie i stosuje skanowanie liniowe, więc do obciążeń produkcyjnych użyj konektora bazy danych.

Przekaż opcje osadzania dla każdej operacji

Przekaż embeddings_options do upsert(), aby zastosować opcje dostawcy do każdego wygenerowanego pola wektorowego. Użyj embeddings_options_by_field , gdy różne pola wektorów logicznych wymagają różnych opcji. Te dwa argumenty wykluczają się wzajemnie.

W przypadku osadzania zapytań przekaż embeddings_options do search() lub create_vector_search_tool(). Agent Framework przekazuje zadeklarowane wymiary wybranego pola wektorowego i odrzuca sprzeczną wartość dimensions przed wywołaniem dostawcy osadzeń.

Opcje osadzania upsert wymagają wygenerowanych wektorów i nie można ich połączyć z generate_vectors=False. Opcje osadzania wyszukiwania wymagają lokalnego generatora osadzania i są ignorowane podczas podawania wektora zapytania wstępnie skompilowanego.

Poniższy przykład przechowuje wstępnie skompilowane wektory i wyszukuje je za pomocą przenośnego drzewa filtrów:

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}")

Użyj Param polecenia , gdy model powinien podać wartość filtru. Jego typ Python, opis i ograniczenia stają się częścią schematu JSON narzędzia wyszukiwania:

# 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}."
    ),
)

Użyj kolekcji wektorów z agentem

Użyj VectorCollectionContextProvider , gdy aplikacja jest właścicielem kolekcji i modelu danych. Dostawca dodaje wygenerowane operacje CRUD i narzędzia do wyszukiwania. Operacje Upsert i Delete domyślnie wymagają akceptacji, natomiast Get i Search nie.

Przekaż scope_filter, aby pogrupować rekordy dla wygenerowanych narzędzi, ale nie traktuj filtru jako granicy autoryzacji ani gwarancji atomowości po stronie zaplecza. Narzędzia wyszukiwania przekazywane przez additional_search_tools zachowują własne filtry, dlatego podczas udostępniania kolekcji zastosuj równoważny filtr do każdego narzędzia niestandardowego.

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:

Przechowuj historię konwersacji w magazynie wektorowym

Użyj VectorStoreHistoryProvider, gdy dostawca powinien zarządzać schematem kolekcji oraz automatycznie ładować i zapisywać komunikaty struktury Agent Framework. Identyfikatory aplikacji, dzierżawcy, agenta, źródła i sesji zapobiegają ich przypadkowemu nakładaniu się, ale Twoja aplikacja nadal musi autoryzować dostęp i używać poświadczeń magazynu lub przestrzeni nazw o odpowiednim zakresie uprawnień.

Podczas konfigurowania osadzania podaj jawną nazwę kolekcji i wymiary osadzania. Kompaktowanie zmniejsza tylko historię załadowaną do kontekstu modelu. Jeśli włączysz narzędzie wyszukiwania, przeszukuje transkrypcję w pełnym zakresie.

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:

Implementacje platformy agentów natywnych

W poniższych implementacjach są używane natywne kontrakty platformy Agent Framework. Niektóre są również dostępne jako oddzielne łączniki Semantic Kernel, ale dwie rodziny łączników nie są wymienne.

Implementation Pakiet i cykl życia programu Agent Framework Oddzielny łącznik Semantic Kernel Tryby wyszukiwania Kluczowe ograniczenia
W pamięci agent-framework-core; wydano pakiet z eksperymentalnymi interfejsami API dla wektorów Dostępny Gęsty wektor z przenośnymi filtrami Lokalne skanowanie liniowe procesów na potrzeby programowania i testów, a nie produkcyjnej bazy danych.
Wyszukiwanie AI platformy Azure agent-framework-azure-ai-search; pakiet beta z eksperymentalnymi wektorowymi interfejsami API Dostępny Gęsty wektor i hybryda oparta na słowach kluczowych Jedno pole gęstego wektora najwyższego poziomu na zapytanie. Niektóre progi, hybrydowe mechanizmy sterujące odzyskiwaniem tekstu, ścisłe filtrowanie końcowe i uprawnienia wymagają obsługującego zestawu SDK/interfejsu API w wersji zapoznawczej oraz allow_preview=True.
Azure Cosmos DB for NoSQL agent-framework-azure-cosmos; pakiet beta z eksperymentalnymi wektorowymi interfejsami API Dostępny Gęsty wektor z przenośnymi filtrami Klucze muszą być ciągami przechowywanymi jako id, a kontenery używają /id klucza partycji. Wyszukiwanie słów kluczowych i hybrydowych nie jest obsługiwane, a wyszukiwanie euklidesowe nie obsługuje progów oceny.
Azure DocumentDB agent-framework-azure-documentdb; pakiet alfa Niedostępne Wektor gęsty z przenośnymi filtrami metadanych Klucze muszą być ciągami lub liczbami całkowitymi. Wygenerowane identyfikatory ObjectId, wyszukiwanie hybrydowe i pełnotekstowe oraz zagnieżdżone ścieżki filtrów nie są obsługiwane.
DuckDB agent-framework-duckdb; pakiet alfa Niedostępne Dokładny wektor gęsty z przenośnymi filtrami Wymaga Python 3.10+ i DuckDB 1.4.1–1.5.x. Przybliżone indeksy, wyszukiwanie kluczowe i hybrydowe, wyszukiwanie pełnotekstowe i wektoryzacja po stronie serwera nie są obsługiwane. Pliki lokalne umożliwiają tylko jeden proces zapisu naraz.
MongoDB agent-framework-mongodb; pakiet alfa Dostępny Przybliżony lub dokładny wektor gęsty z filtrami przenośnymi Wymaga narzędzia PyMongo 4.13.2 lub nowszego oraz wdrożenia z funkcją wyszukiwania wektorowego bazy danych MongoDB. Wyszukiwanie według słów kluczowych i hybrydowe, zagnieżdżone ścieżki filtrów, generowanie osadzeń po stronie dostawcy oraz automatyczna migracja schematu nie są obsługiwane. Modele, które deklarują is_full_text_indexed , są odrzucane, a nowo zapisane rekordy stają się przeszukiwalne asynchronicznie.
PostgreSQL z elementem pgvector agent-framework-postgres; pakiet alfa Dostępny Dokładny wektor gęsty, HNSW i IVFFlat Wymaga programu PostgreSQL 13+, pgvector 0.8.0+, istniejącego schematu i włączonego rozszerzenia. Wyszukiwanie słów kluczowych i hybrydowych nie jest obsługiwane.
Qdrant agent-framework-qdrant; pakiet alfa Dostępny Gęsty wektor z przenośnymi filtrami po stronie serwera Tryb serwera wymaga programu Qdrant 1.16.2 lub nowszego. Klucze muszą być niepodpisane 64-bitowymi liczbami całkowitymi lub identyfikatorami UUID. Wyszukiwanie słów kluczowych i hybrydowych nie jest obsługiwane, a filtry nie są dostępne w trybie lokalnego zestawu SDK.
Redis agent-framework-redis; pakiet beta z eksperymentalnymi wektorowymi interfejsami API Dostępny Wektor gęsty na rekordach HASH lub JSON Wymaga usługi Redis 8.0.3 lub nowszej z funkcją wyszukiwania; Rekordy JSON wymagają również formatu RedisJSON. Klaster Redis, wyszukiwanie słów kluczowych i wyszukiwanie hybrydowe nie są obsługiwane.
SQL Server agent-framework-sql-server; pakiet alfa Dostępny Dokładny wektor gęsty z przenośnymi filtrami Wymaga Python 3.10–3.14 i SQL Server 2025 lub bazy danych Azure SQL z obsługą wektorów. Przybliżone indeksy, wyszukiwanie kluczowe i hybrydowe, wektoryzacja po stronie serwera i migracja schematu nie są obsługiwane.

Zainstaluj pakiet łącznika wersji wstępnej dla używanej bazy danych:

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

Na Python 3.10 do 3.14 agent-framework-postgres instaluje dystrybucję binarną Psycopg. W systemie Python 3.15 lub nowszym jest używana wersja pure-Python Psycopg, ponieważ zgodne koła binarne nie są publikowane, dlatego host musi zapewnić instalację systemulibpq.

Każdy łącznik implementuje wspólny model, kolekcję, operację CRUD, filtr i kontrakty wyszukiwania. Nadal obowiązują funkcje i ograniczenia specyficzne dla bazy danych. Aby zapoznać się z kompletnymi przykładami, zobacz Wyszukiwanie AI platformy Azure, DuckDB, MongoDB vector operations, MongoDB agent RAG, Postgres, Qdrant, Redis i SQL Server przykłady.

Implementacje oparte wyłącznie na Semantic Kernel

Aplikacje mogą nadal bezpośrednio używać magazynów wektorowych w Pythonie platformy Semantic Kernel. Te implementacje używają oddzielnych kontraktów magazynu wektorów Semantic Kernel zamiast natywnych kontraktów platformy Agent Framework. Następujące implementacje nie mają obecnie natywnego łącznika platformy Agent Framework:

Implementation Availability Używa oficjalnie obsługiwanego zestawu SDK bazy danych Konserwator lub sprzedawca
Azure Cosmos DB for MongoDB vCore Available Yes projekt Microsoft Semantic Kernel
Chroma Available Yes projekt Microsoft Semantic Kernel
Elasticsearch Zaplanowane Nie dotyczy Nie dotyczy
Faiss Available Yes projekt Microsoft Semantic Kernel
Neon Serverless Postgres Korzystanie z implementacji bazy danych Postgres Yes projekt Microsoft Semantic Kernel
Oracle Available Yes Oracle
Pinecone Available Yes projekt Microsoft Semantic Kernel
SQLite Zaplanowane Nie dotyczy projekt Microsoft Semantic Kernel
Weaviate Available Yes projekt Microsoft Semantic Kernel

Ważna

Implementacje magazynów wektorowych są rozwijane przez różnych opiekunów. Przed użyciem należy ocenić jakość, licencjonowanie, zasady pomocy technicznej i zgodność wersji każdej implementacji.

Użyj implementacji opartej wyłącznie na Semantic Kernel

  1. Zainstaluj semantic-kernel i zależności wymagane przez wybraną implementację.
  2. Zdefiniuj model za pomocą dekoratora @vectorstoremodel i określ jego klucz, dane oraz pola wektorowe.
  3. Utwórz kolekcję specyficzną dla implementacji dla tego modelu.
  4. Upewnij się, że kolekcja istnieje, a następnie wstaw lub zaktualizuj rekordy.
  5. Użyj interfejsów API wyszukiwania kolekcji, aby pobrać rekordy dla aplikacji.

Aby zapoznać się z konfiguracją implementacji i kompletnymi przykładami, zobacz Semantic Kernel Vector Stores (Magazyny wektorów Semantic Kernel).

Obsługa magazynu wektorów dla Go

Integracja magazynu wektorowego nie jest jeszcze dostępna w programie Agent Framework for Go. Aktualny status znajdziesz w repozytorium Agent Framework dla Go.

Następne kroki