مراقبة الإنتاج والخطوات التالية
تتبع التكلفة والتحسين
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% | لا شيء |
أفضل الممارسات
- حدد ميزانيات: عرّف حدود شهرية/يومية
- نبّه على الارتفاعات: اكتشف التكاليف الخارجة عن السيطرة مبكراً
- اختبار A/B للنماذج: جد توازن الجودة/التكلفة
- راقب الاتجاهات: تتبع التكلفة لكل استعلام عبر الزمن
- مراجعة منتظمة: حدد فرص التحسين
نصيحة: ابدأ بأغلى نموذج، ثم جرب البدائل الأرخص. فقدان الجودة أسهل في الاكتشاف من إيجاد النموذج الصحيح مقدماً.
التالي، سنستكشف كيفية دمج تقييم LLM في خط أنابيب CI/CD الخاص بك. :::