عن المشروع
هذا المشروع عبارة عن وكيل تحليل مالي ذكي، تكمن فكرته الأساسية في تمكين نموذج اللغة الكبير (DeepSeek) من اتخاذ قرارات مستقلة بشأن خطوات التحليل عبر استدعاء الدوال (Function Calling)، مما يؤدي في النهاية إلى إصدار تقرير تحليل مالي منظم وموثق.
من الناحية المعمارية، تقع الحلقة الرئيسية في app/agent/loop.py: حيث يتم إرسال مطالبات النظام (System Prompts) مع مجموعة الأدوات إلى واجهة chat(tools) الخاصة بـ DeepSeek. بعد ذلك، يقوم النموذج بإرجاع tool_calls التي يتم تنفيذها بواسطة dispatch، وتُعاد النتائج كرسائل tool، ويستمر التكرار حتى الوصول إلى الإجابة النهائية.
تتضمن مجموعة الأدوات أربع قدرات رئيسية:
- query_db(sql): تنفيذ استعلامات SQL للقراءة فقط على قاعدة بيانات SQLite المالية، حيث يُسمح فقط بـ SELECT / WITH / PRAGMA، ويُمنع الكتابة تماماً.
- calc_financial_model(model, ...): حساب المؤشرات المالية مثل هامش الربح الإجمالي، صافي هامش الربح، نسبة السيولة، نسبة السيولة السريعة، نسبة الدين إلى الأصول، ROE، ROA، معدل الدوران، WACC، DCF، IRR، وخسائر الائتمان المتوقعة. تم تنفيذها بلغة Python نقية مع معادلات قياسية قابلة للاختبار.
- rag_search(q): استرجاع خفيف يعتمد على TF-IDF، يغطي معايير المحاسبة، التدقيق، التقييم، ومعارف تعلم الآلة/معالجة اللغات الطبيعية، مع تخزين البيانات في app/knowledge/corpus.json دون الاعتماد على قواعد بيانات المتجهات.
- run_python(code): تنفيذ نصوص الحسابات المالية كعملية فرعية (Subprocess) مع ميزات المهلة الزمنية واقتطاع المخرجات.
تستخدم طبقة الخدمة FastAPI، وتوفر واجهات برمجة تطبيقات مثل GET / (واجهة الويب)، POST /api/agent/analyze، GET /api/rag/search، GET /tools، وGET /health. توفر web/index.html واجهة متصفح لعرض تقارير التحليل وتتبع مسار استدعاء الأدوات (tool_trace). يتضمن المشروع أيضاً Dockerfile، وسير عمل GitHub Actions CI، واختبارات pytest.
تتضمن خطوات البدء السريع: تثبيت تبعيات requirements-dev.txt، نسخ .env.example إلى .env وإدخال مفتاح API الخاص بـ DeepSeek، تشغيل نص برمجي لإنشاء قاعدة بيانات مالية تجريبية، ثم تشغيل الخدمة باستخدام uvicorn. يقدم ملف README أمثلة curl لفحص الصحة، وقائمة الأدوات، واستعلامات RAG، وطلبات التحليل المالي.
من حيث المعايير الهندسية، يركز المشروع على فرض القراءة فقط لاستعلامات قاعدة البيانات، وعزل تنفيذ الكود في عمليات فرعية مع تحديد مهلة زمنية، وتسجيل سجلات tool_trace المنظمة التي توضح اسم كل أداة، ومعاملاتها، ونتائجها، والوقت المستغرق، بالإضافة إلى النشر عبر الحاويات (Containerization) والاختبار الآلي عبر CI. يُصنف المشروع كمشروع عملي في مجال المعلوماتية المالية ووكلاء الذكاء الاصطناعي موجه لعروض التوظيف.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.