البحث عن متجهات الذكاء الاصطناعي الفسيفساء

تقدم هذه المقالة نظرة عامة على حل قاعدة بيانات متجهات Databricks، الفسيفساء الذكاء الاصطناعي Vector Search، بما في ذلك ماهيتها وكيفية عملها.

الفسيفساء الذكاء الاصطناعي Vector Search هي قاعدة بيانات متجهة مضمنة في Databricks Data Intelligence Platform ومتكاملة مع أدوات الحوكمة والإنتاجية الخاصة بها. قاعدة بيانات المتجهات هي قاعدة بيانات محسنة لتخزين عمليات التضمين واستردادها. التضمينات هي تمثيلات رياضية للمحتوى الدلالي للبيانات، عادة ما تكون بيانات النص أو الصورة. يتم إنشاء التضمينات بواسطة نموذج لغة كبير وهي مكون رئيسي للعديد من تطبيقات GenAI التي تعتمد على العثور على المستندات أو الصور المشابهة لبعضها البعض. ومن الأمثلة على ذلك أنظمة RAG وأنظمة التوصية والتعرف على الصور والفيديو.

باستخدام Mosaic الذكاء الاصطناعي Vector Search، يمكنك إنشاء فهرس بحث متجه من جدول Delta. يتضمن الفهرس بيانات مضمنة مع بيانات التعريف. يمكنك بعد ذلك الاستعلام عن الفهرس باستخدام واجهة برمجة تطبيقات REST لتحديد المتجهات الأكثر تشابها وإرجاع المستندات المقترنة. يمكنك هيكلة الفهرس للمزامنة تلقائيا عند تحديث جدول Delta الأساسي.

كيف يعمل "البحث عن متجهات الذكاء الاصطناعي الفسيفساء"؟

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

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

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

البحث المختلط في المعاينة العامة. للحصول على تفاصيل حول واجهة برمجة التطبيقات، راجع مرجع Python SDK والاستعلام عن نقطة نهاية بحث متجه.

حساب بحث التشابه

يستخدم حساب البحث عن التشابه الصيغة التالية:

تبادلية من 1 بالإضافة إلى المسافة التربيعية

حيث dist هي المسافة الإقليدية بين الاستعلام q وإدخال xالفهرس :

مسافة الإسيد، الجذر التربيعي لمجموع الاختلافات التربيعية

خوارزمية البحث عن الكلمات الأساسية

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

كيفية دمج البحث عن التشابه والبحث عن الكلمات الأساسية

يتم دمج نتائج البحث عن الكلمات الأساسية والبحث عن التشابه باستخدام الدالة Fusion Rank Fusion (RRF).

يعيد RRF تسجيل كل مستند من كل أسلوب باستخدام النتيجة:

معادلة RRF

في المعادلة أعلاه، تبدأ الرتبة من 0، وتلخص الدرجات لكل مستند وترجع أعلى مستندات التسجيل.

rrf_param يتحكم في الأهمية النسبية للمستندات ذات الرتب الأعلى والدنيا. استنادا إلى الأدب، rrf_param تم تعيين إلى 60.

يتم تسوية الدرجات بحيث تكون أعلى درجة هي 1 وأدنى درجة هي 0 باستخدام المعادلة التالية:

التسوية

خيارات توفير تضمينات المتجهات

لإنشاء قاعدة بيانات متجهة في Databricks، يجب أن تقرر أولا كيفية توفير تضمينات المتجهات. يدعم Databricks ثلاثة خيارات:

  • الخيار 1 يمكنك توفير جدول Delta مصدر يحتوي على بيانات بتنسيق نصي. تحسب Databricks عمليات التضمين، باستخدام نموذج تحدده، وتحفظ عمليات التضمين اختياريا في جدول في كتالوج Unity. عند تحديث جدول Delta، يظل الفهرس متزامنا مع جدول Delta.

    يوضح الرسم التخطيطي التالي العملية:

    1. حساب تضمينات الاستعلام. يمكن أن يتضمن الاستعلام عوامل تصفية بيانات التعريف.
    2. إجراء بحث التشابه لتحديد المستندات الأكثر صلة.
    3. قم بإرجاع المستندات الأكثر صلة وإلحاقها بالاستعلام.

    قاعدة بيانات المتجهات، تحسب Databricks عمليات التضمين

  • الخيار 2 يمكنك توفير جدول دلتا المصدر الذي يحتوي على تضمينات محسوبة مسبقا. عند تحديث جدول Delta، يظل الفهرس متزامنا مع جدول Delta.

    يوضح الرسم التخطيطي التالي العملية:

    1. يتكون الاستعلام من تضمينات ويمكن أن يتضمن عوامل تصفية بيانات التعريف.
    2. إجراء بحث التشابه لتحديد المستندات الأكثر صلة. قم بإرجاع المستندات الأكثر صلة وإلحاقها بالاستعلام.

    قاعدة بيانات المتجهات، عمليات التضمين المحسوبة مسبقا

  • الخيار 3 (الوصول المباشر) يمكنك توفير جدول دلتا المصدر الذي يحتوي على تضمينات محسوبة مسبقا. لا توجد مزامنة تلقائية عند تحديث جدول Delta. يجب تحديث الفهرس يدويا باستخدام واجهة برمجة تطبيقات REST عند تغيير جدول التضمينات.

    يوضح الرسم التخطيطي التالي العملية، وهي نفس الخيار 2 باستثناء أنه لا يتم تحديث فهرس المتجه تلقائيا عند تغيير جدول Delta:

    قاعدة بيانات المتجهات، عمليات التضمين المحسوبة مسبقا بدون مزامنة تلقائية

لاستخدام البحث عن متجهات الذكاء الاصطناعي الفسيفساء، يجب إنشاء ما يلي:

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

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

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

المتطلبات

  • مساحة عمل ممكنة كتالوج Unity.
  • تم تمكين الحوسبة بلا خادم.
  • يجب تمكين تغيير موجز البيانات للجدول المصدر.
  • إنشاء امتيازات جدول على مخطط (مخططات) الكتالوج لإنشاء فهارس.
  • تمكين الرموز المميزة للوصول الشخصي.

حماية البيانات والمصادقة

تنفذ Databricks عناصر التحكم الأمنية التالية لحماية بياناتك:

  • كل طلب عميل إلى الفسيفساء الذكاء الاصطناعي Vector Search معزول منطقيا ومصادق عليه ومخول.
  • يشفر البحث المتجه الذكاء الاصطناعي الفسيفساء جميع البيانات الثابتة (AES-256) وفي أثناء النقل (TLS 1.2+).

يدعم البحث عن متجهات الذكاء الاصطناعي الفسيفساء وضعين للمصادقة:

  • الرمز المميز للوصول الشخصي - يمكنك استخدام رمز وصول شخصي للمصادقة باستخدام الفسيفساء الذكاء الاصطناعي Vector Search. راجع الرمز المميز لمصادقة الوصول الشخصي. إذا كنت تستخدم SDK في بيئة دفتر ملاحظات، فإنه ينشئ تلقائيا رمز PAT المميز للمصادقة.
  • رمز الخدمة الأساسي - يمكن للمسؤول إنشاء رمز مميز لكيان الخدمة وتمريره إلى SDK أو API. راجع استخدام كيانات الخدمة. بالنسبة لحالات استخدام الإنتاج، توصي Databricks باستخدام رمز مميز أساسي للخدمة.

يتم دعم المفاتيح المدارة للعميل (CMK) على نقاط النهاية التي تم إنشاؤها في 8 مايو 2024 أو بعد ذلك.

مراقبة الاستخدام والتكاليف

يتيح لك جدول نظام الاستخدام القابل للفوترة مراقبة الاستخدام والتكاليف المرتبطة بفهرسات ونقاط النهاية للبحث عن المتجهات. فيما يلي مثال على الاستعلام:

SELECT *
FROM system.billing.usage
WHERE billing_origin_product = 'VECTOR_SEARCH'
  AND usage_metadata.endpoint_name IS NOT NULL

للحصول على تفاصيل حول محتويات جدول استخدام الفوترة، راجع مرجع جدول نظام الاستخدام القابل للفوترة. توجد استعلامات إضافية في دفتر الملاحظات المثال التالي.

دفتر ملاحظات استعلامات جداول نظام البحث المتجه

الحصول على دفتر الملاحظات

حدود حجم الموارد والبيانات

يلخص الجدول التالي حدود حجم الموارد والبيانات لنقاط نهاية البحث عن المتجهات والفهارس:

Resource النقاوة الحد
نقاط نهاية البحث عن المتجهات لكل مساحة عمل 100
عمليات التضمين لكل نقطة نهاية 100,000,000
بعد التضمين لكل فهرس 4096
الفهارس لكل نقطة نهاية 50
الأعمدة لكل فهرس 50
الأعمدة الأنواع المدعومة: بايت، قصيرة، عدد صحيح، طويل، عائم، مزدوج، منطقي، سلسلة، طابع زمني، تاريخ
حقول بيانات التعريف لكل فهرس 20
اسم الفهرس لكل فهرس 128 حرفاً

تنطبق الحدود التالية على إنشاء وتحديث فهارس البحث عن المتجهات:

Resource النقاوة الحد
حجم الصف لفهرس مزامنة دلتا لكل فهرس 100 كيلوبايت
تضمين حجم عمود المصدر لفهرس Delta Sync لكل فهرس 32764 بايت
حد حجم طلب Upsert المجمع لفهرس المتجه المباشر لكل فهرس 10 ميغابايت
حد حجم طلب الحذف المجمع لفهرس المتجه المباشر لكل فهرس 10 ميغابايت

تنطبق الحدود التالية على واجهة برمجة تطبيقات الاستعلام.

Resource النقاوة الحد
طول نص الاستعلام لكل استعلام 32764
الحد الأقصى لعدد النتائج التي تم إرجاعها لكل استعلام 10,000

القيود

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

الموارد الإضافية