Inspect AI - إطار عمل تقييم النموذج اللغوي
Inspect هو إطار عمل مفتوح المصدر لـ تقييمات النماذج اللغوية الكبيرة، تم إنشاؤه من قبل معهد الذكاء الاصطناعي بالمملكة المتحدة. يعطي التقييمات بنية واضحة — مجموعة بيانات من العينات، حلّال خط أنابيب ينتج إجابات، و مُصنف يصنفها — بالإضافة إلى عارض من الدرجة الأولى لفحص ما رآه النموذج بالضبط وما فعله على كل عينة. تم تصميمه لتقييم صارم وقابل للتكرار، بما في ذلك المهام الوكالية واستخدام الأدوات، ويُستخدم على نطاق واسع لاختبار السلامة والقدرة.
التثبيت
| الطريقة | الأمر |
|---|
| pip | pip install inspect-ai |
| uv | uv add inspect-ai |
| مفتاح النموذج | export OPENAI_API_KEY=... / ANTHROPIC_API_KEY=... |
| VS Code | ثبّت ملحق Inspect للعارض |
| التحقق | inspect --version |
كتل البناء الثلاثة
| المكون | الدور |
|---|
| مجموعة البيانات | عينات مع input و target |
| الحلّال | خطوات تحول المدخلات إلى مخرجات النموذج |
| المُصنف | يصنف المخرجات مقابل الهدف |
تقييم الحد الأدنى
from inspect_ai import Task, task
from inspect_ai.dataset import example_dataset
from inspect_ai.scorer import model_graded_fact
from inspect_ai.solver import generate, system_message
@task
def security_qa():
return Task(
dataset=example_dataset("theory_of_mind"),
solver=[
system_message("You are a concise security expert."),
generate(),
],
scorer=model_graded_fact(),
)
inspect eval security_qa.py --model openai/gpt-4o
تشغيل التقييمات
| الأمر | الوصف |
|---|
inspect eval task.py --model openai/gpt-4o | تشغيل تقييم |
inspect eval task.py --limit 20 | فقط أول 20 عينة |
inspect eval task.py --model-base-url URL | نقطة نهاية مخصصة/محلية |
inspect eval task.py -T param=value | مرر معاملات المهمة |
inspect eval-retry <log> | أعد محاولة العينات الفاشلة |
inspect view | افتح عارض السجل |
الحلّالات
| الحلّال | ماذا يفعل |
|---|
generate() | استدعِ النموذج |
system_message(...) | أضف موجه النظام |
chain_of_thought() | أضف موجهة CoT |
self_critique() | يراجع النموذج إجابته الخاصة |
use_tools([...]) | فعّل استدعاء الأداة |
basic_agent() | حلقة وكيل بأسلوب ReAct |
المُصنفات
| المُصنف | يصنف بـ |
|---|
match() | تطابق دقيق/فرعي |
includes() | يظهر الهدف في المخرجات |
pattern(regex) | استخراج Regex |
model_graded_qa() | حكم النموذج ضد مقياس |
model_graded_fact() | حكم النموذج للتكافؤ الحقائقي |
choice() | إجابة متعددة الخيارات |
تقييمات الأدوات والوكالة
from inspect_ai.tool import bash, python
from inspect_ai.solver import basic_agent
solver = basic_agent(tools=[bash(), python()], max_attempts=3)
| القدرة | ملاحظة |
|---|
| استخدام الأداة | أدوات مدمجة bash, python, ويب |
| الحَجْر | شغّل الأدوات في Docker للعزل |
| متعدد الأدوار | حلقات الوكيل مع حدود المحاولة |
| أدوات مخصصة | زيّن دوال Python كأدوات |
العارض
| يعرض | لماذا مهم |
|---|
| كل عينة | المدخلات، الهدف، المخرجات، النقاط |
| النسخة الكاملة | كل رسالة، استدعاء أداة، والنتيجة |
| منطق التصنيف | لماذا صنّف الحكم كما فعل |
| المقاييس | الدقة والمقاييس المخصصة |
القدرة على قراءة النسخة من الفشل هي ما يحوّل درجة إلى نتيجة قابلة للتنفيذ.
Inspect مقابل أطر عمل تقييم أخرى
| الجانب | Inspect | DeepEval | Ragas |
|---|
| الأصل | معهد الذكاء الاصطناعي بالمملكة المتحدة | Confident AI | انفجار التدرجات |
| التركيز | تقييمات عامة + وكالية | تقييمات تطبيق بأسلوب اختبار الوحدة | مقاييس خاصة بـ RAG |
| العارض | غني وفئة أولى | التقارير/لوحة المعلومات | النقاط |
| الأفضل لـ | تقييمات صارمة للقدرة/السلامة | بوابة مقياس CI | نقاط خط أنابيب RAG |
يكمل DeepEval لاختبار نمط CI و Ragas لمقاييس RAG الخاصة.
الموارد