MLflow لتقييم LLM

تكامل DeepEval وRAGAS

3 دقيقة للقراءة

MLflow يتكامل مع أطر التقييم الخارجية الشائعة من خلال API الخاص به get_judge، مما يتيح لك استخدام مقاييس متخصصة من DeepEval وRAGAS داخل تجارب MLflow.

لماذا تستخدم الأطر الخارجية؟

الإطار التخصص
DeepEval اختبار وحدات LLM، مقاييس G-Eval
RAGAS مقاييس خاصة بـ RAG (الاسترجاع + التوليد)
MLflow تتبع التجارب، سجل النماذج

بدمجها، تحصل على مقاييس متخصصة مع بنية تتبع MLflow.

استخدام API الخاص بـ get_judge

دالة get_judge تنشئ مسجلين متوافقين مع MLflow من الأطر الخارجية:

from mlflow.genai.judges import get_judge

# احصل على حاكم من إطار خارجي
ragas_faithfulness = get_judge(
    judge_type="ragas/faithfulness"
)

deepeval_coherence = get_judge(
    judge_type="deepeval/coherence"
)

تكامل RAGAS

RAGAS يوفر مقاييس مصممة خصيصاً لأنظمة RAG:

from mlflow.genai.judges import get_judge
from mlflow.genai import evaluate

# مقاييس RAGAS لتقييم RAG
ragas_scorers = [
    get_judge("ragas/faithfulness"),
    get_judge("ragas/answer_relevancy"),
    get_judge("ragas/context_precision"),
    get_judge("ragas/context_recall")
]

# بيانات تقييم RAG
eval_data = [
    {
        "inputs": {
            "question": "ما هي سياسة الإرجاع؟",
            "contexts": [
                "الإرجاع مقبول خلال 30 يوماً.",
                "الاستردادات تُعالج في 5-7 أيام عمل."
            ]
        },
        "outputs": {
            "answer": "يمكنك إرجاع المنتجات خلال 30 يوماً لاسترداد كامل."
        },
        "expectations": {
            "ground_truth": "سياسة إرجاع 30 يوماً مع استرداد كامل."
        }
    }
]

results = evaluate(
    data=eval_data,
    scorers=ragas_scorers
)

شرح مقاييس RAGAS

المقياس ما يقيسه
Faithfulness هل الإجابة مبنية على السياقات المسترجعة؟
Answer Relevancy هل الإجابة تعالج السؤال؟
Context Precision هل السياقات المسترجعة ذات صلة؟
Context Recall هل السياقات تحتوي المعلومات المطلوبة؟

تكامل DeepEval

DeepEval يوفر أنماط اختبار الوحدات لـ LLMs:

from mlflow.genai.judges import get_judge
from mlflow.genai import evaluate

# مقاييس DeepEval
deepeval_scorers = [
    get_judge("deepeval/coherence"),
    get_judge("deepeval/hallucination"),
    get_judge("deepeval/toxicity")
]

eval_data = [
    {
        "inputs": {"question": "اشرح الحوسبة الكمية"},
        "outputs": {"answer": "الحوسبة الكمية تستخدم الكيوبتات..."}
    }
]

results = evaluate(
    data=eval_data,
    scorers=deepeval_scorers
)

شرح مقاييس DeepEval

المقياس ما يقيسه
Coherence التدفق المنطقي والوضوح
Hallucination الادعاءات غير المدعومة
Toxicity المحتوى الضار
Bias الصور النمطية غير العادلة

دمج جميع الأطر

استخدم MLflow وRAGAS وDeepEval معاً:

from mlflow.genai import evaluate
from mlflow.genai.scorers import answer_correctness
from mlflow.genai.judges import get_judge, make_judge

# MLflow مدمج
mlflow_scorers = [answer_correctness()]

# RAGAS لجودة RAG
ragas_scorers = [
    get_judge("ragas/faithfulness"),
    get_judge("ragas/context_precision")
]

# DeepEval للسلامة
deepeval_scorers = [
    get_judge("deepeval/toxicity")
]

# مخصص للمجال
custom_scorers = [
    make_judge(
        name="brand_alignment",
        judge_prompt="هل يطابق هذا صوت علامتنا التجارية؟ {{ outputs }}",
        output_type="numeric",
        output_range=(1, 5)
    )
]

# تشغيل تقييم شامل
results = evaluate(
    data=eval_data,
    scorers=mlflow_scorers + ragas_scorers + deepeval_scorers + custom_scorers
)

متطلبات التثبيت

# لتكامل RAGAS
pip install ragas

# لتكامل DeepEval
pip install deepeval

# MLflow مع GenAI
pip install mlflow>=3.4.0

تتبع النتائج المدمجة

جميع المقاييس تُتتبع في MLflow:

import mlflow

with mlflow.start_run(run_name="comprehensive-eval"):
    results = evaluate(
        data=eval_data,
        scorers=all_scorers
    )

    # جميع المقاييس من جميع الأطر تُسجل
    print(results.metrics)
    # {
    #     'answer_correctness/mean': 0.85,
    #     'faithfulness/mean': 0.92,
    #     'context_precision/mean': 0.78,
    #     'toxicity/mean': 0.02,
    #     'brand_alignment/mean': 4.2
    # }

متى تستخدم كل إطار

الحاجة استخدم
جودة LLM العامة مسجلو MLflow المدمجون
تقييم نظام RAG مقاييس RAGAS
السلامة والامتثال مقاييس DeepEval
معايير خاصة بالمجال MLflow make_judge

نصيحة: ابدأ بإطار واحد، ثم أضف آخرين مع نمو احتياجات التقييم.

مع إتقان MLflow، لنستكشف W&B Weave—منصة تقييم قوية أخرى. :::

اختبار

الوحدة 4: MLflow لتقييم LLM

خذ الاختبار