إليك ملخصًا واضحًا ودقيقًا للمحتوى المقدم، دون استخدام أي علامات XML أو تنسيقات Markdown: يُقدّم هذا المقال تطبيقًا عمليًا لبناء نظام استرجاع المعلومات المدعومة بالذكاء الاصطناعي (RAG) بدون استخدام أدوات جاهزة، باستخدام مكتبات PyMuPDF وChromaDB. يتم التركيز على بناء نظام لاستخلاص ملخصات من المستندات المُحَمّلة بصيغة PDF، مع دعم محتوى نصي وصوري. يبدأ النظام بمعالجة المستند عبر استخراج النصوص والصور من كل صفحة باستخدام PyMuPDF. يتم تقسيم النصوص إلى أجزاء صغيرة (chunking) بطول 512 حرفًا كحد أقصى، مع الحفاظ على التسلسل المنطقي عبر تقسيم الجمل. يتم أيضًا استخراج الصور من الصفحات وتحويلها إلى بيانات قابلة للإدخال، ثم إرسالها إلى نموذج ذكاء اصطناعي متعدد الوسائط (VLM) يُدعى Pixtral 12B لتكوين وصف دقيق لكل صورة. بعد ذلك، يتم توليد ملخص لكل جزء على حدة باستخدام نموذج لغوي كبير (LLM)، مع استخدام نماذج مخصصة تعتمد على السياق الأكاديمي والتقني. بعد توليد ملخصات الأجزاء، يتم دمجها في ملخص نهائي، حيث يُحدد نوع الملخص (موجز أو مفصل) بناءً على متطلبات المستخدم. يتم تخزين المحتوى في قاعدة بيانات متجهات باستخدام ChromaDB، حيث يتم إنشاء تمثيلات متجهة (embeddings) للنصوص باستخدام نموذج SentenceTransformer. يتم استخدام النموذج المحلي للتحويل إلى متجهات، ويتم تخزين كل جزء مع معلوماته المضافة مثل نوعه، رقم الصفحة، ومعرف فريد. عند طلب سؤال من المستخدم، يتم تحويل السؤال إلى تمثيل متجهي، ثم يتم البحث في قاعدة البيانات باستخدام بحث معني (semantic search) للعثور على أجزاء ذات صلة. يتم عرض النتائج مع درجات التشابه، وتساعد هذه الأجزاء في توليد إجابة دقيقة ومدعومة بالسياق. أظهرت النتائج أن النظام قادر على معالجة مستندات معقدة تتضمن نصوصًا ورسومات، ويوفر ملخصات دقيقة وذات جودة عالية، مع دعم متكامل للأسئلة والردود. كما أظهرت سجلات التشغيل تفاصيل دقيقة حول كل خطوة من خطوات المعالجة، من استخراج النصوص إلى استرجاع المحتوى، مما يُبرز الشفافية والدقة في التنفيذ. النظام يُعد نموذجًا عمليًا وقابلًا للتوسع لتطبيقات متنوعة مثل دعم الأبحاث، تحليل المستندات الفنية، وتقديم إجابات ذكية في بيئات متعددة الوسائط.
يُقدّم هذا التقرير نموذجًا عمليًا لبناء نظام استخلاص ومُلخّصات واسئلة وأجوبة (Q&A) من المستندات باستخدام تقنية RAG دون الاعتماد على أدوات جاهزة، باستخدام مكتبتين رئيسيتين: PyMuPDF لاستخراج المحتوى من ملفات PDF، وChromaDB لتخزين وتخزين المتجهات (Embeddings). يتم تقسيم العملية إلى مراحل متسلسلة بدءًا من معالجة المستند وانتهاءً بتنفيذ استفسارات ذكية. في مرحلة معالجة المستند، يتم فتح ملف PDF باستخدام fitz.open، ثم يتم استخراج النص من كل صفحة عبر get_text()، بينما تُستخرج الصور باستخدام get_images(full=True)، حيث يتم تحويل كل صورة إلى صيغة PNG ثم ترميزها بـ Base64. يتم تجزئة النص إلى كُتُل بطول 512 حرفًا كحد أقصى باستخدام تقنية تقسيم الجمل، مع الحفاظ على التسلسل المنطقي. أما الصور، فيتم إرسالها إلى نموذج ذكاء اصطناعي متعدد الوسائط (VLM) يُسمى Pixtral 12B، الذي يُولّد وصفًا دقيقًا لكل صورة بناءً على محتواها، مع تجاهل العناصر غير المهمة مثل الشعارات. بعد التجزئة، تُجرى عملية تلخيص الكُتُل، حيث يُستخدم نموذج VLM لتوليد ملخص لكل كُتلة (نصية أو صورية) باستخدام نموذج مُعدّ مسبقًا يُركّز على الأهداف، النتائج، المنهجية، والقيود. بعد ذلك، تُدمج جميع الملخصات في نص واحد، ويُطلب من النموذج إنشاء ملخص نهائي إما موجزًا أو مفصلًا حسب الحاجة، باستخدام نموذج مخصص يُركّز على التكامل بين النصوص والصور. في مرحلة إنشاء وتخزين التمثيلات المتجهة (Embeddings)، يتم استخدام نموذج sentence-transformers/all-MiniLM-L6-v2 لتحويل كل كُتلة إلى متجه رقمي. يتم تخزين هذه المتجهات مع معلومات إضافية (مثل رقم الصفحة ونوع الكُتلة) في قاعدة بيانات ChromaDB، التي تُنشئ مجموعة تخزين مستدامة عبر PersistentClient. يتم توليد المتجهات محليًا باستخدام SentenceTransformer، ويتم إضافتها إلى المجموعة عبر collection.add(). عند تنفيذ استفسار من المستخدم (مثل "ما دور EcoSphere في التخطيط الحضري؟")، يُحوّل السؤال إلى متجه باستخدام نفس النموذج، ثم يُجرى بحثًا شبه معنوي في قاعدة البيانات للعثور على أقرب 3 كُتَل. تُعرض النتائج مع قيم التشابه، وتُستخدم لتكوين إجابة متكاملة تُعيد صياغة المعلومات من الكُتُل المرتبطة. النتائج المُقدمة من النظام تُظهر دقة عالية في استخراج المعلومات، حيث تم توليد 118 كُتلة من مستند بحثي حول أداة EcoSphere، مع تلخيص شامل يُبرز الأهداف، النتائج، والتطبيقات العملية. كما أظهرت عمليات الاستعلام فعالية في استخراج معلومات متعلقة بـ "التصميم الهندسي" و"التخطيط الحضري الكبير"، مع تفاعل مباشر مع محتوى النصوص والصور. باختصار، يُعد هذا النموذج نموذجًا متكاملًا وقابلًا للتوسيع لمعالجة المستندات العلمية، مع إمكانية التخصيص الكامل وتجنب الاعتماد على أطر عمل معقدة، مما يجعله مناسبًا لتطبيقات البحث والتطوير في مجالات الذكاء الاصطناعي والتحليلات المستندية.