Error 500: apa yang harus dilakukan saat grok-4.7 gagal

Kode 500 berarti server mengalami kesalahan internal tak terduga saat memproses permintaan. Biasanya bukan masalah format permintaan, melainkan gangguan sementara di sisi server atau model hulu.

500 Internal Server Error adalah kegagalan internal server yang tidak terduga. Sebagian besar 500 adalah gangguan node sementara dan berhasil dengan percobaan ulang plus exponential backoff. Jika terus terjadi, kemungkinan kombinasi parameter tertentu terkena kasus tepi yang belum ditangani.

grok-4.7 disediakan oleh xAI. Semua di halaman ini — penyebab, solusi, dan data terukur — disusun dari perilaku runtime nyata model ini di lapisan gateway.

Di gateway ini, pemicu yang paling umum adalah: Gangguan sementara pada layanan model hulu. Tindakan pertama yang disarankan: Coba lagi setelah menunggu sebentar — sebagian besar 500 bersifat sementara.

Penyebab umum

  • Gangguan sementara pada layanan model hulu
  • Permintaan jatuh ke node yang sedang restart
  • Isi permintaan memicu kasus tepi yang belum ditangani
  • Lonjakan beban sesaat

Cara mengatasi

  • Coba lagi setelah menunggu sebentar — sebagian besar 500 bersifat sementara
  • Coba model lain dari vendor yang sama untuk melihat apakah khusus model itu
  • Sederhanakan isi permintaan (hapus parameter jarang) lalu coba lagi
  • Jika terus berlanjut, hubungi kami dengan waktu permintaan

Contoh percobaan ulang dengan exponential backoff

Kode di bawah mencoba ulang ketika grok-4.7 mengembalikan 500, maksimal 5 kali, dengan waktu tunggu yang meningkat plus jitter acak agar permintaan paralel tidak mengulang bersamaan. Baca base URL dan API key dari environment variable, jangan hardcode.

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 = 'grok-4.7'


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

Data penting model ini

Endpoint APIhttps://api.airai.cc/v1
Kompatibel OpenAIOpenAI-compatible
VendorxAI
Konteks500K
KemampuanReasoning, Tools, Files, Vision
Format APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Rumus penagihanp * 2 + cr * 0.5 + c * 6) : tier("200k_plus", p * 4 + cr * 1 + c * 12

FAQ

Apakah menyimpan cache hasil mengurangi 500?

Variabel sebenarnya di sini adalah konkurensi dan timeout, bukan modelnya. Turunkan konkurensi terlebih dahulu — sebagian besar masalah throughput akan hilang. Model ini memiliki context window 500K dan berasal dari xAI. Untuk keluaran panjang, naikkan timeout ke 60 detik atau lebih.

Apakah max_tokens yang terlalu tinggi bisa memicu 500?

Parameter permintaan harus diubah, mencoba ulang saja tidak membantu. Ini masalah konfigurasi sisi klien, sisi server tidak perlu diubah. Tag kemampuan adalah Reasoning, Tools, Files, Vision, dan batas parameter mengikuti set kemampuan tersebut. Jendela konteks 500K menentukan input maksimum per permintaan; yang melebihinya langsung ditolak. Untuk error parameter, gagalkan langsung daripada menghabiskan percobaan ulang. Potong atau ringkas input yang panjang — ini menurunkan 500 secara nyata.

Kode status mana yang layak dicoba ulang dan mana yang sia-sia?

Biasanya kode bisnis tidak perlu diubah, cukup atur ritme pemanggilan. Dengan penagihan p * 2 + cr * 0.5 + c * 6) : tier("200k_plus", p * 4 + cr * 1 + c * 12, permintaan yang gagal tidak dihitung dalam penggunaan. Tetapkan batas percobaan ulang ke 3–5 kali dan tambahkan jitter. Gunakan exponential backoff untuk error yang bisa diulang, dan kembalikan error segera untuk sisanya.

Apakah permintaan yang gagal tetap dihitung dalam kuota rate limit?

Tidak ada tagihan, hanya output yang benar-benar dihasilkan yang dihitung. Hanya output yang sudah dihasilkan yang ditagihkan; bagian yang gagal tidak. Dengan penagihan p * 2 + cr * 0.5 + c * 6) : tier("200k_plus", p * 4 + cr * 1 + c * 12, biaya output panjang sebagian besar dari token output. Dengan penagihan p * 2 + cr * 0.5 + c * 6) : tier("200k_plus", p * 4 + cr * 1 + c * 12, permintaan yang gagal tidak dihitung dalam penggunaan. Saat memperkirakan biaya dari p * 2 + cr * 0.5 + c * 6) : tier("200k_plus", p * 4 + cr * 1 + c * 12, sertakan juga anggaran percobaan ulang.

Error lain pada model ini

Model lain dengan error yang sama

Data diperbarui: 2026-10-10 18:35

Dukungan teknisDukungan langsung
Kembali ke atas