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

تتبع التكلفة والتحسين

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

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

فهم تكاليف LLM

عامل التكلفة التأثير
توكنات المدخل طول الموجه
توكنات المخرج طول الاستجابة (عادة تكلفة أعلى)
اختيار النموذج تسعير GPT-4 مقابل GPT-4o-mini
حجم الطلبات إجمالي استدعاءات API

تتبع استخدام التوكنات

مع LangSmith

استخدام التوكنات يُتتبع تلقائياً:

from langsmith import traceable

@traceable
def generate_response(prompt: str) -> str:
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}]
    )
    # أعداد التوكنات تُسجل تلقائياً
    return response.choices[0].message.content

عرض في واجهة LangSmith:

  • إجمالي التوكنات لكل تتبع
  • تفصيل توكنات المدخل مقابل المخرج
  • تقديرات التكلفة لكل طلب

مع MLflow

import mlflow

with mlflow.start_run():
    response = call_llm(prompt)

    # سجّل مقاييس التوكنات
    mlflow.log_metric("input_tokens", response.usage.prompt_tokens)
    mlflow.log_metric("output_tokens", response.usage.completion_tokens)
    mlflow.log_metric("total_tokens", response.usage.total_tokens)

    # احسب وسجّل التكلفة
    cost = calculate_cost(
        model="gpt-4o-mini",
        input_tokens=response.usage.prompt_tokens,
        output_tokens=response.usage.completion_tokens
    )
    mlflow.log_metric("cost_usd", cost)

مع W&B Weave

import weave

@weave.op()
def tracked_llm_call(prompt: str) -> dict:
    response = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": prompt}]
    )

    return {
        "content": response.choices[0].message.content,
        "tokens": response.usage.total_tokens,
        "cost": calculate_cost(response.usage)
    }

استراتيجيات تحسين التكلفة

1. توجيه النماذج

استخدم نماذج أرخص عندما تسمح الجودة:

def smart_model_router(query: str, complexity: str) -> str:
    """وجّه للنموذج المناسب بناءً على التعقيد."""
    if complexity == "simple":
        return "gpt-4o-mini"  # $0.15/1M توكن مدخل
    elif complexity == "medium":
        return "gpt-4o"       # $2.50/1M توكن مدخل
    else:
        return "gpt-4"        # $30/1M توكن مدخل

# صنّف تعقيد الاستعلام أولاً
complexity = classify_complexity(query)
model = smart_model_router(query, complexity)
response = call_llm(query, model=model)

2. تحسين الموجهات

موجهات أقصر = تكاليف أقل:

# قبل: 500 توكن
system_prompt_verbose = """
أنت مساعد دعم عملاء مفيد. يجب أن تكون دائماً
مهذباً ومهنياً. عند الإجابة على الأسئلة، قدم
معلومات مفصلة لكن أيضاً كن موجزاً. تأكد من معالجة
جميع أجزاء سؤال العميل...
"""

# بعد: 100 توكن
system_prompt_optimized = """
مساعد دعم عملاء. كن مفيداً، مهذباً، موجزاً.
عالج جميع أجزاء السؤال.
"""

3. حدود طول الاستجابة

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}],
    max_tokens=200  # حد طول المخرج
)

4. التخزين المؤقت

خزّن الاستعلامات المتكررة مؤقتاً:

import hashlib

cache = {}

def cached_llm_call(prompt: str) -> str:
    cache_key = hashlib.md5(prompt.encode()).hexdigest()

    if cache_key in cache:
        return cache[cache_key]

    response = call_llm(prompt)
    cache[cache_key] = response

    return response

لوحة التكلفة

تتبع التكاليف عبر الزمن:

لوحة التكلفة - هذا الشهر
───────────────────────────────────────────
النموذج       │ الطلبات │ التوكنات │ التكلفة
───────────────────────────────────────────
gpt-4o-mini   │ 45,230   │ 12.3M    │ $24.60
gpt-4o        │ 8,420    │ 4.1M     │ $82.00
gpt-4         │ 320      │ 0.2M     │ $12.00
───────────────────────────────────────────
الإجمالي     │ 53,970   │ 16.6M    │ $118.60

المتوقع الشهري: $142.32
الميزانية: $200.00
الحالة: ✅ على المسار

مقايضات التكلفة مقابل الجودة

التحسين توفير التكلفة تأثير الجودة
نموذج أصغر 50-90% قد تنخفض
موجهات أقصر 10-30% عادة لا شيء
التخزين المؤقت متغير لا شيء
حدود الاستجابة 20-40% قد تُقطع
المعالجة الدفعية 10-20% لا شيء

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

  1. حدد ميزانيات: عرّف حدود شهرية/يومية
  2. نبّه على الارتفاعات: اكتشف التكاليف الخارجة عن السيطرة مبكراً
  3. اختبار A/B للنماذج: جد توازن الجودة/التكلفة
  4. راقب الاتجاهات: تتبع التكلفة لكل استعلام عبر الزمن
  5. مراجعة منتظمة: حدد فرص التحسين

نصيحة: ابدأ بأغلى نموذج، ثم جرب البدائل الأرخص. فقدان الجودة أسهل في الاكتشاف من إيجاد النموذج الصحيح مقدماً.

التالي، سنستكشف كيفية دمج تقييم LLM في خط أنابيب CI/CD الخاص بك. :::

اختبار

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

خذ الاختبار