الخطأ 429: ماذا تفعل عندما يفشل claude-sonnet-4-5-20250929
يعني الرمز 429 أنك وصلت إلى حد المعدل: تجاوز عدد الطلبات أو الرموز في نافذة زمنية حصة خطتك الحالية.
رمز 429 Too Many Requests هو استجابة تحديد معدل، وليس خطأ. يعني أن الطلب نفسه صالح لكنه تجاوز معدل الطلبات أو عدد الطلبات المتزامنة المسموح به في خطتك الحالية. يكفي الانتظار ضمن النافذة الزمنية الموضحة في ترويسة الاستجابة ثم إعادة المحاولة، دون الحاجة لتعديل جسم الطلب.
claude-sonnet-4-5-20250929 مقدمة من Anthropic. كل ما في هذه الصفحة — الأسباب والحلول والبيانات المقاسة — مستقى من السلوك التشغيلي الفعلي لهذا النموذج على مستوى البوابة.
في هذه البوابة، السبب الأكثر شيوعًا هو: طلبات متزامنة كثيرة جداً. والإجراء الأول الموصى به هو: تقليل التزامن وإعادة المحاولة بتأخير متزايد.
الأسباب الشائعة
- طلبات متزامنة كثيرة جداً
- نفدت حصة الخطة الحالية
- إعادة المحاولة دون تأخير
كيفية الإصلاح
- تقليل التزامن وإعادة المحاولة بتأخير متزايد
- الانتقال إلى خطة بحصة أكبر
- تخزين الطلبات المتكررة مؤقتاً
مثال على إعادة المحاولة مع تأخير أُسّي
الكود أدناه يعيد المحاولة عندما يُرجع claude-sonnet-4-5-20250929 الخطأ 429، حتى 5 محاولات، مع وقت انتظار متزايد وتشويش عشوائي حتى لا تُعيد الطلبات المتوازية المحاولة في اللحظة نفسها. اقرأ base URL ومفتاح API من متغيرات البيئة ولا تثبّتها داخل الكود.
import os, time, random
import requests
BASE = os.getenv("OPENAI_BASE_URL") # e.g. https://<your-gateway>/v1
KEY = os.getenv("OPENAI_API_KEY")
MODEL = 'claude-sonnet-4-5-20250929'
def chat(messages, retries=5):
"""Retry with exponential backoff + jitter."""
for i in range(retries):
try:
r = requests.post(
BASE + "/chat/completions",
headers={"Authorization": "Bearer " + KEY},
json={"model": MODEL, "messages": messages, "stream": True},
timeout=60,
)
if r.status_code == 429 or r.status_code >= 500:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
continue
r.raise_for_status()
return r.json()
except requests.exceptions.Timeout:
time.sleep(min(2 ** i + random.uniform(0, 1), 30))
raise RuntimeError("gave up after " + str(retries) + " retries")
print(chat([{"role": "user", "content": "hello"}]))بيانات أساسية لهذا النموذج
| نقطة نهاية API | https://api.airai.cc/v1 |
|---|---|
| متوافق مع OpenAI | OpenAI-compatible |
| المزوّد | Anthropic |
|---|---|
| السياق | 1M |
| القدرات | Reasoning, Tools, Files, Vision |
| صيغ API | openai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search |
| صيغة الفوترة | p * 3 + cr * 0.3 + cc * 3.75 + cc1h * 6 + c * 15 |
الأسئلة الشائعة
هل تُصف الطلبات المتزامنة أم تُقيَّد مباشرة؟
المتغيّران الحقيقيان هنا هما التزامن والمهلة، وليس النموذج نفسه. خفّض التزامن أولاً — معظم مشاكل معدل النقل تختفي بعدها. نافذة السياق لهذا النموذج 1M وهو من Anthropic. سياق 1M يعني أن المدخلات الطويلة تزيد زمن أول رمز بشكل ملحوظ. أضف طبقة تخزين مؤقت حتى لا تصل الطلبات المتكررة كلها إلى النموذج.
كيف أمنع 429 على claude-sonnet-4-5-20250929 مسبقاً؟
وجود بديل على مستوى بنية النظام أوثق من إصلاح كل خطأ على حدة. لهذا النموذج من Anthropic عدة عقد upstream يمكن للبوابة التبديل بينها. جهّز نموذجاً احتياطياً أخفّ حتى لا ينقطع المسار الرئيسي. ضع اسم النموذج في الإعدادات، فلا يحتاج تغيير المصدر إلى تعديل الكود.
هل يمكن أن يؤدي تعيين max_tokens أعلى من اللازم إلى 429؟
هذه مشكلة إعدادات من جانب العميل، ولا يحتاج الخادم لأي تغيير. وسوم القدرات هي Reasoning, Tools, Files, Vision، وتتبعها حدود المعاملات. نافذة السياق 1M تحدد أقصى إدخال لكل طلب، وما يتجاوزها يُرفض مباشرة. بالنسبة لأخطاء المعاملات، أفشل بسرعة بدل إهدار المحاولات. قصّر المدخلات الطويلة أو لخّصها — ذلك يقلل 429 بشكل ملحوظ.
كيف أراقب 429 في بيئة الإنتاج؟
اجمع الأخطاء حسب الوقت والعقدة؛ عادة ما يكون النمط واضحاً. هذا النموذج مقدّم من Anthropic، وبالتالي حالة المصدر تتبع إعلانات المزوّد. أعد إنتاج المشكلة أولاً في بيئة اختبار بنفس جسم الطلب.
أخطاء أخرى في هذا النموذج
- claude-sonnet-4-5-20250929: خطأ timeout — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 500 — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 502 — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 503 — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 504 — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 401 — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 403 — الأسباب والحلول
- claude-sonnet-4-5-20250929: خطأ 400 — الأسباب والحلول
نماذج أخرى تواجه الخطأ نفسه
- gpt-5
- claude-opus-5
- gemini-2.5-pro
- deepseek-v4-pro
- grok-4.3
- llama-3.3-70b-instruct
- qvq-max
- qwq-32b
- glm-5
- MiniMax-M3
- kimi-k3
- hy3
- doubao-seed-evolving
- mimo-v2.5
- gpt-4o
- claude-opus-4-6
تحديث البيانات: 2026-10-10 15:50