
خط أنابيب بحثي يبني تجارب ناجحة موثّقة وينظّمها في سجلات تشكيل لتسميم مهارات النموذج تدريجيًا عبر مراحل HTS وLEGSA وGCTIR.
يوفر هذا المستودع تنفيذ SkillPoison، وهي خط أنابيب لمرحلة التشكيل لبناء تجارب ناجحة موثّقة وتنظيمها في سجلات تشكيل.
.
├── assets/
│ └── framework.png
├── configs/
│ └── main.yaml
├── core/
│ ├── hts/
│ ├── legsa/
│ ├── gctir/
│ ├── utils/
│ ├── config.py
│ └── pipeline.py
├── prompts/
│ ├── legsa/
│ ├── target_audit.txt
│ ├── counterfactual_generation.txt
│ └── counterfactual_audit.txt
├── scripts/
│ └── run_skillpoison.py
├── .env.example
├── requirements.txt
└── README.md
يحتوي core/ على تنفيذ HTS وLEGSA وGCTIR؛ ويخزّن prompts/ قوالب المطالبات الموجّهة للنموذج؛ ويخزّن configs/ إعدادات التجارب؛ ويُعدّ scripts/run_skillpoison.py نقطة التنفيذ الرئيسية.
يُنصح باستخدام Python 3.10 أو أحدث.
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
اضبط نقطة نهاية النموذج قبل التشغيل الفعلي:
export MODEL_API_KEY="your-api-key"
export MODEL_BASE_URL="https://your-endpoint/v1"
export MODEL_NAME="your-model-name"
يتوفر قالب لمتغيرات البيئة في .env.example.
ملف الإعدادات الرئيسي هو:
configs/main.yaml
يحدد دليل الإخراج، وإعدادات النموذج، والسلوك المستهدف، ونموذج التضمين، وعتبات HTS، ودليل مطالبات LEGSA، وإعدادات تشكيل GCTIR.
يقبل خط الأنابيب إدخالاً بصيغة JSON أو JSONL. بالنسبة إلى JSON، استخدم قائمة experiences:
{
"experiences": [
{
"id": "example_001",
"category": "category_name",
"task_text": "task input",
"solution": "externally verified solution",
"trajectory": {
"task_input": "task input",
"model_output": "recorded successful output"
},
"requirement_checks": [true],
"verified_success": true,
"output_format": "text"
}
]
}
يجب أن يحتوي كل مرشح على id فريد، ومعلومات المهمة/الفئة، ومسار ناجح مسجّل، ونتائج التحقق، وصيغة إخراج (text أو json أو python).
python scripts/run_skillpoison.py \
--config configs/main.yaml \
--input /path/to/candidate_experiences.json \
--out outputs/run
ينفّذ خط الأنابيب:
Candidate Experiences
↓
HTS
↓
LEGSA
↓
GCTIR
↓
Formation Records
يتجاوز --out دليل الإخراج المحدد في configs/main.yaml.
يكتب التشغيل القياسي:
outputs/run/
├── selection_audit.json
├── formation_records.json
└── run_summary.json
selection_audit.json: نتائج اختيار المرشحين والتحقق منهم.formation_records.json: سجلات التشكيل النهائية.run_summary.json: إحصاءات التشغيل والإعدادات وملخص الاستخدام.لإعادة التنفيذ الحتمي من القطع الأثرية الوسيطة المسجّلة:
python scripts/run_skillpoison.py \
--config configs/main.yaml \
--input /path/to/replay_input.json \
--out outputs/replay \
--replay
يجب أن يحتوي إدخال الإعادة مسبقًا على القطع الأثرية المسجّلة التي يتطلبها خط الأنابيب.