Documentation Index
Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
Use this file to discover all available pages before exploring further.
اختيار النموذج
يمكن أن يؤثر اختيار النموذج المناسب بشكل كبير على التكلفة والجودة.
توصيات حسب المهمة
| المهمة | النماذج الموصى بها | السبب |
|---|
| أسئلة وأجوبة بسيطة | gpt-5-mini, gemini-2.5-flash | سريع، منخفض التكلفة، وكافٍ |
| استدلال معقد | gpt-5.4, claude-opus-4-6, deepseek-r1 | منطق وتخطيط أفضل |
| البرمجة | claude-sonnet-4-6, gpt-4o, deepseek-v3.2 | مُحسّن للكود |
| الكتابة الإبداعية | claude-sonnet-4-6, gpt-4o | جودة نثر أفضل |
| الرؤية/الصور | gpt-4o, claude-sonnet-4-6, gemini-2.5-flash | دعم رؤية أصلي |
| سياق طويل | gemini-2.5-pro, claude-sonnet-4-6 | نوافذ token تتجاوز 1M |
| حساسية للتكلفة | gpt-5-mini, gemini-2.5-flash, deepseek-v3.2 | أفضل قيمة |
مستويات التكلفة
$$$$ Premium: gpt-5.4, claude-opus-4-6
$$$ Standard: claude-sonnet-4-6, gpt-4o
$$ Budget: gpt-5-mini, gemini-2.5-flash
$ Economy: deepseek-v3.2, deepseek-r1
تحسين التكلفة
1. استخدم النماذج الأصغر أولاً
def smart_query(question: str, complexity: str = "auto"):
"""Use cheaper models for simple tasks."""
if complexity == "simple":
model = "gpt-5-mini"
elif complexity == "complex":
model = "gpt-4o"
else:
# Start cheap, escalate if needed
model = "gpt-5-mini"
response = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": question}]
)
return response
2. قم بتعيين max_tokens
اضبط دائماً حدًا مناسبًا لـ max_tokens:
# ❌ Bad: No limit, could generate thousands of tokens
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize this article"}]
)
# ✅ Good: Limit response length
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Summarize this article"}],
max_tokens=500 # Reasonable limit for a summary
)
3. حسّن الـ Prompts
# ❌ Verbose prompt (more input tokens)
prompt = """
I would like you to please help me by analyzing the following text
and providing a comprehensive summary of the main points. Please be
thorough but also concise in your response. The text is as follows:
{text}
"""
# ✅ Concise prompt (fewer tokens)
prompt = "Summarize the key points:\n{text}"
4. فعّل التخزين المؤقت
استفد من التخزين المؤقت الدلالي:
# For repeated similar queries, caching provides major savings
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "What is machine learning?"}],
temperature=0 # Deterministic = better cache hits
)
5. اجمع الطلبات المتشابهة على دفعات
# ❌ Many small requests
for question in questions:
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": question}]
)
# ✅ Fewer larger requests
combined_prompt = "\n".join([f"{i+1}. {q}" for i, q in enumerate(questions)])
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": f"Answer each question:\n{combined_prompt}"}]
)
تحسين الأداء
1. استخدم Streaming لتحسين تجربة المستخدم
يؤدي Streaming إلى تحسين الأداء المُدرَك:
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Write a long essay"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
2. اختر النماذج السريعة للاستخدام التفاعلي
| حالة الاستخدام | الموصى به | زمن الاستجابة |
|---|
| واجهة محادثة | gpt-5-mini, gemini-2.5-flash | ~200ms لأول token |
| الإكمال عبر Tab | claude-haiku-4-5 | ~150ms لأول token |
| المعالجة في الخلفية | gpt-4o, claude-sonnet-4-6 | ~500ms لأول token |
3. قم بتعيين المهلات الزمنية
client = OpenAI(
api_key="sk-your-key",
base_url="https://api.tokenlab.sh/v1",
timeout=60.0 # 60 second timeout
)
الموثوقية
1. نفّذ إعادة المحاولة
import time
from openai import RateLimitError, APIError
def chat_with_retry(messages, max_retries=3):
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model="gpt-4o",
messages=messages
)
except RateLimitError:
wait = 2 ** attempt
print(f"Rate limited, waiting {wait}s...")
time.sleep(wait)
except APIError as e:
if attempt == max_retries - 1:
raise
time.sleep(1)
raise Exception("Max retries exceeded")
2. تعامل مع الأخطاء بسلاسة
from openai import APIError, AuthenticationError, RateLimitError
try:
response = client.chat.completions.create(...)
except AuthenticationError:
# Check API key
notify_admin("Invalid API key")
except RateLimitError:
# Queue for later or use backup
add_to_queue(request)
except APIError as e:
if e.status_code == 402:
notify_admin("Balance low")
elif e.status_code >= 500:
# Server error, retry later
schedule_retry(request)
3. استخدم نماذج احتياطية
FALLBACK_CHAIN = ["gpt-4o", "claude-sonnet-4-6", "gemini-2.5-flash"]
def chat_with_fallback(messages):
for model in FALLBACK_CHAIN:
try:
return client.chat.completions.create(
model=model,
messages=messages
)
except APIError:
continue
raise Exception("All models failed")
الأمان
1. احمِ مفاتيح API
# ❌ Never hardcode keys
client = OpenAI(api_key="sk-abc123...")
# ✅ Use environment variables
import os
client = OpenAI(api_key=os.environ["TOKENLAB_API_KEY"])
2. تحقّق من صحة إدخال المستخدم
def validate_message(content: str) -> bool:
"""Validate user input before sending to API."""
if len(content) > 100000:
raise ValueError("Message too long")
# Add other validation as needed
return True
3. قم بتعيين حدود لمفاتيح API
أنشئ مفاتيح API منفصلة مع حدود إنفاق لكل من:
- التطوير/الاختبار
- الإنتاج
- التطبيقات المختلفة
المراقبة
1. تتبّع الاستخدام
تحقق من لوحة التحكم الخاصة بك بانتظام من أجل:
- استخدام token حسب النموذج
- تفصيل التكلفة
- معدلات نجاح التخزين المؤقت
- معدلات الأخطاء
2. سجّل المقاييس المهمة
import logging
response = client.chat.completions.create(...)
logging.info({
"model": response.model,
"prompt_tokens": response.usage.prompt_tokens,
"completion_tokens": response.usage.completion_tokens,
"total_tokens": response.usage.total_tokens,
})
3. أعدّ التنبيهات
قم بتكوين تنبيهات انخفاض الرصيد في لوحة التحكم الخاصة بك لتجنب انقطاع الخدمة.
قائمة التحقق