Multimodal RAG
يسترجع الاسترجاع المعزز بالتوليد متعدد الوسائط الصور وإطارات الفيديو والصوت وعمليات مسح الصفحات إلى جانب النص، ثم يجعل نموذجًا للرؤية واللغة يجيب استنادًا إلى ما عثر عليه.
التوليد المعزّز بالاسترجاع متعدد الوسائط هو التوليد المعزّز بالاسترجاع (RAG) على قاعدة معرفة تضم الصور والفيديو والصوت والمستندات الممسوحة ضوئيًا أو المصيّرة، إلى جانب النصوص. يسترجع السؤال العناصر الأكثر صلةً من أي من هذه الوسائط، وينشئ نموذج الرؤية واللغة (VLM) الإجابة اعتمادًا عليها. وهكذا يمكن استرجاع مخطط توصيل أو صورة منتج أو رسم بياني داخل ملف PDF وقراءته مباشرةً، بدلًا من الاعتماد فقط على وصف نصي كتبه شخص مسبقًا.
كيفية فهرسة البيانات غير النصية#
تحوّل أبسط الأساليب كل شيء إلى نص. ويصف التعليق على الصور والتعرّف الضوئي على الأحرف (OCR) ونصوص تحويل الكلام إلى نص والتسميات الناتجة عن كشف الأجسام كل عنصر بكلمات يمكن لفهرس نصي عادي البحث فيها. ويتيح ذلك إعادة استخدام مسار عمل RAG النصي من دون تغيير، لكنه يفقد كل ما لا يتضمنه الوصف.
يتمثل الأسلوب الثاني في تضمين الصور والنصوص ضمن فضاء مشترك واحد. فالنماذج المدرّبة باستخدام التعلم التبايني، مثل CLIP من OpenAI وSigLIP من Google، تحوّل صورة وجملة تصفها إلى تضمينات متقاربة، ما يتيح لسؤال نصي استرجاع الصور مباشرةً من قاعدة بيانات متجهية. وبالنسبة إلى المستندات، يضمّن ColPali (2024) لقطة كل صفحة على شكل شبكة من متجهات الرقع، ثم يقيس صلتها برموز السؤال باستخدام تفاعل متأخر على غرار ColBERT، ما يغني عن OCR وتحليل التخطيط في ملفات PDF الغنية بالجداول والرسوم البيانية.
بعد ذلك، يمرّر التوليد العناصر المسترجعة، التي غالبًا ما تكون مزيجًا من الصور والمقاطع النصية، إلى نموذج VLM مع السؤال. ويؤدي إسناد الإجابة إلى الصور المسترجعة إلى تقليل الهلوسات المتعلقة بالتفاصيل المرئية التي لم يرها النموذج أثناء التدريب، مثل تخطيط لوحة تحكم خاصة بشركة.
الاسترجاع في فضاء تضمين مشترك#
يستخدم هذا المثال نقطة التحقق CLIP ViT-B/32 لاختيار الصورة التي تجيب عن كل سؤال من قاعدة معرفة تضم صورتين:
import requests
from PIL import Image
from transformers import CLIPModel, CLIPProcessor
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
# Image knowledge base: CLIP embeds images and text into one shared vector space
urls = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
images = [Image.open(requests.get(url, stream=True, timeout=10).raw) for url in urls]
questions = ["What color is the man's tie?", "How many people are standing next to the bus?"]
# Retrieve: score each question against every image and keep the best match for the VLM
inputs = processor(text=questions, images=images, return_tensors="pt", padding=True)
scores = model(**inputs).logits_per_text
for question, row in zip(questions, scores):
print(f"{question} -> {urls[row.argmax()].split('/')[-1]}")يسترجع سؤال ربطة العنق zidane.jpg، ويسترجع سؤال الحافلة bus.jpg، لأن CLIP يضع تضمين النص لكل سؤال في أقرب نقطة إلى الصورة التي يتناولها. وتتكفل واجهة Ultralytics للنماذج اللغوية الكبيرة بخطوة التوليد التالية: إذ يرسل llm(question, image=...) السؤال والصورة المسترجعة إلى أي نموذج رؤية ولغة متوافق مع OpenAI في استدعاء واحد، ثم يعيد استجابة المزوّد.
التوليد المعزّز بالاسترجاع متعدد الوسائط مقارنةً بالمصطلحات ذات الصلة#
- الإجابة عن الأسئلة المرئية (VQA): الإجابة عن سؤال يتعلق بصورة يقدّمها المستخدم. أما التوليد المعزّز بالاسترجاع متعدد الوسائط فيعثر أولًا على الصور أو الصفحات أو المقاطع التي ينبغي فحصها من بين آلاف العناصر.
- النماذج متعددة الوسائط: هي النماذج التوليدية، مثل نماذج GPT من OpenAI أو Gemini من Google، التي تقرأ الصور والنصوص معًا. أما RAG متعدد الوسائط فهو نظام الاسترجاع الذي يقرر ما تراه هذه النماذج.
- البحث الدلالي: جانب الاسترجاع وحده، إذ يعرض نتائج مرتبة لشخص بدلًا من نموذج.
تطبيقات عملية#
- الصيانة في التصنيع: يصوّر فني قطعةً معطلة، فيسترجع النظام صفحة الدليل التي تحتوي على مخطط تفكيكي مطابق، إلى جانب صور لإصلاحات سابقة للتجميعة نفسها.
- البحث والدعم في البيع بالتجزئة: تسترجع صورة المتسوق عناصر مشابهة بصريًا من الكتالوج، ويجيب المساعد عن أسئلة الملاءمة أو التوافق بالاستناد إلى أوراق بيانات المنتجات.
- الإجابة عن أسئلة المستندات: تتضمن التقارير السنوية والأبحاث العلمية والعروض التقديمية أرقامًا أساسية في الرسوم البيانية والجداول، ويمكن لاسترجاع صور الصفحات العثور عليها من دون محلل جداول منفصل.
- فهم الفيديو: تتيح فهرسة الإطارات المأخوذة بالعينات أو المقاطع القصيرة باستخدام التضمينات لسؤال مثل «متى وصلت شاحنة التوصيل؟» استرجاع الدقائق المناسبة من التسجيل، ليقرأ نموذج VLM عددًا قليلًا من الإطارات بدلًا من ساعات من الفيديو.
مفاضلات التصميم#
تستهلك الصور قدرًا كبيرًا من السياق: إذ يحوّل نموذج VLM كل صورة إلى مئات أو آلاف الرموز، لذا لا تمرّر مسارات العمل عادةً سوى الصور المسترجعة القليلة الأعلى ترتيبًا، وتحيطها بمقاطع نصية أقصر. كما ترث أدوات الاسترجاع ذات التضمين المشترك قيود تدريبها. فمشفر النص في CLIP يقرأ 77 رمزًا كحد أقصى، لذا تُقتطع الأسئلة الأطول قبل المطابقة، كما أن تضمينات الصور الكاملة تلتقط محتوى المشهد العام أفضل من التفاصيل الصغيرة، مثل الرقم التسلسلي على ملصق. ويُبقي التحويل إلى نص هذه التفاصيل قابلة للبحث متى استطاع OCR قراءتها، لذا تفهرس أنظمة كثيرة نص OCR وتضمينات الصور معًا، ثم تدمج قائمتي النتائج باستخدام البحث الهجين.










