Logo Lanfrica

ma30202058800704-rgb/egypt-artifacts-rag

Domain:

natural language processing

Record type:

softwaretools
Creator:
ma3
Host:
# 🏺 مساعد ذكي للآثار المصرية (Egyptian Artifacts RAG Assistant) نظام RAG (Retrieval-Augmented Generation) بيرد على أسئلة عن القطع الأثرية المصرية، معتمد على بيانات حقيقية من **Wikidata** كأساس للإجابة، مع إثراء الرد بمعرفة الموديل التاريخية. ## المميزات - 🔎 **بحث دلالي (Semantic Search)** على قطع أثرية من متحفين: المتحف المصري بالتحرير والمتحف المصري الكبير (GEM). - ⚡ **رد يتولد Live (Streaming)** بدل ما تستنى الإجابة كاملة. - 📚 **كل إجابة معاها مصدرها** من Wikidata (رابط مباشر للعنصر). - 🕹️ **روابط جولات افتراضية 3D** (من إنتاج وزارة السياحة والآثار، بالتعاون مع Egypt Exploration Society - EES) للمواقع المتاحة. - ⭐ **تقييم مستخدم (👍/👎)** على كل رد، بيتسجل في `data/ratings.csv`. ## هيكل المشروع (Pipeline) ``` documents -> preprocessing -> chunking -> vector representation -> vector store -> context retrieval -> prompting -> Streamlit UI ``` | الملف | الوظيفة | |---|---| | `01_documents.py` | جلب بيانات القطع الأثرية من Wikidata (SPARQL) | | `02_preprocessing.py` | تنظيف النصوص وتوحيد شكل كل document | | `03_chunking.py` | تقسيم النصوص لقطع (chunks) مع overlap | | `04_vector_representation.py` | توليد embeddings (نموذج multilingual محلي) | | `05_create_chroma_store.py` | بناء الـ vector store باستخدام ChromaDB | | `06_retrieve_context.py` | دالة الاسترجاع الدلالي (semantic retrieval) | | `07_prompting.py` | بناء الـ prompt + استدعاء OpenRouter مع streaming | | `streamlit_app.py` | واجهة المستخدم النهائية | ## التشغيل محليًا ```bash # 1) بيئة افتراضية (اختياري لكن مستحسن) python -m venv .venv source .venv/bin/activate # على ويندوز: .venv\Scripts\activate # 2) تثبيت المكتبات pip install -r requirements.txt # 3) ضبط مفتاح OpenRouter محليًا (بدون رفعه لأي مكان) cp .env.example .env # افتح .env وحط مفتاحك الحقيقي في OPENROUTER_API_KEY # 4) تشغيل الـ pipeline بالترتيب (مرة واحدة، أو كل ما تحدّث البيانات) python 01_documents.py python 02_preprocessing.py python 03_chunking.py python 04_vector_representation.py python 05_create_chroma_store.py # 5) تجربة الاستر …