نبذة عن المشروع
قمت بتطوير نظام محادثة ذكي يعتمد على التوليد المعزز بالاسترجاع (Retrieval-Augmented Generation – RAG)، يتيح الإجابة على الأسئلة وإجراء محادثات تفاعلية اعتمادًا على مستندات خاصة، مع الحفاظ على سياق الحوار وتحقيق أداء عالٍ في سرعة الاستجابة.
المشروع لا يركز فقط على الذكاء الاصطناعي، بل على بناء نظام برمجي مُهندَس بشكل احترافي وقابل للتوسع والصيانة، وليس مجرد سكربت تجريبي.
أبرز الجوانب التقنية (Technical Highlights)
قاعدة بيانات متجهة مستديمة (Persistent Vector Database)
استخدام ChromaDB لإنشاء الفهرس المتجهي مرة واحدة فقط أثناء التهيئة (Initialization).
يمنع إعادة بناء قاعدة البيانات مع كل استعلام، مما:
يقلل زمن الاستجابة بشكل ملحوظ
يوفّر موارد المعالجة
يجعل النظام مناسبًا للاستخدام الفعلي (Production-ready)
ذاكرة للمحادثة (Conversation Memory)
النظام يدعم ذاكرة محادثة تُمكّنه من:
تذكّر الأسئلة السابقة
فهم السياق العام للحوار
تقديم إجابات مترابطة وطبيعية
النتيجة: تجربة استخدام أقرب لمحادثة بشرية حقيقية.
هيكلية برمجية احترافية (Modular OOP Architecture)
تم تصميم المشروع بأسلوب Object-Oriented Programming (OOP) مع فصل واضح للمسؤوليات:
Backend (Model.py):
يحتوي على منطق الذكاء الاصطناعي بالكامل (Ingestion – Retrieval – Memory – LLM Logic).
Frontend (app.py):
واجهة المستخدم فقط، معزولة تمامًا عن منطق النظام.
هذا الفصل يسمح بتطوير أو تغيير الواجهة دون التأثير على منطق الذكاء الاصطناعي.
قابلية التوسع وسهولة التطوير (Scalability & Maintainability)
التصميم المعياري يسمح بـ:
استبدال نموذج الـ Embeddings (مثل FastEmbed)
أو تغيير قاعدة البيانات المتجهة (مثل FAISS)
دون الحاجة لإعادة كتابة النظام أو كسر الواجهة الأمامية.
الأدوات والتقنيات المستخدمة
اللغة: Python
قواعد البيانات المتجهة: ChromaDB
النماذج: Large Language Models (LLMs)، FastEmbed
مفاهيم هندسية:
OOP – Clean Code – Separation of Concerns – Modular Architecture
النتيجة النهائية
نظام شات بوت ذكي يتميز بالسرعة، الدقة، والقدرة على تذكّر سياق المحادثة، مبني على أسس هندسية قوية تجعله مناسبًا للتطوير المستقبلي والاستخدام العملي في المشاريع الحقيقية.