Lỗi

Lỗi định dạng OpenAI

{
  "error": {
    "message": "model field is required",
    "type": "invalid_request_error",
    "code": "validation_invalid_request"
  }
}

Lỗi định dạng Anthropic

{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "max_tokens is required"
  }
}

Bảng tra mã lỗi

| HTTP | Mã | Ý nghĩa | Thử lại? | |------|------|---------|--------| | 400 | validation_invalid_request | Nội dung request sai | Không | | 401 | auth_missing_key | Thiếu API key | Không | | 401 | auth_invalid_key | API key không hợp lệ | Không | | 429 | rate_limit_exceeded | Gửi quá nhiều request | Có, đợi theo Retry-After | | 502 | provider_upstream_error | Provider không phản hồi | Có | | 503 | no_binding_available | Không có provider nào để định tuyến | Có |

Xử lý lỗi trong SDK

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://gateway.vibecc.viettk.com/v1",
  apiKey: process.env.OPENAI_API_KEY,
});

try {
  const response = await client.chat.completions.create({ /* ... */ });
} catch (err) {
  if (err instanceof OpenAI.APIError) {
    console.error(err.status, err.message);
    if (err.status === 429) {
      const retryAfter = err.headers["retry-after"];
      // đợi retryAfter giây rồi thử lại
    }
  }
}