المتجه هو تمثيل رقمي للنصوص أو الصور أو الصوتيات أو الفيديوهات يقوم بترميز الميزات/المعاني الدلالية للبيانات، بدلاً من المحتوى الفعلي مثل الكلمات أو وحدات البكسل الأساسية. المتجه هو قائمة من القيم الرقمية، والمعروفة باسم الأبعاد، ويكون لها تنسيق محدد.
تدعم ميزة 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 مع أي نموذج تضمين صالح ينشئ متجهات بأحد التنسيقات المدعومة وبأبعاد تبلغ 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). يكون اختيار دالة المسافة عادةً مدفوعًا بنموذج التضمين المستخدم في إنشاء المتجهات.
تشترك جميع أنواع المتجهات في نفس الخاصية: كلما كان الكيانان أكثر تشابهًا، كانت المسافة الرياضية بينهما أصغر. على سبيل المثال، المتجهات "تفاحة" و"برتقالة" أقرب إلى بعضهما من المتجهات "تفاحة" و"كلب." تتيح خاصية المتجهات هذه استخدامها للبحث عن البيانات حسب التشابه الدلالي.
هناك امتدادات 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 في استعلامات متطورة تتضمن المرشحات والروابط والتجميعات والتجميع حسب، وما إلى ذلك. على سبيل المثال، يمكن استخدام الاستعلام التالي للعثور على أعلى 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 ضعف، حيث يتجنب فحص كل متجه داخل العمود.
بالإضافة إلى SQL وPL/SQL، يمكن إنشاء تطبيقات AI Vector Search في مجموعة متنوعة من لغات البرمجة. تتضمن ميزة AI Vector Search دعم برامج التشغيل الأصلية للمتجهات بلغات شائعة مثل Java وPython وJavaScript و#C.
يمكن استخدام AI Vector Search في سير العمل المعروف باسم الإنشاء المعزز للاستعادة (RAG) للمساعدة في تحسين الدقة والملاءمة السياقية للمحادثات الطبيعية باستخدام نماذج اللغة الكبيرة (LLM) للذكاء الاصطناعي التوليدي (GenAI). مع سير العمل RAG، يتم تحويل سؤال المستخدم أولاً إلى متجه ومن ثم يُطابق مع المستندات الأكثر صلة داخل قاعدة البيانات عبر AI Vector Search. ثم يتم تمرير سؤال المستخدم والمستندات ذات الصلة الداعمة إلى نموذج اللغة الكبيرة (LLM) ليتمكن من إنشاء إجابة مستنيرة بناءً على معرفته العامة ومعرفة متجر المتجهات.
يمكن استخدام AI Vector Search في سير العمل RAG مع نماذج اللغات الكبيرة مفتوحة المصدر مثل Llama2 وLlama3، وكذلك نماذج اللغات الكبيرة من مزودين مثل OpenAI و Cohere.
يتم دمج AI Vector Search مع LangChain، وهو إطار عمل مفتوح المصدر شهير لبناء حلول تعتمد على RAG.
يمكن استخدام جميع آليات قابلية التوسع الواسعة من Oracle — مثل التنفيذ المتوازي، والتجزئة، وRAC، والتقسيم، وExadata — لتوسيع نطاق AI Vector Search ليشمل أي حجم من البيانات وعدد المستخدمين تقريبًا.
هل تفكر في الشراء؟
الاتصال بالمبيعاتالدردشة مع فريق المبيعاتالحساب/الاشتراك، مشكلات الترقيات
ابدأ الدردشةالدعم الفني، أو طلبات الدعم الأُخرى؟
عرض خيارات الدعم