البحث عن متجهات الذكاء الاصطناعي الفسيفساء
تقدم هذه المقالة نظرة عامة على حل قاعدة بيانات متجهات Databricks، الفسيفساء الذكاء الاصطناعي Vector Search، بما في ذلك ماهيتها وكيفية عملها.
ما هو البحث عن متجهات الذكاء الاصطناعي الفسيفساء؟
الفسيفساء الذكاء الاصطناعي Vector Search هي قاعدة بيانات متجهة مضمنة في Databricks Data Intelligence Platform ومتكاملة مع أدوات الحوكمة والإنتاجية الخاصة بها. قاعدة بيانات المتجهات هي قاعدة بيانات محسنة لتخزين عمليات التضمين واستردادها. التضمينات هي تمثيلات رياضية للمحتوى الدلالي للبيانات، عادة ما تكون بيانات النص أو الصورة. يتم إنشاء التضمينات بواسطة نموذج لغة كبير وهي مكون رئيسي للعديد من تطبيقات GenAI التي تعتمد على العثور على المستندات أو الصور المشابهة لبعضها البعض. ومن الأمثلة على ذلك أنظمة RAG وأنظمة التوصية والتعرف على الصور والفيديو.
باستخدام Mosaic الذكاء الاصطناعي Vector Search، يمكنك إنشاء فهرس بحث متجه من جدول Delta. يتضمن الفهرس بيانات مضمنة مع بيانات التعريف. يمكنك بعد ذلك الاستعلام عن الفهرس باستخدام واجهة برمجة تطبيقات REST لتحديد المتجهات الأكثر تشابها وإرجاع المستندات المقترنة. يمكنك هيكلة الفهرس للمزامنة تلقائيا عند تحديث جدول Delta الأساسي.
يدعم البحث المتجه الذكاء الاصطناعي الفسيفساء ما يلي:
- بحث تشابه الكلمة الأساسية المختلطة.
- التصفية.
- قوائم التحكم بالوصول (ACLs) لإدارة نقاط نهاية البحث في المتجهات.
- مزامنة الأعمدة المحددة فقط.
- حفظ عمليات التضمين التي تم إنشاؤها ومزامنتها.
كيف يعمل "البحث عن متجهات الذكاء الاصطناعي الفسيفساء"؟
يستخدم البحث عن متجهات الفسيفساء الذكاء الاصطناعي خوارزمية "العالم الصغير القابل للتنقل الهرمي" (HNSW) لأقرب عمليات البحث المجاورة ومقياس المسافة L2 لقياس تشابه متجه التضمين. إذا كنت ترغب في استخدام تشابه جيب التمام، فأنت بحاجة إلى تطبيع تضمينات نقطة البيانات قبل إدخالها في البحث عن المتجهات. عندما يتم تطبيع نقاط البيانات، يكون الترتيب الذي تنتجه مسافة L2 هو نفس الترتيب الذي ينتجه التشابه بين التمام.
كما يدعم البحث عن متجهات الذكاء الاصطناعي الفسيفساء البحث المختلط في تشابه الكلمات الأساسية، والذي يجمع بين البحث التضميني المستند إلى المتجهات وتقنيات البحث التقليدية المستندة إلى الكلمة الأساسية. يطابق هذا الأسلوب الكلمات الدقيقة في الاستعلام أثناء استخدام بحث التشابه المستند إلى المتجهات لالتقاط العلاقات الدلالية وسياق الاستعلام.
من خلال دمج هاتين التقنيتين، يسترد البحث المختلط لتشابه الكلمات الأساسية المستندات التي لا تحتوي على الكلمات الأساسية الدقيقة فحسب، ولكن أيضا تلك التي تتشابه من الناحية المفاهيمية، ما يوفر نتائج بحث أكثر شمولا و صلة. هذه الطريقة مفيدة بشكل خاص في تطبيقات RAG حيث تحتوي بيانات المصدر على كلمات أساسية فريدة مثل وحدات SKU أو المعرفات غير المناسبة تماما للبحث عن التشابه البحت.
للحصول على تفاصيل حول واجهة برمجة التطبيقات، راجع مرجع Python SDK والاستعلام عن نقطة نهاية بحث متجه.
حساب بحث التشابه
يستخدم حساب البحث عن التشابه الصيغة التالية:
حيث dist
هي المسافة الإقليدية بين الاستعلام q
وإدخال x
الفهرس :
خوارزمية البحث عن الكلمات الأساسية
يتم حساب درجات الصلة باستخدام Okapi BM25. يتم البحث في جميع أعمدة النصوص أو السلاسل، بما في ذلك تضمين النص المصدر وأعمدة بيانات التعريف بتنسيق نص أو سلسلة. تقسم دالة الرمز المميز عند حدود الكلمات، وتزيل علامات الترقيم، وتحول كل النص إلى أحرف صغيرة.
كيفية دمج البحث عن التشابه والبحث عن الكلمات الأساسية
يتم دمج نتائج البحث عن الكلمات الأساسية والبحث عن التشابه باستخدام الدالة Fusion Rank Fusion (RRF).
يعيد RRF تسجيل كل مستند من كل أسلوب باستخدام النتيجة:
في المعادلة أعلاه، تبدأ الرتبة من 0، وتلخص الدرجات لكل مستند وترجع أعلى مستندات التسجيل.
rrf_param
يتحكم في الأهمية النسبية للمستندات ذات الرتب الأعلى والدنيا. استنادا إلى الأدب، rrf_param
تم تعيين إلى 60.
يتم تسوية الدرجات بحيث تكون أعلى درجة هي 1 وأدنى درجة هي 0 باستخدام المعادلة التالية:
خيارات توفير تضمينات المتجهات
لإنشاء قاعدة بيانات متجهة في Databricks، يجب أن تقرر أولا كيفية توفير تضمينات المتجهات. يدعم Databricks ثلاثة خيارات:
الخيار 1: فهرس مزامنة دلتا مع عمليات التضمين المحسوبة بواسطة Databricks يمكنك توفير جدول دلتا المصدر الذي يحتوي على البيانات بتنسيق نصي. تحسب Databricks عمليات التضمين، باستخدام نموذج تحدده، وتحفظ عمليات التضمين اختياريا في جدول في كتالوج Unity. عند تحديث جدول Delta، يظل الفهرس متزامنا مع جدول Delta.
يوضح الرسم التخطيطي التالي العملية:
- حساب تضمينات الاستعلام. يمكن أن يتضمن الاستعلام عوامل تصفية بيانات التعريف.
- إجراء بحث التشابه لتحديد المستندات الأكثر صلة.
- قم بإرجاع المستندات الأكثر صلة وإلحاقها بالاستعلام.
الخيار 2: فهرس مزامنة دلتا مع عمليات التضمين المدارة ذاتيا يمكنك توفير جدول دلتا المصدر الذي يحتوي على تضمينات محسوبة مسبقا. عند تحديث جدول Delta، يظل الفهرس متزامنا مع جدول Delta.
يوضح الرسم التخطيطي التالي العملية:
- يتكون الاستعلام من تضمينات ويمكن أن يتضمن عوامل تصفية بيانات التعريف.
- إجراء بحث التشابه لتحديد المستندات الأكثر صلة. قم بإرجاع المستندات الأكثر صلة وإلحاقها بالاستعلام.
الخيار 3: فهرس الوصول المتجه المباشر يجب تحديث الفهرس يدويا باستخدام واجهة برمجة تطبيقات REST عند تغيير جدول التضمينات.
يوضح الرسم التخطيطي التالي العملية:
كيفية إعداد البحث عن متجهات الذكاء الاصطناعي الفسيفساء
لاستخدام البحث عن متجهات الذكاء الاصطناعي الفسيفساء، يجب إنشاء ما يلي:
- نقطة نهاية بحث متجه. تخدم نقطة النهاية هذه فهرس البحث المتجه. يمكنك الاستعلام عن نقطة النهاية وتحديثها باستخدام واجهة برمجة تطبيقات REST أو SDK. يتم قياس نقاط النهاية تلقائيا لدعم حجم الفهرس أو عدد الطلبات المتزامنة. راجع إنشاء نقطة نهاية بحث متجه للحصول على الإرشادات.
- فهرس بحث متجه. يتم إنشاء فهرس البحث المتجه من جدول Delta وتم تحسينه لتوفير أقرب عمليات بحث جار تقريبية في الوقت الفعلي. الهدف من البحث هو تحديد المستندات المشابهة للاستعلام. تظهر فهارس البحث عن المتجهات في ويتم التحكم فيها بواسطة كتالوج Unity. راجع إنشاء فهرس بحث متجه للحصول على الإرشادات.
بالإضافة إلى ذلك، إذا اخترت أن تقوم Databricks بحساب عمليات التضمين، يمكنك استخدام نقطة نهاية واجهات برمجة تطبيقات نموذج الأساس المكونة مسبقا أو إنشاء نقطة نهاية خدمة نموذج لخدمة نموذج التضمين الذي تختاره. راجع واجهات برمجة تطبيقات نموذج أساس الدفع لكل رمز مميز أو إنشاء نموذج الذكاء الاصطناعي إنشاء يخدم نقاط النهاية للحصول على الإرشادات .
للاستعلام عن نقطة نهاية خدمة النموذج، يمكنك استخدام واجهة برمجة تطبيقات REST أو Python SDK. يمكن للاستعلام تعريف عوامل التصفية استنادا إلى أي عمود في جدول Delta. للحصول على التفاصيل، راجع استخدام عوامل التصفية على الاستعلامات أو مرجع واجهة برمجة التطبيقات أو مرجع Python SDK.
المتطلبات
- مساحة عمل ممكنة كتالوج Unity.
- تم تمكين الحوسبة بلا خادم. للحصول على الإرشادات، راجع الاتصال بالحوسبة بلا خادم.
- يجب تمكين تغيير موجز البيانات للجدول المصدر. للحصول على إرشادات، راجع استخدام موجز بيانات تغيير Delta Lake على Azure Databricks.
- إنشاء امتيازات جدول على مخطط (مخططات) الكتالوج لإنشاء فهارس.
- تمكين الرموز المميزة للوصول الشخصي.
يتم تكوين إذن إنشاء نقاط نهاية بحث المتجهات وإدارتها باستخدام قوائم التحكم في الوصول. راجع قوائم ACL لنقطة نهاية بحث المتجهات.
حماية البيانات والمصادقة
تنفذ Databricks عناصر التحكم الأمنية التالية لحماية بياناتك:
- كل طلب عميل إلى الفسيفساء الذكاء الاصطناعي Vector Search معزول منطقيا ومصادق عليه ومخول.
- يشفر البحث المتجه الذكاء الاصطناعي الفسيفساء جميع البيانات الثابتة (AES-256) وفي أثناء النقل (TLS 1.2+).
يدعم البحث عن متجهات الذكاء الاصطناعي الفسيفساء وضعين للمصادقة:
- الرمز المميز للوصول الشخصي - يمكنك استخدام رمز وصول شخصي للمصادقة باستخدام الفسيفساء الذكاء الاصطناعي Vector Search. راجع الرمز المميز لمصادقة الوصول الشخصي. إذا كنت تستخدم SDK في بيئة دفتر ملاحظات، فإنه ينشئ تلقائيا رمز PAT المميز للمصادقة.
- رمز الخدمة الأساسي - يمكن للمسؤول إنشاء رمز مميز لكيان الخدمة وتمريره إلى SDK أو API. راجع استخدام كيانات الخدمة. بالنسبة لحالات استخدام الإنتاج، توصي Databricks باستخدام رمز مميز أساسي للخدمة.
يتم دعم المفاتيح المدارة للعميل (CMK) على نقاط النهاية التي تم إنشاؤها في 8 مايو 2024 أو بعد ذلك.
مراقبة الاستخدام والتكاليف
يتيح لك جدول نظام الاستخدام القابل للفوترة مراقبة الاستخدام والتكاليف المرتبطة بفهرسات ونقاط النهاية للبحث عن المتجهات. فيما يلي مثال على الاستعلام:
WITH all_vector_search_usage (
SELECT *,
CASE WHEN usage_metadata.endpoint_name IS NULL
THEN 'ingest'
ELSE 'serving'
END as workload_type
FROM system.billing.usage
WHERE billing_origin_product = 'VECTOR_SEARCH'
),
daily_dbus AS (
SELECT workspace_id,
cloud,
usage_date,
workload_type,
usage_metadata.endpoint_name as vector_search_endpoint,
SUM(usage_quantity) as dbus
FROM all_vector_search_usage
GROUP BY all
ORDER BY 1,2,3,4,5 DESC
)
SELECT * FROM daily_dbus
للحصول على تفاصيل حول محتويات جدول استخدام الفوترة، راجع مرجع جدول نظام الاستخدام القابل للفوترة. توجد استعلامات إضافية في دفتر الملاحظات المثال التالي.
دفتر ملاحظات استعلامات جداول نظام البحث المتجه
حدود حجم الموارد والبيانات
يلخص الجدول التالي حدود حجم الموارد والبيانات لنقاط نهاية البحث عن المتجهات والفهارس:
Resource | النقاوة | الحد |
---|---|---|
نقاط نهاية البحث عن المتجهات | لكل مساحة عمل | 100 |
عمليات التضمين | لكل نقطة نهاية | 320,000,000 |
بعد التضمين | لكل فهرس | 4096 |
الفهارس | لكل نقطة نهاية | 50 |
الأعمدة | لكل فهرس | 50 |
الأعمدة | الأنواع المدعومة: بايت، قصيرة، عدد صحيح، طويل، عائم، مزدوج، منطقي، سلسلة، طابع زمني، تاريخ | |
حقول بيانات التعريف | لكل فهرس | 20 |
اسم الفهرس | لكل فهرس | 128 حرفاً |
تنطبق الحدود التالية على إنشاء وتحديث فهارس البحث عن المتجهات:
Resource | النقاوة | الحد |
---|---|---|
حجم الصف لفهرس مزامنة دلتا | لكل فهرس | 100 كيلوبايت |
تضمين حجم عمود المصدر لفهرس Delta Sync | لكل فهرس | 32764 بايت |
حد حجم طلب Upsert المجمع لفهرس المتجه المباشر | لكل فهرس | 10 ميغابايت |
حد حجم طلب الحذف المجمع لفهرس المتجه المباشر | لكل فهرس | 10 ميغابايت |
تنطبق الحدود التالية على واجهة برمجة تطبيقات الاستعلام.
Resource | النقاوة | الحد |
---|---|---|
طول نص الاستعلام | لكل استعلام | 32764 |
الحد الأقصى لعدد النتائج التي تم إرجاعها | لكل استعلام | 10,000 |
القيود
- أذونات مستوى الصف والعمود غير معتمدة. ومع ذلك، يمكنك تنفيذ قوائم التحكم في الوصول على مستوى التطبيق الخاصة بك باستخدام واجهة برمجة تطبيقات التصفية.