Retrieval-Augmented Generation (RAG)

كشف السياق المخفي: دمج تضمينات الصور والنصوص في خطوط أنابيب RAG

تطور البحث المؤسسي

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

هندسة استراتيجية تضمين متعددة الوسائط

للبحث بفعالية عبر الوسائط المختلفة، يجب علينا تحويل أنواع البيانات المتباينة إلى فضاء متجهي مشترك. تتضمن النهج الأكثر متانة استخدام مشفرات متعددة الوسائط التي يمكنها معالجة الصور والنصوص بشكل أصلي، أو نهج هجين حيث تقوم مشفرات مستقلة بمحاذاة مخرجاتها. بالنسبة للتطبيقات المؤسسية، تعد الدقة أمراً بالغ الأهمية. نوصي باستخدام نماذج مثل CLIP (التدريب المسبق التبايني للنص والصورة) أو المتغيرات المتخصصة مثل SigLIP، والتي تقدم أداءً متفوقاً في ربط العناصر البصرية بالمفاهيم النصية.

تكمن التحدي الأساسي في محاذاة الأبعاد. غالباً ما يكون لتضمينات النصوص (مثل تلك المستخرجة من نماذج BGE أو E5) وتضمينات الصور أبعاد متجهية مختلفة. لحل هذه المشكلة، يمكنك إسقاط كليهما في فضاء منخفض الأبعاد مشترك باستخدام طبقة إسقاط خطي مُعلَّمة أو تطبيعها إلى كرة وحدة مشتركة. يضمن ذلك بقاء حسابات تشابه جيب التمام صالحة عبر الوسائط المختلفة.

التنفيذ: بناء مستودع المتجهات

يوضح المثال البرمجي بلغة Python أدناه كيفية إنشاء وتخزين تضمينات متعددة الوسائط باستخدام langchain و chromadb. يوضح هذا الجزء مرحلة الاستيعاب، حيث تتم معالجة صورة ووصفها النصي المرتبط لإنشاء تمثيل مشترك.


import chromadb
from langchain.embeddings import HuggingFaceEmbeddings
from langchain.vectorstores import Chroma
from PIL import Image
import requests
import io

# تهيئة نموذج تضمين متعدد الوسائط (مثال باستخدام غلاف افتراضي متعدد الوسائط)
# في الممارسة العملية، قد تستخدم مكتبة مثل 'sentence-transformers' مع نموذج متعدد الوسائط
model_name = "sentence-transformers/clip-ViT-B-32"
embeddings = HuggingFaceEmbeddings(model_name=model_name)

# بيانات مثال: مخطط تقني ووصفه النصي
image_url = "https://example.com/diagram.png"
text_description = "System architecture diagram showing microservices communication via Kafka."

# جلب الصورة ومعالجتها مسبقاً
image = Image.open(requests.get(image_url, stream=True).raw)

# إنشاء التضمينات
# ملاحظة: اعتماداً على المكتبة المحددة، قد تحتاج إلى تمرير كل من الصورة والنص
# أو إنشاء تضمينات منفصلة ودمجها.
# هنا نفترض وجود مشفر متعدد الوسائط يقبل الاثنين.
vector = embeddings.embed_query({"image": image, "text": text_description})

# التخزين في ChromaDB
client = chromadb.Client()
collection = client.get_or_create_collection(name="enterprise_docs")

collection.add(
    ids=["doc_001"],
    embeddings=[vector],
    documents=[text_description],
    metadatas=[{"type": "multi_modal", "source": image_url}]
)

استعلام الفهرس متعدد الوسائط

عندما يقدم المستخدم استعلاماً، مثل "أظهر لي منطق خدمة الدفع"، يجب على النظام البحث عن المخططات البصرية التي تتطابق مع النية الدلالية. من خلال استخدام دالة التضمين نفسها على نص الاستعلام، نسترجع أفضل النتائج (k) من مستودع المتجهات. تقوم خط أنابيب RAG بعد ذلك بإدخال هذه القطع المسترجعة - سواء كانت نصوصاً خالصة أو نصوصاً مصحوبة بإشارات إلى صور - إلى نموذج اللغات الكبيرة (LLM). يمكن للتطبيقات المتقدمة حتى تمرير بايتات الصورة مباشرة إلى نماذج اللغات الكبيرة متعددة الوسائط مثل GPT-4V أو LLaVA لاستنتاج أعمق.

التحديات وأفضل الممارسات

يؤدي دمج الصور في RAG إلى إدخال تأخير وزيادة في التخزين. للتخفيف من ذلك، نفذ استراتيجية استرجاع متدرجة: أولاً، استرجع المرشحين بناءً على تشابه النص، ثم أعد ترتيبهم باستخدام درجات متعددة الوسائط. بالإضافة إلى ذلك، قم دائماً بتضمين مرشحات البيانات الوصفية لتقييد البحث على أنواع مستندات محددة أو مناطق الأمان. وأخيراً، تأكد من أن خط أنابيب التضمين الخاص بك يتضمن معالجة مسبقة قوية، مثل التعرف الضوئي على الحروف (OCR) للمستندات الممسوحة ضوئياً، لسد الفجوة بين النص البصري والمعنى الدلالي.

الخاتمة

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

Share: