Record comparative local model evaluation
This commit is contained in:
@@ -101,7 +101,7 @@ python scripts/run_model_eval.py --model gemma4:e2b --warmup
|
||||
python scripts/run_model_eval.py --model qwen2.5:1.5b-instruct-q4_K_M --warmup
|
||||
```
|
||||
|
||||
الـAPI يجب أن يكون شغالًا على `127.0.0.1:8000` والنماذج مختارة/مثبتة محليًا. `--warmup` يرسل سؤال إحماء واحدًا قبل قياس الحالات، والتقرير يسجل زمن الإحماء وملخص متوسط/وسيط/أقل/أعلى زمن. كل نتيجة تحفظ في `evals/results/`. المراجعة البشرية الأولية تستخدم مقياسًا من 0 إلى 2 لكل سؤال: 0 إخفاق، 1 جزئي، 2 مستوفٍ للمعيار؛ مرّة واحدة من خمسة أسئلة لا تكفي لقرار نهائي، ولا تقيس استهلاك الذاكرة حتى الآن.
|
||||
الـAPI يجب أن يكون شغالًا على `127.0.0.1:8000` والنماذج مختارة/مثبتة محليًا. يطلب المشغّل جلسة loopback محلية مؤقتة ويلغيها بعد التقييم. `--warmup` يرسل سؤال إحماء واحدًا قبل قياس الحالات، والتقرير يسجل زمن الإحماء وملخص متوسط/وسيط/أقل/أعلى زمن. كل نتيجة تحفظ في `evals/results/`. المراجعة البشرية الأولية تستخدم مقياسًا من 0 إلى 2 لكل سؤال: 0 إخفاق، 1 جزئي، 2 مستوفٍ للمعيار؛ مرّة واحدة من خمسة أسئلة لا تكفي لقرار نهائي، ولا تقيس استهلاك الذاكرة حتى الآن.
|
||||
|
||||
اختبار استرجاع RAG يستخدم مجموعة صغيرة من ملفات عربية مؤقتة عبر API، ويقيس Hit@1/3 وMRR ووجود الدليل ثم يزيل الملفات من الفهرس:
|
||||
|
||||
@@ -110,7 +110,7 @@ python scripts/eval_knowledge_retrieval.py
|
||||
python scripts/eval_knowledge_retrieval.py --dataset evals/knowledge_retrieval_project.jsonl
|
||||
```
|
||||
|
||||
الاختبار الأول يستخدم 11 سؤالًا وملفات اصطناعية صغيرة؛ نتيجته بعد إضافة مرادفات محدودة للصوت 100% في Hit@1/3 وMRR ووجود الدليل، لكنه لا يقيس جودة الإجابة. الاختبار الثاني يفهرس نسخًا مؤقتة من ملفات المشروع الحقيقية ويقيس 9 أسئلة عن سلوك الكود. بعد توزيع النتائج على مقطعين كحد أقصى لكل ملف، حقق Hit@1=66.7% وHit@3=100% وMRR=83.3% ووجود الدليل=100%. المؤشر الثاني كشف تحسنًا في تغطية المصادر، لكن عدد الأسئلة قليل والبحث معجمي ولا يثبت فهمًا دلاليًا عامًا. التقارير في `evals/results/retrieval_2026-10-02_140339.json`, `...140538.json`, `...141132.json` و`...141337.json`.
|
||||
الاختبار الأول يستخدم 11 سؤالًا وملفات اصطناعية صغيرة؛ نتيجته بعد إضافة مرادفات محدودة للصوت 100% في Hit@1/3 وMRR ووجود الدليل، لكنه لا يقيس جودة الإجابة. الاختبار الثاني يفهرس نسخًا مؤقتة من ملفات المشروع الحقيقية ويقيس 9 أسئلة عن سلوك الكود. آخر تشغيل (2026-10-03) استخدم البحث الهجين مع `granite-embedding:278m`: Hit@1=66.7%، Hit@3=100%، MRR=83.3%، ووجود الدليل=8/9. يُصحح الاختبار توقع حد PDF ليطابق الثابت الفعلي. كشف التشغيل سؤالًا عن صلاحيات الأداة لم يسترجع المقطع الدقيق؛ العينة صغيرة ولا تقيس جودة الإجابات. المشغّل يحصل على جلسة محلية مؤقتة، يحذف الوثائق المفهرسة ويلغي الجلسة، وتبلغ المهلة الافتراضية للفهرسة 180 ثانية (`--request-timeout`). التقارير في `evals/results/retrieval_2026-10-02_140339.json`, `...140538.json`, `...141132.json`, `...141337.json`، و`retrieval_2026-10-03_145357.json`.
|
||||
|
||||
يدعم الفهرس بحثًا هجينًا: FTS5 للمطابقة النصية مع متجهات تشابه محلية. للحصول على البحث الدلالي ثبّت نموذج التضمين العربي متعدد اللغات مرة واحدة عبر `ollama pull granite-embedding:278m` (نحو 563MB، ترخيص Apache 2.0)، ثم أعد فهرسة ملفات مساحة العمل حتى تُنشأ متجهاتها. الافتراضي `KNOWLEDGE_EMBEDDING_MODEL=granite-embedding:278m` ويمكن تغييره. يبيّن `POST /v1/agent/knowledge/index` الحقل `semantic_indexed`، ويعيد البحث `search_mode` بقيمة `hybrid` أو `keyword`. إذا لم يتوفر النموذج أو تعذر التضمين، يستمر الفهرس النصي ويعمل البحث دونه؛ لا تُرسل المستندات إلى خدمة خارجية. تجربة محلية بـ3 أسئلة عربية معادَة الصياغة استرجعت الملف الصحيح أولًا في الحالات الثلاث، بتشابه 0.648–0.827. هذه عينة أولية صغيرة وليست قياسًا عامًا للجودة.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user