المشكلة: النماذج اللغوية الكبيرة (LLMs) ما عندها ذاكرة دائمة — كل محادثة تبدأ من الصفر بدون سياق سابق.
الحل: نظام ذاكرة تكيفية يحفظ كل محادثة كـ Embedding دلالي، ويسترجع الذكريات المرتبطة تلقائيًا قبل توليد كل رد — مع تضاؤل زمني تدريجي يضمن أولوية المعلومات الحديثة.
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐
│ User │────▶│ Context │────▶│ Gemini │
│ Prompt │ │ Enrichment │ │ Model │
└─────────────┘ │ │ │ │
│ ┌────────────┐ │ └──────────────┘
│ │ Adaptive │◀─┼────────────┼── Save
│ │ Memory │ │ │ Response
│ │ Engine │ │ │
│ └────────────┘ │ │
│ │ │ │
│ ┌──────────┐ │ │
└────▶│ SQLite │◀─┘ │
│ Database │ │
└──────────┘ │
│
┌──────────────────────────┘
▼
┌──────────────┐
│ Embedding │
│ Model │
└──────────────┘
| المكون | الوظيفة | الحالة |
|---|---|---|
main.py |
الملف الرئيسي — إدارة الطلبات والاستجابة عبر Google Gen AI SDK | ✅ جاهز |
adaptive_memory_engine.py |
محرك الذاكرة التكيفية (تشابه + تضاؤل زمني + SQLite) | ✅ جاهز |
rag_engine.py |
محرك استرجاع المعلومات المعزز | 🔧 قيد التطوير |
ingest.py |
تغذية البيانات الأولية للنظام | 🔧 قيد التطوير |
mowjh_engine.py |
المحرك الأساسي للمنصة | 🔧 قيد التطوير |
📥 الاستقبال → 🔄 التضمين → 🔍 الاسترجاع → ⏳ التضاؤل الزمني → 📝 إثراء السياق → ✨ التوليد → 💾 الحفظ
يصل سؤال المستخدم → يُحوَّل إلى متجه دلالي (Embedding)
محرك الذاكرة يبحث في قاعدة البيانات عن الذكريات ذات التشابه الأعلى مع السؤال الحالي
كل ذكرى تُضرب بمعامل تضاؤل (e^(-λt)) — كلما مر الوقت، قل وزنها تدريجياً
أفضل النتائج تُضاف فوق السؤال الأصلي كـ Context → النموذج يفهم الصورة الكاملة
النموذج يولد الرد → المحادثة كاملة تُحفظ كذكرى جديدة مع فحص التكرار (Deduplication)
pip install numpy google-genaiأو تثبيت الكل دفعة واحدة:
pip install -r requirements.txt!pip install numpy google-genai
import os
os.environ["GOOGLE_API_KEY"] = "your_api_key_here"
os.environ["MODEL_NAME"] = "gemini-3.8-flash"
os.environ["EMBEDDING_MODEL"] = "gemini-embedding-2"
os.environ["MAX_WORKERS"] = "1"
%run main.pygit clone https://github.com/mzydhaif11-ctrl/Suggested-Workflows.git
cd Suggested-Workflows
pip install -r requirements.txt
export GOOGLE_API_KEY="your_api_key_here"
python main.py| المتغير | الوصف | القيمة الافتراضية |
|---|---|---|
GOOGLE_API_KEY |
مفتاح Google AI Studio | مطلوب 🔑 |
MODEL_NAME |
نموذج التوليد | gemini-3.8-flash |
EMBEDDING_MODEL |
نموذج المتجهات | gemini-embedding-2 |
MAX_TOKENS |
الحد الأقصى للرد | 1024 |
TEMPERATURE |
درجة الإبداع | 0.7 |
DECAY_RATE |
معدل التضاؤل الزمني | 0.01 |
SIMILARITY_THRESHOLD |
الحد الأدنى للتشابه | 0.5 |
TOP_K_MEMORIES |
عدد الذكريات المسترجعة | 3 |
MEMORY_DB_PATH |
مسار قاعدة البيانات | mowjn_memory.db |
MAX_WORKERS |
عدد الطلبات المتزامنة | 5 |
| الميزة | الوصف |
|---|---|
| ✅ تخزين دائم | SQLite — لا ضياع عند إعادة التشغيل |
| ✅ اكتشاف التكرار | Deduplication — يمنع حفظ معلومات مكررة |
| ✅ دوال تضاؤل متعددة | أسية / خطية / Step |
| ✅ عمليات دفعات | Batch Operations — معالجة متوازية |
| ✅ تنظيف تلقائي | حذف الذكريات منخفضة الدرجة |
| ✅ إحصائيات فورية | معرفة حجم الذاكرة وحالتها |
Python 3.10+ • Google Gen AI SDK • SQLite • NumPy • ThreadPoolExecutor
مزيد الرشيدي — مطور مهتم بالذكاء الاصطناعي ومعالجة اللغات الطبيعية
هذا المشروع مرخص بموجب MIT License
صُنع بـ ❤️ بواسطة مزيد الرشيدي