Lỗi 503: cần làm gì khi gọi qwen-turbo thất bại

Mã 503 nghĩa là dịch vụ tạm thời không khả dụng, thường do bảo trì hoặc quá tải. Khác với 429, đây không phải hạn ngạch của bạn mà là vấn đề năng lực phía máy chủ.

503 Service Unavailable nghĩa là dịch vụ hiện không thể xử lý request, thường do quá tải hoặc bảo trì. Phân biệt với 429 rất quan trọng: 429 là hết hạn mức của bạn, 503 là server thiếu năng lực. Hãy tăng khoảng backoff thay vì đổi key.

qwen-turbo được Alibaba cung cấp. Mọi nội dung trên trang này — nguyên nhân, cách xử lý và dữ liệu đo được — đều tổng hợp từ hoạt động thực tế của mô hình này tại lớp gateway.

Tại gateway này, nguyên nhân thường gặp nhất là: Mô hình thượng nguồn quá tải. Hành động đầu tiên nên làm là: Thử lại sau với khoảng chờ dài hơn.

Nguyên nhân thường gặp

  • Mô hình thượng nguồn quá tải
  • Dịch vụ đang bảo trì hoặc phát hành dần
  • Nút ở khu vực của bạn không khả dụng
  • Lưu lượng tăng đột ngột

Cách khắc phục

  • Thử lại sau với khoảng chờ dài hơn
  • Chuyển sang mô hình tương đương ít tải hơn
  • Tránh chạy tác vụ hàng loạt vào giờ cao điểm
  • Theo dõi thông báo của chúng tôi

Ví dụ thử lại với backoff luỹ thừa

Đoạn mã dưới sẽ thử lại khi qwen-turbo trả về 503, tối đa 5 lần, thời gian chờ tăng dần kèm jitter ngẫu nhiên để các request đồng thời không retry cùng lúc. Hãy đọc base URL và API key từ biến môi trường, đừng hardcode vào code.

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 = 'qwen-turbo'


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

Dữ liệu chính của mô hình này

Điểm cuối APIhttps://api.airai.cc/v1
Tương thích OpenAIOpenAI-compatible
Nhà cung cấpAlibaba
Ngữ cảnh1M
Khả năngReasoning, Tools
Định dạng APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Công thức tính phíp * 0.05 + c * 0.5) : tier("standard", p * 0.05 + c * 0.2

Câu hỏi thường gặp

Gọi trực tiếp từ frontend hay qua backend thì 503 dễ xảy ra hơn?

Nên chuẩn bị sẵn một model dự phòng. Có phương án dự phòng ở cấp kiến trúc thì đáng tin hơn là vá từng lỗi một. Model này của Alibaba có nhiều node upstream để gateway chuyển đổi. Chuẩn bị sẵn một mô hình dự phòng nhẹ hơn để luồng chính không bị gián đoạn. Đưa tên mô hình vào config, đổi upstream sẽ không cần sửa code.

503 trên qwen-turbo kéo dài bao lâu thì nên liên hệ hỗ trợ?

Hãy giữ lại request ID và nội dung phản hồi gốc, nếu không sẽ không truy vết được. Nếu chỉ xảy ra ở môi trường production, thường là khác biệt môi trường chứ không phải mô hình. Mô hình này do Alibaba cung cấp, vì vậy trạng thái upstream theo thông báo của nhà cung cấp. Ghi lại request ID mỗi lần thất bại — hữu dụng hơn status code.

Khi qwen-turbo trả về 503 có bị tính phí không?

Không bị tính phí, chỉ output thực sự được tạo mới tính vào sử dụng. Cách tính phí theo p * 0.05 + c * 0.5) : tier("standard", p * 0.05 + c * 0.2, không có output thì không tính phí. Kiểm tra số dư và giới hạn tốc độ trong console trước, rồi mới xem code. Khi ước tính chi phí từ p * 0.05 + c * 0.5) : tier("standard", p * 0.05 + c * 0.2, hãy tính cả ngân sách thử lại.

Xử lý bất đồng bộ hoặc batch có tránh được 503 không?

Hãy giảm độ đồng thời trước — hầu hết vấn đề về thông lượng sẽ biến mất. Context 1M nghĩa là input dài sẽ tăng đáng kể độ trễ token đầu tiên. Bắt đầu với độ đồng thời thấp, quan sát vài phút rồi tăng dần.

Lỗi khác của mô hình này

Các mô hình khác gặp cùng lỗi

Dữ liệu cập nhật: 2026-10-10 15:45

Hỗ trợ kỹ thuậtHỗ trợ trực tuyến
Về đầu trang