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

تحتفظ مخازن المتجهات بالبيانات وتضمين المتجهات معا حتى تتمكن التطبيقات من العثور على السجلات عن طريق التشابه الدلالي. في تطبيقات 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. توفر نواة دلالية المجموعات عمليات شائعة لإنشاء المجموعات، وتحديث السجلات واستردادها، وتشغيل عمليات البحث المتجهة أو الكلمة الأساسية أو عمليات البحث المختلطة عندما يدعمها التنفيذ المحدد.

التحذير

نواة دلالية وظائف مخزن المتجهات Python هو مرشح للإصدار. قد تحدث تغييرات فاصلة محدودة قبل التوفر العام.

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

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

مهم

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

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

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

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

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

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

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