الخطأ 504: ماذا تفعل عندما يفشل glm-5

يعني الرمز 504 أن البوابة انتهت مدة انتظارها للنموذج المصدر: أُرسل الطلب، لكن المصدر لم يستجب خلال المهلة التي تسمح بها البوابة.

رمز 504 Gateway Timeout يعني أن البوابة توقفت عن انتظار استجابة المورّد. تم تحويل الطلب، لكن لم تعد أي نتيجة خلال المهلة المحددة. تقصير المخرجات، أو تفعيل البث المباشر، أو تقليل max_tokens يحل المشكلة عادةً.

glm-5 مقدمة من Z.AI. كل ما في هذه الصفحة — الأسباب والحلول والبيانات المقاسة — مستقى من السلوك التشغيلي الفعلي لهذا النموذج على مستوى البوابة.

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

الأسباب الشائعة

  • استغرق المصدر وقتاً أطول من مهلة البوابة
  • سياق طويل رفع زمن الاستدلال
  • عقدة المصدر متوقفة
  • طلب بدون بث بمخرجات طويلة جداً

كيفية الإصلاح

  • انتقل إلى الإخراج بالبث
  • قصّر السياق وقلّل max_tokens
  • أعد المحاولة بعد انتظار قصير
  • استخدم نموذجاً أسرع في الاستدلال

مثال على إعادة المحاولة مع تأخير أُسّي

الكود أدناه يعيد المحاولة عندما يُرجع glm-5 الخطأ 504، حتى 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 = 'glm-5'


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"}]))

بيانات أساسية لهذا النموذج

نقطة نهاية APIhttps://api.airai.cc/v1
متوافق مع OpenAIOpenAI-compatible
المزوّدZ.AI
السياق204.8K
القدراتReasoning, Tools, Open Weights
صيغ APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
صيغة الفوترةp * 1 + cr * 0.2 + cc * 0 + c * 3.2

الأسئلة الشائعة

ما المدة المناسبة لانتهاء المهلة؟

المتغيّران الحقيقيان هنا هما التزامن والمهلة، وليس النموذج نفسه. خفّض التزامن أولاً — معظم مشاكل معدل النقل تختفي بعدها. نافذة السياق لهذا النموذج 204.8K وهو من Z.AI. للمخرجات الطويلة، ارفع المهلة إلى 60 ثانية أو أكثر.

ما المعلومات التي يجب تقديمها للدعم عند الإبلاغ عن مشكلة؟

اجمع الأخطاء حسب الوقت والعقدة؛ عادة ما يكون النمط واضحاً. احتفظ بمعرّف الطلب ونص الاستجابة الخام، وإلا لا يمكن تتبّع شيء. هذا النموذج مقدّم من Z.AI، وبالتالي حالة المصدر تتبع إعلانات المزوّد. سجّل معرّف الطلب عند كل فشل — هو أنفع من رمز الحالة. أعد إنتاج المشكلة أولاً في بيئة اختبار بنفس جسم الطلب.

هل يمكن أن يؤدي 504 إلى فقدان البيانات؟

هذا الخطأ لا علاقة له بقدرة النموذج، بل هو على مستوى البوابة. في أغلب الحالات هو أمر مؤقت ويعود من تلقاء نفسه. وسوم قدرات هذا النموذج هي Reasoning, Tools, Open Weights. حدّد أولاً إن كان على مستوى الحساب أم مستوى النموذج؛ التعامل معهما مختلف تماماً.

هل أحتاج لترقية الخطة لحل 504 على glm-5؟

رفع سقف الخطة أو تقليل معدل الاستدعاء، كلاهما يخفف المشكلة. الفوترة تتبع p * 1 + cr * 0.2 + cc * 0 + c * 3.2، فلا رسوم بدون مخرجات. تحقق من الرصيد وحدود المعدل في لوحة التحكم أولاً، ثم افحص الكود. عند تقدير التكلفة من p * 1 + cr * 0.2 + cc * 0 + c * 3.2، أدخل ميزانية إعادة المحاولة أيضاً.

أخطاء أخرى في هذا النموذج

نماذج أخرى تواجه الخطأ نفسه

تحديث البيانات: 2026-10-10 18:30

الدعم الفنيالدعم المباشر
العودة إلى الأعلى