الأسئلة الشائعة حول بحث Oracle AI Vector

موضوعات الأسئلة الشائعة

أسئلة عامة

ما المقصود بالموجه؟

المتجه هو تمثيل رقمي للنصوص أو الصور أو الصوتيات أو الفيديوهات يقوم بترميز الميزات/المعاني الدلالية للبيانات، بدلاً من المحتوى الفعلي مثل الكلمات أو وحدات البكسل الأساسية. المتجه هو قائمة من القيم الرقمية، والمعروفة باسم الأبعاد، ويكون لها تنسيق محدد.

كم عدد أبعاد المتجهات المدعومة؟

تدعم ميزة Oracle AI Vector Search المتجهات مع ما يصل إلى 65,535 بُعدًا.

ما تنسيقات الأرقام المدعومة للمتجهات؟

تدعم ميزة AI Vector Search تنسيقات INT8 وFLOAT32 وFLOAT64.

ما حجم المتجهات؟

حجم المتجه هو نتاج عدد الأبعاد وحجم كل بُعد.

على سبيل المثال، المتجه ذو عدد الأبعاد 2,048 وتنسيق INT8 (1 بايت) يبلغ حجمه 2 كيلوبايت. المتجه ذو 1024 بُعدًا وتنسيق FLOAT32 (4 بايت) يبلغ حجمه 4 كيلوبايت.

كيف يتم إنشاء المتجهات؟

يتم إنشاء المتجهات من أنواع مختلفة من بيانات الإدخال (النص، الصور، الصوت، الفيديو، إلخ) بواسطة نماذج التعلم العميق المعروفة باسم نماذج التضمين. يمكنك إنشاء متجهات خارج قاعدة البيانات باستخدام نماذج التضمين الخاصة بك أو خدمة التضمين أو يمكنك إنشاؤها داخل قاعدة البيانات باستخدام نماذج التضمين التي تم استيرادها عبر دالة SQL VECTOR_EMBEDDING().

ما هي نماذج التضمين التي يعمل بها AI Vector Search؟

من المفترض أن تعمل ميزة AI Vector Search مع أي نموذج تضمين صالح ينشئ متجهات بأحد التنسيقات المدعومة وبأبعاد تبلغ 65,535 بُعدًا أو أقل.

ما نماذج التضمين التي يجب أن أفكر في استخدامها وأين يمكنني الحصول عليها؟

يعتمد اختيار نموذج التضمين على العديد من العوامل، مثل طبيعة بياناتك ومقاييس الأداء التي تحددها حسب الأولوية والتكلفة التي ترغب في دفعها. يمكن العثور على نماذج تضمين مجانية ومفتوحة المصدر، مثل محولات الجملة المختلفة، على Hugging Face والمواقع المماثلة. يمكن تحويل هذه النماذج إلى ONNX لتشغيلها في قاعدة البيانات باستخدام ميزة AI Vector Search. بالإضافة إلى ذلك، تعد منصة MTEB Leaderboard التي يستضيفها Hugging Face مصدرًا شائعًا لأفضل نماذج تضمين النصوص. يمكنك أيضًا التوجه إلى مقدمي النماذج المعروفين مثل OpenAI وCohere.

ما العمليات المدعومة على المتجهات؟

هناك عمليات رياضية متعددة مدعومة على المتجهات، ولكن أهم عملية هي دالة VECTOR_DISTANCE() SQL، التي تعثر على المسافة الرياضية بين متجهين بناءً على معادلة المسافة المحددة. تدعم ميزة Oracle AI Vector Search العديد من صيغ المسافة، بما في ذلك مسافة إقليدية (Euclidean distance)، والتشابه الكوني (cosine similarity)، ومسافة هامينغ (Hamming distance). يكون اختيار دالة المسافة عادةً مدفوعًا بنموذج التضمين المستخدم في إنشاء المتجهات.

كيف يتم استخدام المتجهات في البحث عن التشابه؟

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

كيف يتم إجراء AI Vector Search (بحث عن المتجهات بالذكاء الاصطناعي) باستخدام SQL؟

هناك امتدادات SQL بسيطة وبديهية تسمح بدمج AI Vector Search بسهولة في تطبيقاتك. بما أن مسافة المتجه هي مقياس للتشابه، فإن ميزة AI Vector Search تتضمن ببساطة ترتيب مجموعة المتجهات المحتملة بناءً على مسافتها من متجه بحث وإرجاع أفضل وأقرب تطابقات K. على سبيل المثال، يؤدي الاستعلام أدناه إلى العثور على أفضل 10 منتجات تتطابق صورها بشكل وثيق مع صورة بحث المستخدم:

SELECT product_name, product_photo
FROM Product
ORDER BY VECTOR_DISTANCE(product_photo_vector, :search_photo_vector)
FETCH FIRST 10 ROWS ONLY;

كيف يمكنني استخدام AI Vector Search في الاستعلامات المعقدة التي تتضمن بيانات العمل؟

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

SELECT Product.name, Product.photo, Manufacturer.name
FROM Product p JOIN Manufacturer m ON (p.mfr_id = m.id)
WHERE Manufacturer.state = ‘CA’
ORDER BY VECTOR_DISTANCE(product_photo_vector, :search_photo_vector)
FETCH FIRST 10 ROWS ONLY;

ما فهارس المتجهات وكيف تختلف عن فهارس قواعد البيانات التقليدية؟

تُستخدم فهارس قواعد البيانات التقليدية لتسريع عمليات البحث استنادًا إلى القيم المطابقة. على سبيل المثال، يعمل فهرس B-tree على تسريع عمليات البحث القائمة على القيمة ومسح النطاق المستند إلى القيمة. من ناحية أخرى، تم تصميم فهارس المتجهات للعثور على أفضل K تطابقًا والأكثر تشابهًا بناءً على التشابه الدلالي بدلاً من مطابقة القيم بدقة. على سبيل المثال، يمكن استخدام فهرس متجهات للعثور على أفضل كلمات K الأكثر تشابهًا في المعنى مع "تفاحة" في مجموعة من الكلمات الموجودة. يؤدي استخدام فهرس متجهات إلى بحث تقريبي يضحي ببعض الدقة في البحث مقابل أداء يصل إلى 100 ضعف، حيث يتجنب فحص كل متجه داخل العمود.

ما لغات البرمجة التي يمكن استخدامها لتطوير تطبيقات AI Vector Search؟

بالإضافة إلى SQL وPL/SQL، يمكن إنشاء تطبيقات AI Vector Search في مجموعة متنوعة من لغات البرمجة. تتضمن ميزة AI Vector Search دعم برامج التشغيل الأصلية للمتجهات بلغات شائعة مثل Java وPython وJavaScript و#C.

ما الدور الذي تلعبه ميزة AI Vector Search في الذكاء الاصطناعي التوليدي؟

يمكن استخدام AI Vector Search في سير العمل المعروف باسم الإنشاء المعزز للاستعادة (RAG) للمساعدة في تحسين الدقة والملاءمة السياقية للمحادثات الطبيعية باستخدام نماذج اللغة الكبيرة (LLM) للذكاء الاصطناعي التوليدي (GenAI). مع سير العمل RAG، يتم تحويل سؤال المستخدم أولاً إلى متجه ومن ثم يُطابق مع المستندات الأكثر صلة داخل قاعدة البيانات عبر AI Vector Search. ثم يتم تمرير سؤال المستخدم والمستندات ذات الصلة الداعمة إلى نموذج اللغة الكبيرة (LLM) ليتمكن من إنشاء إجابة مستنيرة بناءً على معرفته العامة ومعرفة متجر المتجهات.

ما هي نماذج LLM التي يعمل بها AI Vector Search؟

يمكن استخدام AI Vector Search في سير العمل RAG مع نماذج اللغات الكبيرة مفتوحة المصدر مثل Llama2 وLlama3، وكذلك نماذج اللغات الكبيرة من مزودين مثل OpenAI و Cohere.

هل يدعم بحث متجه الذكاء الاصطناعي LangChain؟

يتم دمج AI Vector Search مع LangChain، وهو إطار عمل مفتوح المصدر شهير لبناء حلول تعتمد على RAG.

كيف يمكنني توسيع نطاق AI Vector Search لتلبية الاحتياجات المتزايدة لتطبيقي؟

يمكن استخدام جميع آليات قابلية التوسع الواسعة من Oracle — مثل التنفيذ المتوازي، والتجزئة، وRAC، والتقسيم، وExadata — لتوسيع نطاق AI Vector Search ليشمل أي حجم من البيانات وعدد المستخدمين تقريبًا.