Skip to Content
aicentos
Thanh toán và quản lý

Lỗi

Mã trạng thái HTTP, cấu trúc phản hồi lỗi, lỗi thường gặp và cách xử lý

Cập nhật lần cuối:

aicentos dùng hoàn toàn định dạng phản hồi lỗi của OpenAI. Khi SDK ném lỗi, chỉ cần catch exception tương ứng.

Cấu trúc phản hồi lỗi

Mọi phản hồi lỗi đều theo định dạng này:

{
  "error": {
    "message": "API Key của bạn không có quyền truy cập gpt-5",
    "type": "permission_denied",
    "code": "model_not_allowed",
    "param": "model"
  }
}
TrườngÝ nghĩa
messageMô tả lỗi dễ đọc cho người
typeLoại lỗi (xem bảng dưới)
codeMã lỗi chi tiết (dùng để xử lý trong chương trình)
paramTên trường gây lỗi (nếu có)

Bảng tra nhanh mã trạng thái HTTP

Mã trạng tháiLoạiNguyên nhân thường gặp
400invalid_request_errorSai định dạng body, tham số không hợp lệ, gõ sai tên model
401authentication_errorThiếu / sai / đã bị thu hồi API Key
402insufficient_quotaKhông đủ số dư
403permission_deniedKey bị vô hiệu hóa, mô hình chưa được cấp quyền, IP không nằm trong whitelist
404not_foundSai đường dẫn endpoint, sai ID mô hình
408request_timeoutUpstream timeout (thường là không phản hồi > 60s)
413payload_too_largeBody quá lớn (ảnh, tệp)
415unsupported_media_typeSai Content-Type
422invalid_request_errorBody parse được nhưng sai ngữ nghĩa
429rate_limit_exceededChạm rate limit, giảm tần suất request rồi thử lại
500server_errorLỗi nội bộ nền tảng (hiếm gặp)
502bad_gatewayDịch vụ upstream gặp sự cố
503service_unavailableUpstream quá tải, nên thử lại sau
504gateway_timeoutUpstream phản hồi vượt thời hạn

Lỗi thường gặp và cách xử lý

401 — Invalid API key

{ "error": { "message": "Incorrect API key provided", "type": "authentication_error" } }

Danh sách cần kiểm tra:

  • Header Authorization có đúng định dạng Bearer sk-xxx không (chú ý có dấu cách)
  • Key có bị dính dấu cách / xuống dòng khi sao chép từ Console không
  • Key đã bị xóa / vô hiệu hóa / hết hạn chưa
  • Có lỡ dùng key test trên môi trường production không

402 — Insufficient quota

{ "error": { "message": "Insufficient quota", "type": "insufficient_quota" } }

Nạp tiền → Console, mục "Quản lý ví". Bật cảnh báo số dư để tránh tái diễn.

403 — Model not allowed

{ "error": { "message": "Model gpt-5 not allowed for this key", "code": "model_not_allowed" } }

Khi tạo token đã tick whitelist "Mô hình khả dụng", model yêu cầu không nằm trong đó. Sửa cài đặt token hoặc đổi Key.

404 — Model not found

{ "error": { "message": "The model 'gpt-4-turbo-2024-04-09' does not exist", "code": "model_not_found" } }

ID mô hình bị gõ sai hoặc đã ngừng cung cấp. Vào thị trường mô hình để xác nhận ID hiện đang khả dụng.

429 — Rate limit exceeded

Header phản hồi Retry-After cho biết bao nhiêu giây sau nên thử lại. Giảm mức đồng thời và tần suất request là sẽ phục hồi.

500 / 502 / 503 — Lỗi dịch vụ

Thường do upstream chập chờn. Tự động thử lại 2-3 lần thường là thành công. Nếu kéo dài quá 5 phút:

408 / 504 — Timeout

Request quá 60s không phản hồi. Nguyên nhân thường gặp:

  • Prompt quá dài khiến mô hình "suy nghĩ" vượt thời gian
  • Chưa bật streaming (phản hồi dài nên thêm stream: true)

Cách xử lý:

  • Rút ngắn prompt
  • Bật streaming: { "model": "...", "messages": [...], "stream": true }
  • Chuyển sang mô hình nhanh hơn (ví dụ từ gpt-4o sang gpt-4o-mini)

Ví dụ xử lý lỗi trong SDK

export AICENTOS_API_KEY="sk-your-aicentos-api-key"

Python

import os
from openai import OpenAI, APIError, RateLimitError, AuthenticationError

client = OpenAI(api_key=os.environ["AICENTOS_API_KEY"], base_url="https://aicentos.com/v1")

try:
    resp = client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[{"role": "user", "content": "hi"}],
    )
except AuthenticationError:
    print("Sai Key")
except RateLimitError as e:
    print(f"Bị rate limit, thử lại sau {e.response.headers.get('Retry-After')}s")
except APIError as e:
    print(f"Lỗi API khác: {e.status_code} {e.message}")

Node.js

import OpenAI, { APIError } from 'openai';

const client = new OpenAI({
  apiKey: process.env.AICENTOS_API_KEY,
  baseURL: 'https://aicentos.com/v1',
});

try {
  const resp = await client.chat.completions.create({ ... });
} catch (err) {
  if (err instanceof APIError) {
    console.log(err.status, err.code, err.message);
  }
}

Khuyến nghị retry và giảm cấp

Loại lỗiCách xử lý khuyến nghị
400 / 401 / 402 / 403 / 404Không retry, lỗi code / cấu hình, kiểm tra trước
429Retry theo Retry-After, backoff theo cấp số nhân
500 / 502 / 503 / 504 / 408Retry ngay 1-3 lần, cách nhau 1-5s

SDK chính thức của OpenAI mặc định đã có chính sách retry hợp lý, code production hãy dùng thẳng SDK, đừng tự fetch.