تكاملات مخزن المتجهات

تحتفظ مخازن المتجهات بالبيانات وتضمين المتجهات معا حتى تتمكن التطبيقات من العثور على السجلات عن طريق التشابه الدلالي. في تطبيقات Agent Framework، يمكنك استخدام مخازن المتجهات لاسترداد بيانات الأساس ل Retrieval Augmented Generation (RAG) أو لتخزين المعلومات التي يمكن للعامل استدعاءها لاحقا.

توفر تجريدات مخزن المتجهات عمليات شائعة للمجموعات والسجلات، مع الاحتفاظ بمنطق التطبيق الخاص بك منفصلا عن تنفيذ مخزن المتجهات المحدد. يمكنك، على سبيل المثال، البدء بتنفيذ محلي والتبديل إلى خدمة مدارة بأقل قدر من التغييرات.

كيفية عمل عمليات تكامل مخزن المتجهات

يتضمن سير عمل مخزن المتجهات النموذجي الخطوات التالية:

  1. تعريف نموذج بيانات يحدد مفتاح السجل وحقول البيانات وحقول المتجهات.
  2. قم بتكوين منشئ تضمين إذا لم ينشئ مخزن المتجهات عمليات تضمين.
  3. اتصل بمخزن متجهات وحدد مجموعة أو أنشئها.
  4. إنشاء تضمينات وتسجيلات upsert في المجموعة.
  5. ابحث في المجموعة باستخدام نص أو متجه، اعتمادا على قدرات التنفيذ.
  6. قم بتمرير نتائج البحث ذات الصلة إلى عامل كسياق أو عرض البحث كأداة عامل.

دعم مخزن المتجهات .NET

يستخدم إطار عمل العامل التجريدات المستقلة للنظام البنائي للذكاء الاصطناعي .NET:

  • Microsoft.Extensions.VectorData يوفر مخزن المتجهات الشائعة، والمجموعة، والسجل، وواجهات برمجة التطبيقات للبحث.
  • Microsoft.Extensions.AI يوفر تجريدات مثل IEmbeddingGenerator لإنشاء التضمينات بشكل مستقل عن موفر نموذج معين.

حيث يقبل مكون إطار عمل العامل مخزن متجهات، يمكنك توفير تنفيذ متوافق Microsoft.Extensions.VectorData . يتم توزيع كل تطبيق قاعدة بيانات بشكل منفصل عن حزمة التجريدات.

التجريدات الأساسية

تجريد الغرض
VectorStore يوفر عمليات عبر المجموعات وينشئ مثيلات مجموعة مكتوبة.
VectorStoreCollection<TKey, TRecord> إنشاء مجموعة أو حذفها وتكبير سجلاتها أو استردادها أو حذفها.
IVectorSearchable<TRecord> البحث في السجلات حسب المتجه أو النص عند توفر منشئ تضمين أو إمكانية تضمين من جانب قاعدة البيانات.

تطبيقات مخزن المتجهات المتوفرة

تستخدم عمليات التنفيذ التالية تجريدات مخزن المتجهات .NET الشائعة. راجع وثائق كل تطبيق لإصدارات الحزمة وأنواع البيانات المدعومة والقيود الخاصة بالخدمة.

التنفيذ Availability يستخدم قاعدة بيانات مدعومة رسميا SDK مشرف أو مورد
Azure بحث الذكاء الاصطناعي المتوفر ‏‏نعم‬ Microsoft
Azure Cosmos DB ل MongoDB vCore المتوفر ‏‏نعم‬ Microsoft
قاعدة بيانات Azure Cosmos لـ NoSQL المتوفر ‏‏نعم‬ Microsoft
قاعدة الأريكة المتوفر ‏‏نعم‬ Couchbase
ElasticSearch المتوفر ‏‏نعم‬ Elastic
صفاء مخطط له غير متوفر غير متوفر
في الذاكرة المتوفر غير متوفر Microsoft
ميلفوس مخطط له غير متوفر غير متوفر
MongoDB المتوفر ‏‏نعم‬ Microsoft
Postgres بدون خادم نيون استخدام تطبيق Postgres ‏‏نعم‬ Microsoft
اوراكل المتوفر ‏‏نعم‬ اوراكل
الصنوبر المتوفر لا. Microsoft
Postgres المتوفر ‏‏نعم‬ Microsoft
Qdrant المتوفر ‏‏نعم‬ Microsoft
Redis المتوفر ‏‏نعم‬ Microsoft
SQL Server المتوفر ‏‏نعم‬ Microsoft
SQLite المتوفر ‏‏نعم‬ Microsoft
متقلب في الذاكرة مهمل؛ استخدام التنفيذ في الذاكرة غير متوفر Microsoft
النسيج المتوفر ‏‏نعم‬ Microsoft

مهم

تأتي تطبيقات مخزن المتجهات من العديد من القائمين على الصيانة. قم بتقييم جودة كل تطبيق وترخيصه ونهج الدعم وتوافق الإصدار قبل استخدامه. تستخدم بعض عمليات التنفيذ قاعدة البيانات SDKs التي لا يدعمها موفر قاعدة البيانات رسميا.

الشروع في العمل

  1. إضافة Microsoft.Extensions.VectorData.Abstractions الحزمة والحزمة لتنفيذ مخزن المتجهات الذي اخترته.
  2. حدد نوع السجل وحدد خصائص المفتاح والبيانات والمتجه الخاصة به.
  3. تكوين IEmbeddingGenerator إذا كان التنفيذ الخاص بك يتطلب تضمينات تم إنشاؤها بواسطة التطبيق.
  4. قم بإنشاء التطبيق VectorStore، ثم احصل على مكتوب .VectorStoreCollection<TKey, TRecord>
  5. تأكد من وجود المجموعة، ومتابعة السجلات، واستدعاء SearchAsync مع نص أو متجه.

للحصول على مقدمة كاملة لنماذج البيانات والاستيعاب والتضمين والبحث، راجع قواعد بيانات المتجهات لتطبيقات الذكاء الاصطناعي .NET.

دعم مخزن المتجهات Python

يوفر إطار عمل العامل عقود Python تجريبية أصلية لنماذج مخزن المتجهات وعمليات التجميع ومصانع المتاجر والبحث المتجه والبحث المختلط للكلمات الأساسية وأدوات بحث العامل. العقود هي جزء من agent-framework-core ولا تتطلب Pydantic أو NumPy أو pandas أو نواة دلالية.

التحذير

واجهات برمجة تطبيقات مخزن المتجهات Python الأصلية تجريبية. قد تحدث تغييرات كسر محدودة قبل أن تصبح مستقرة.

التجريدات الأساسية

تجريد الغرض
VectorStoreField وVectorStoreCollectionDefinition وصف حقول المفاتيح والبيانات والمتجهات، بما في ذلك أسماء التخزين والفهارس والأبعاد ووظائف المسافة.
@vectorstoremodel وregister_vectorstoremodel() تسجيل فئات البيانات أو النماذج Pydantic أو بنيات msgspec أو الفئات العادية أو أنواع النماذج المملوكة خارجيا.
BaseVectorCollection وSupportsVectorUpsert تعريف batch upsert والحصول عليها وحذفها ودورة حياة المجموعة وتحويل السجل وإنشاء التضمين الاختياري.
BaseVectorStore تعريف مخزن يسرد المجموعات وينشئ عملاء مجموعة مكتوبة.
BaseVectorSearch وSupportsVectorSearch تعريف البحث المتجه والكلمة الأساسية المختلطة، والترحيل، وعوامل التصفية، عتبات النقاط، ونتائج البحث.
Filter وFilterGroup وParam تعريف عوامل التصفية المحمولة للبيانات فقط، بما في ذلك معلمات التصفية التي يوفرها النموذج لأدوات البحث.
InMemoryStore وInMemoryCollection توفير عملية CRUD المحلية والبحث عن المسح الخطي للتطوير والاختبارات.
GenerateVectors يتحكم في ما إذا كانت عمليات upserts تنشئ كافة أو لا شيء أو حقول متجهات محددة.
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() مع تعريف صريح وأداة ترميز وأداة فك ترميز اختيارية. يتم tolist() تسلسل قيم المتجهات مثل الصفيف دون إضافة تبعية NumPy.

يتضمن إطار عمل العامل تنفيذا في الذاكرة للتطوير والاختبارات. يخزن السجلات في العملية الحالية ويستخدم فحصا خطيا، لذا استخدم موصل قاعدة بيانات لأحمال عمل الإنتاج.

تمرير خيارات التضمين لكل عملية

مرر embeddings_options إلى upsert() لتطبيق خيارات الموفر على كل حقل متجه تم إنشاؤه. يستخدم embeddings_options_by_field عندما تحتاج حقول المتجهات المنطقية المختلفة إلى خيارات مختلفة. وهاتان الحجتان يستبعد أحدهما الآخر.

لتضمين الاستعلام، مرر embeddings_options إلى search() أو create_vector_search_tool(). يوفر إطار عمل العامل الأبعاد المعلنة لحقل المتجه المحدد ويرفض قيمة متعارضة 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 وحذف الموافقة بشكل افتراضي، بينما لا يتطلب الحصول والبحث.

قم بالتمرير 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:

تطبيقات إطار عمل العامل الأصلي

تستخدم عمليات التنفيذ التالية عقود إطار عمل العامل الأصلية. يتوفر بعضها أيضا كموصلات نواة دلالية منفصلة، ولكن عائلتي الموصل غير قابلتين للتبديل.

التنفيذ حزمة إطار عمل العامل ودورة الحياة موصل نواة دلالية منفصل أوضاع البحث القيود الرئيسية
في الذاكرة agent-framework-core; حزمة تم إصدارها مع واجهات برمجة التطبيقات الموجهة التجريبية متوفر متجه كثيف مع عوامل تصفية محمولة المسح الخطي المحلي للعملية للتطوير والاختبارات، وليس قاعدة بيانات الإنتاج.
البحث باستخدام الذكاء الاصطناعي في Azure agent-framework-azure-ai-search; حزمة بيتا مع واجهات برمجة التطبيقات المتجهة التجريبية متوفر خط متجه كثيف وكلمة أساسية مختلطة حقل متجه كثيف واحد من المستوى الأعلى لكل استعلام. تتطلب بعض الحدود وعناصر التحكم في استدعاء النص المختلط والتصفية اللاحقة الصارمة والأذونات معاينة دعم SDK/API و allow_preview=True.
قاعدة بيانات Azure Cosmos لـ NoSQL agent-framework-azure-cosmos; حزمة بيتا مع واجهات برمجة التطبيقات المتجهة التجريبية متوفر متجه كثيف مع عوامل تصفية محمولة يجب أن تكون المفاتيح سلاسل مخزنة ك id، وتستخدم الحاويات /id مفتاح القسم. لا يتم دعم الكلمة الأساسية والبحث المختلط، ولا يدعم بحث إقليدس حدود النتيجة.
Azure DocumentDB agent-framework-azure-documentdb; حزمة ألفا غير متوفر متجه كثيف مع عوامل تصفية بيانات التعريف المحمولة يجب أن تكون المفاتيح سلاسل أو أعدادا صحيحة. لا يتم دعم ObjectIds التي تم إنشاؤها والبحث المختلط والنص الكامل ومسارات التصفية المتداخلة.
قاعدة بيانات بطة agent-framework-duckdb; حزمة ألفا غير متوفر متجه كثيف دقيق مع عوامل تصفية محمولة يتطلب Python 3.10+ وD duckDB 1.4.1–1.5.x. لا يتم دعم الفهارس التقريبية والبحث عن الكلمة الأساسية والبحث المختلط والبحث في النص الكامل والخطوط المتجهة من جانب الخادم. تسمح الملفات المحلية بعملية كتابة واحدة فقط في كل مرة.
MongoDB agent-framework-mongodb; حزمة ألفا متوفر متجه تقريبي أو كثيف تماما مع عوامل تصفية محمولة يتطلب PyMongo 4.13.2+ ونشرا باستخدام MongoDB Vector Search. لا يتم دعم البحث عن الكلمة الأساسية والبحث المختلط ومسارات التصفية المتداخلة وإنشاء تضمين من جانب الموفر وترحيل المخطط التلقائي. يتم رفض النماذج التي تعلن is_full_text_indexed ، وتصبح السجلات المكتوبة حديثا قابلة للبحث بشكل غير متزامن.
PostgreSQL مع pgvector agent-framework-postgres; حزمة ألفا متوفر متجه كثيف بالضبط وHNSW و IVFFlat يتطلب PostgreSQL 13+، pgvector 0.8.0+، مخطط موجود، والملحق الممكن. الكلمة الأساسية والبحث المختلط غير مدعومين.
Qdrant agent-framework-qdrant; حزمة ألفا متوفر متجه كثيف مع عوامل تصفية محمولة من جانب الخادم يتطلب وضع الخادم Qdrant 1.16.2+. يجب أن تكون المفاتيح أعدادا صحيحة 64 بت أو UUIDs غير موقعة. لا يتم دعم الكلمة الأساسية والبحث المختلط، ولا تتوفر عوامل التصفية في وضع SDK المحلي.
Redis agent-framework-redis; حزمة بيتا مع واجهات برمجة التطبيقات المتجهة التجريبية متوفر متجه كثيف عبر سجلات 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 أو أحدث، فإنه يستخدم psycopg Python فقط لأنه لا يتم نشر العجلات الثنائية المتوافقة، لذلك يجب أن يوفر المضيف تثبيت النظامlibpq.

ينفذ كل موصل النموذج الشائع، والمجموعة، و CRUD، وعامل التصفية، وعقود البحث. لا تزال الإمكانات والقيود الخاصة بقاعدة البيانات سارية. للحصول على أمثلة كاملة، راجع البحث باستخدام الذكاء الاصطناعي في AzureوD duckDBوعمليات متجه MongoDBوعامل MongoDB RAGوPostgresوQdrantوRedis وعينات SQL Server.

تطبيقات نواة دلالية فقط

يمكن أن تستمر التطبيقات في استخدام مخازن المتجهات Python الخاصة نواة دلالية مباشرة. تستخدم هذه التطبيقات عقود مخزن متجهات نواة دلالية منفصلة بدلا من عقود إطار عمل العامل الأصلية. لا تحتوي التطبيقات التالية حاليا على موصل إطار عمل عامل أصلي:

التنفيذ Availability يستخدم قاعدة بيانات مدعومة رسميا SDK مشرف أو مورد
Azure Cosmos DB ل MongoDB vCore المتوفر ‏‏نعم‬ Microsoft نواة دلالية المشروع
Chroma المتوفر ‏‏نعم‬ Microsoft نواة دلالية المشروع
Elasticsearch مخطط له غير متوفر غير متوفر
فايس المتوفر ‏‏نعم‬ Microsoft نواة دلالية المشروع
Postgres بدون خادم نيون استخدام تطبيق Postgres ‏‏نعم‬ Microsoft نواة دلالية المشروع
اوراكل المتوفر ‏‏نعم‬ اوراكل
الصنوبر المتوفر ‏‏نعم‬ Microsoft نواة دلالية المشروع
SQLite مخطط له غير متوفر Microsoft نواة دلالية المشروع
النسيج المتوفر ‏‏نعم‬ Microsoft نواة دلالية المشروع

مهم

تأتي تطبيقات مخزن المتجهات من العديد من القائمين على الصيانة. قم بتقييم جودة كل تطبيق وترخيصه ونهج الدعم وتوافق الإصدار قبل استخدامه.

استخدام تطبيق نواة دلالية فقط

  1. تثبيت semantic-kernel والتبعيات المطلوبة من قبل التنفيذ الذي اخترته.
  2. حدد نموذجا باستخدام @vectorstoremodel مصمم الديكور وحدد حقول المفتاح والبيانات والمتجه.
  3. إنشاء مجموعة خاصة بالتنفيذ لهذا النموذج.
  4. تأكد من وجود المجموعة، ثم قم بزيادة السجلات.
  5. استخدم واجهات برمجة تطبيقات البحث الخاصة بالمجموعة لاسترداد سجلات التطبيق الخاص بك.

للحصول على إعداد التنفيذ والأمثلة الكاملة، راجع نواة دلالية Vector Stores.

دعم مخزن المتجهات Go

تكامل مخزن المتجهات غير متوفر بعد في إطار عمل العامل ل Go. راجع مستودع Agent Framework Go للحصول على أحدث حالة.

الخطوات التالية