مراقبة الإنتاج والخطوات التالية

التنبيهات واتفاقيات مستوى الخدمة

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

أنظمة LLM في الإنتاج تحتاج مراقبة استباقية. حدد عتبات الجودة، اضبط التنبيهات، وعرّف أهداف مستوى الخدمة (SLOs) لاكتشاف المشاكل قبل المستخدمين.

ما هي SLOs لـ LLMs؟

أهداف مستوى الخدمة تحدد مستويات الجودة المقبولة:

نوع SLO مثال العتبة
زمن الاستجابة P95 وقت الاستجابة < 3 ثوانٍ
الجودة درجة المساعدة > 0.8
التوفر الاستجابات الناجحة > 99.5%
التكلفة التكلفة لكل استعلام < $0.05

تحديد SLOs الجودة

عيّن عتبات لمقاييس التقييم:

# SLOs الجودة لروبوت دعم
QUALITY_SLOS = {
    "accuracy": {
        "target": 0.90,
        "warning": 0.85,
        "critical": 0.75
    },
    "helpfulness": {
        "target": 0.85,
        "warning": 0.80,
        "critical": 0.70
    },
    "response_time_p95_ms": {
        "target": 2000,
        "warning": 3000,
        "critical": 5000
    }
}

إعداد التنبيهات

تنبيهات LangSmith

LangSmith يدعم التنبيه على مقاييس التتبع:

# اضبط التنبيه في واجهة LangSmith:
# 1. انتقل إلى Settings > Alerts
# 2. أنشئ قاعدة تنبيه جديدة
# 3. عيّن الشروط:

alert_config = {
    "name": "تنبيه انخفاض الجودة",
    "condition": "avg(helpfulness_score) < 0.8",
    "window": "1 hour",
    "notification": {
        "type": "slack",
        "channel": "#llm-alerts"
    }
}

نمط تنبيه MLflow

import mlflow

def check_quality_slos(results: dict) -> list:
    """تحقق إذا كانت نتائج التقييم تلبي SLOs."""
    violations = []

    for metric, thresholds in QUALITY_SLOS.items():
        value = results.get(metric)
        if value is None:
            continue

        if value < thresholds["critical"]:
            violations.append({
                "metric": metric,
                "level": "critical",
                "value": value,
                "threshold": thresholds["critical"]
            })
        elif value < thresholds["warning"]:
            violations.append({
                "metric": metric,
                "level": "warning",
                "value": value,
                "threshold": thresholds["warning"]
            })

    return violations

# بعد كل تقييم
violations = check_quality_slos(eval_results.metrics)
if violations:
    send_alert(violations)

تنبيهات W&B Weave

import weave

@weave.op()
def production_eval_with_alerts():
    """شغّل التقييم وتحقق من SLOs."""
    results = await evaluation.evaluate(production_model)

    # تحقق مقابل SLOs
    if results.summary["accuracy"] < 0.85:
        # أطلق التنبيه
        send_slack_alert(
            message=f"خرق SLO الجودة: الدقة = {results.summary['accuracy']}"
        )

    return results

قنوات التنبيه

اضبط قنوات إشعار متعددة:

القناة حالة الاستخدام
Slack إشعارات الفريق الفورية
Email تقارير وملخصات مفصلة
PagerDuty تنبيهات المناوبة الحرجة
Webhooks تكاملات مخصصة

منع إرهاق التنبيهات

تجنب الكثير من التنبيهات:

  1. عيّن عتبات مناسبة: ليست حساسة جداً
  2. استخدم تحذير قبل حرج: اكتشف المشاكل مبكراً
  3. اجمع التنبيهات: لا تنبه لكل طلب
  4. أضف السياق: ضمّن معلومات ذات صلة
  5. عرّف مسارات التصعيد: تحذير → حرج → مناوبة

لوحة SLO

تتبع الامتثال لـ SLO عبر الزمن:

لوحة SLO - آخر 7 أيام
───────────────────────────────────────────
المقياس         │ الهدف  │ الحالي │ الحالة
───────────────────────────────────────────
الدقة           │ 90%    │ 92.3%   │ ✅
المساعدة        │ 85%    │ 87.1%   │ ✅
P95 زمن الاستجابة │ 2s     │ 1.8s    │ ✅
معدل الأخطاء    │ <1%    │ 0.3%    │ ✅
التكلفة/استعلام │ $0.05  │ $0.042  │ ✅
───────────────────────────────────────────
الامتثال الإجمالي لـ SLO: 100%

أفضل الممارسات

الممارسة لماذا
ابدأ بعدد قليل من SLOs أضف المزيد مع فهم نظامك
استخدم ميزانيات الخطأ اسمح ببعض خروقات SLO
راجع بانتظام اضبط العتبات حسب الحاجة
وثّق دفاتر التشغيل ماذا تفعل عند إطلاق التنبيهات

نصيحة: ابدأ بـ 3-5 SLOs رئيسية. يمكنك دائماً إضافة المزيد، لكن الكثير مبكراً يؤدي لإرهاق التنبيهات.

التالي، سنستكشف تتبع التكلفة واستراتيجيات التحسين. :::

اختبار

الوحدة 6: مراقبة الإنتاج والخطوات التالية

خذ الاختبار