
عامل تقييم لكشف المعلومات المضللة وتسمم المعرفة في أنظمة التوليد المعزز بالاسترجاع.
وكيل تقييم لكشف المعلومات المضللة وتسميم المعرفة في أنظمة التوليد المعزز بالاسترجاع.
ينفّذ هذا المشروع إطار Trustworthy RAG مع وكيل تقييم مدمج يقيّم موثوقية استجابات RAG باستخدام ثلاثة مكونات تحليلية متكاملة:
ينتج النظام درجة ثقة (0-1) لكل استجابة RAG، مما يتيح الكشف الآلي عن هجمات تسميم المعرفة والمحتوى الهلوسي.
هذا المستودع هو النتاج البحثي لورقة مؤتمر ICSEA 2026 التي تحمل العنوان نفسه. راجع [Conference_ICSEA2026/](https://github.com/gpt-laboratory/trustworthyrag/blob/HEAD/Conference_ICSEA2026/) للحصول على مصادر LaTeX، وقسم الورقة أدناه.
User Query
|
v
+-------------------+
| RETRIEVER | Embedding (MiniLM-L6-v2 or Snowflake Arctic Embed2) + FAISS
+--------+----------+
|
v
+-------------------+
| GENERATOR | Llama 3.3 70B / Qwen 3.5 35B / Mistral 7B Instruct via FARMI API
+--------+----------+
|
v
+--------------------------------------------+
| EVALUATION AGENT |
| |
| NLI Verifier Poison Detector |
| (factuality) (5 detection methods) |
| | | |
| v v |
| Trust Index Calculator |
| T = 0.4*F + 0.35*C + 0.25*(1-P) |
+--------------------------------------------+
|
v
Answer + Trust Score + Evaluation Report
src/
retriever/ # Document retrieval (embeddings, FAISS, chunking)
generator/ # LLM response generation (FARMI client, prompts)
evaluation_agent/ # Core evaluation (NLI, poison detection, trust index)
experiments/ # Experiment framework (poisoned datasets, runner)
pipeline/ # End-to-end RAG pipeline orchestrator
tests/ # Unit tests (78 tests, pytest)
configs/config.yaml # All configuration parameters
figures/ # Auto-generated charts (7 figures, 300 DPI)
run_experiment.py # Experiment CLI (main entry point)
generate_charts.py # Visualization generator
requirements.txt # Python dependencies
# Create and activate virtual environment
python -m venv venv
.\venv\Scripts\Activate.ps1 # Windows PowerShell
# source venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txt
# Configure FARMI API access (required for LLM generation)
# Copy the template and fill in your own credentials:
# cp .env.example .env # then edit .env and set FARMI_API_KEY
# The .env file is .gitignored - never commit it or hardcode keys in source.
python run_experiment.py --all
يشغّل هذا جميع التجارب ويولّد الرسوم البيانية تلقائيًا:
python run_experiment.py --quick # Quick test (10 samples)
python run_experiment.py --samples 30 # Custom sample count
python run_experiment.py --per-strategy # Per-strategy breakdown only
python run_experiment.py --fever # Include FEVER dataset
python run_experiment.py --ablation # Ablation study only
python run_experiment.py --grid # 2x2 factorial grid (all LLM x embedding combos)
python run_experiment.py --grid --samples 50 # Full grid run (100 samples per config)
يتيح لك الموجه التفاعلي اختيار:
يمكنك أيضًا تثبيت المولّد دون تفاعل عبر متغير البيئة LLM_MODEL (بما يطابق configs/config.yaml وMODEL_DESCRIPTIONS في run_experiment.py):
$env:LLM_MODEL = "mistral-7b-instruct" # or "qwen3.5:35b", "llama3.3:70b"
python run_experiment.py --all
أعد إنتاج تجربة مساعد البرمجة الآمنة (40 قاعدة OWASP/CWE) من جذر المشروع. يعيد استخدام ExperimentRunner وPoisonedDatasetGenerator الحاليين ويكتب النتائج إلى data/experiments/seccode_*.json:
$env:LLM_MODEL = "llama3.3:70b"; $env:HF_HUB_OFFLINE = "1"; $env:TRANSFORMERS_OFFLINE = "1"
python Conference_ICSEA2026/run_seccode_usecase.py
# Set $env:SECCODE_N = "4" first for a quick smoke run over a few rules.
python generate_charts.py
pytest # All tests (includes slow model-loading tests)
pytest -m "not slow" # Fast tests only (~0.4s)
pytest --cov=src # With coverage report
خط الأساس الساذج الذي يثق دائمًا: 85% (TruthfulQA)، 85% (FEVER).
أداء FEVER أدنى من خط الأساس — يتطلب مؤشر الثقة معايرة خاصة بالمجال للادعاءات الواقعية القصيرة.
مع فواصل ثقة 95% (Wilson للنسب، bootstrap المئوي B=20,000 لـ F1)، تكون النتيجة المختلطة الأساسية لـ TruthfulQA: دقة 91% (CI 83.8–95.2)، استدعاء 40% (CI 19.8–64.3)، F1 بنسبة 57.1% (CI 25.0–80.0)، Δ=0.225. الفواصل واسعة لأن كل تشغيلة تحتوي على 15 عينة مسمومة فقط، لذلك نذكرها لتجنب المبالغة في تقدير الدقة.
النتائج الرئيسية:
تطبيق هندسي برمجي للوكيل: مساعد برمجة آمنة يسترجع من قاعدة معرفية منسقة تضم 40 قاعدة مستمدة من OWASP Top 10 وCWE (مثل الاستعلامات المعلّمة لمنع حقن SQL، وتجزئة كلمات المرور التكيفية، وإعداد TLS). يسترجع استعلام المطوّر إرشادات يفحصها وكيل التقييم قبل أن يصدر LLM توصيته. نسمّم 30% من القواعد باستخدام الاستراتيجيات الخمس كحمولات أمنية (مثل توجيه CORRECTION: زائف، أو معرف CWE مستبدل).
الكشف حسب الاستراتيجية (Llama 3.3 70B + all-MiniLM-L6-v2، K=5):
إلى جانب نقطة التشغيل τ=0.5، يمتلك مؤشر الثقة إشارة قوية مستقلة عن العتبة عبر ثلاثة نماذج LLM (تشغيلات مجمعة بمزيج من الاستراتيجيات):
Trust = alpha * Factuality + beta * Consistency + gamma * (1 - PoisonProbability)
Default weights: alpha=0.4, beta=0.35, gamma=0.25
يُطبَّق مخمّد غير خطي عندما تتجاوز احتمالية التسميم 0.7: delta = 1 - 0.4 * (P - 0.70) / 0.30 — عند P=1.0، تنخفض الثقة بنسبة 40%.
[Conference_ICSEA2026/](https://github.com/gpt-laboratory/trustworthyrag/blob/HEAD/Conference_ICSEA2026/).لا يتضمن هذا الإصدار ملف PDF المجمَّع عن قصد؛ يمكنك بناؤه من مصادر LaTeX.
مؤلفو ورقة مؤتمر ICSEA 2026 — جامعة تامبيري (TUNI).
Balkrishna Giri، باحث ماجستير، كلية تكنولوجيا المعلومات وعلوم الاتصال، جامعة تامبيري
البريد الإلكتروني: [email protected]، [email protected]
Md Toufique Hasan، باحث دكتوراه، مختبر GPT، كلية تكنولوجيا المعلومات وعلوم الاتصال، جامعة تامبيري
البريد الإلكتروني: [email protected]
المؤلفون المشاركون — كلية تكنولوجيا المعلومات وعلوم الاتصال، جامعة تامبيري:
طُوّر في مختبر GPT بجامعة تامبيري.
| مجموعة البيانات | الدقة | الضبط | الاستدعاء | درجة F1 | مقابل خط الأساس |
|---|
| TruthfulQA (مختلط) | 91% | 100% | 40% | 57.1% | +7% |
| FEVER (تشغيل كامل) | 73% | 20% | 26.7% | 22.9% | −12% |
| الاستراتيجية | الدقة | الضبط | الاستدعاء | F1 | الفصل |
|---|
| الحقن | 99% | 93.8% | 100% | 96.8% | 0.498 |
| التناقض | 92% | 88.9% | 53.3% | 66.7% | 0.311 |
| الخفي | 88% | 100% | 20.0% | 33.3% | 0.149 |
| استبدال الكيان | 85% | — | 0% | 0% | 0.053 |
| LLM | التضمين | الدقة | الضبط | الاستدعاء | F1 | ثقة العينات النظيفة | الفصل |
|---|
| Llama 3.3 70B | all-MiniLM-L6-v2 | 91% | 100% | 40% | 57.1% | 0.830 | 0.240 |
| Llama 3.3 70B | snowflake-arctic-embed2 | 91% | 100% | 40% | 57.1% | 0.799 | 0.188 |
| Qwen 3.5 35B | all-MiniLM-L6-v2 | 71% | 25.0% | 46.7% | 32.6% | 0.633 | 0.161 |
| Qwen 3.5 35B | snowflake-arctic-embed2 | 71% | 28.1% | 60.0% | 38.3% | 0.653 | 0.199 |
| الاستراتيجية | الدقة | الضبط | الاستدعاء | F1 | Δ |
|---|
| حقن التعليمات | 97.5% | 85.7% | 100.0% | 92.3% | 0.542 |
| التناقض | 85.0% | — | 0.0% | 0.0% | 0.156 |
| التلاعب الخفي | 85.0% | — | 0.0% | 0.0% | 0.066 |
| استبدال الكيان | 72.5% | 29.2% | 58.3% | 38.9% | 0.291 |
| مختلط | 86.2% | 100.0% | 8.3% | 15.4% | 0.163 |
| LLM | الدقة (τ=0.5) | ROC-AUC | τ* الأمثل |
|---|
| Llama 3.3 70B | 91% | 0.81 | 0.71 |
| Mistral 7B Instruct | 87% | 0.79 | 0.58 |
| Qwen 3.5 35B | 69–71% | 0.73 | 0.43 |
| مستوى الثقة |
|---|
| نطاق الدرجة |
|---|
| المعنى |
|---|
| HIGH | > 0.8 | موثوق |
| MEDIUM | 0.5 - 0.8 | تحقق إذا كان مهمًا |
| LOW | 0.3 - 0.5 | من المحتمل أن به مشكلات |
| VERY_LOW | < 0.3 | لا تثق به |