Định dạng phản hồi lỗi
Tất cả các lỗi đều trả về một định dạng JSON nhất quán:Mã trạng thái HTTP
| Mã | Mô tả |
|---|---|
| 400 | Bad Request - Các tham số không hợp lệ |
| 401 | Unauthorized - API key không hợp lệ hoặc bị thiếu |
| 402 | Payment Required - Số dư không đủ |
| 403 | Forbidden - Truy cập bị từ chối hoặc mô hình không được phép |
| 404 | Not Found - Không tìm thấy mô hình hoặc tài nguyên |
| 413 | Payload Too Large - Kích thước đầu vào hoặc tệp vượt quá giới hạn |
| 429 | Too Many Requests - Vượt quá giới hạn tốc độ (Rate limit) |
| 500 | Internal Server Error - Lỗi máy chủ nội bộ |
| 502 | Bad Gateway - Lỗi từ nhà cung cấp thượng nguồn (Upstream provider) |
| 503 | Service Unavailable - Tất cả các kênh đều thất bại |
| 504 | Gateway Timeout - Yêu cầu quá hạn |
Các loại lỗi
Lỗi xác thực (401)
| Loại | Mã | Mô tả |
|---|---|---|
invalid_api_key | invalid_api_key | API key bị thiếu hoặc không hợp lệ |
expired_api_key | expired_api_key | API key đã bị thu hồi |
Lỗi thanh toán (402)
| Loại | Mã | Mô tả |
|---|---|---|
insufficient_quota | insufficient_quota | Số dư tài khoản quá thấp |
quota_exceeded | quota_exceeded | Đã đạt đến giới hạn sử dụng API key |
Lỗi truy cập (403)
| Loại | Mã | Mô tả |
|---|---|---|
access_denied | access_denied | Truy cập vào tài nguyên bị từ chối |
access_denied | model_not_allowed | Mô hình không được phép cho API key này |
Lỗi xác thực dữ liệu (400)
| Loại | Mô tả |
|---|---|
invalid_request_error | Các tham số yêu cầu không hợp lệ |
context_length_exceeded | Đầu vào quá dài đối với mô hình |
model_not_found | Mô hình được yêu cầu không tồn tại |
Lỗi giới hạn tốc độ (429)
Khi bạn vượt quá giới hạn tốc độ (rate limits):Dữ liệu quá lớn (413)
Khi kích thước đầu vào hoặc tệp vượt quá giới hạn:- Tệp hình ảnh quá lớn (tối đa 20MB)
- Tệp âm thanh quá lớn (tối đa 25MB)
- Văn bản đầu vào vượt quá độ dài ngữ cảnh (context length) của mô hình
Lỗi từ phía thượng nguồn (502, 503)
| Loại | Mô tả |
|---|---|
upstream_error | Nhà cung cấp trả về một lỗi |
all_channels_failed | Không có nhà cung cấp nào khả dụng |
timeout_error | Yêu cầu đã quá hạn |
Xử lý lỗi trong Python
Xử lý lỗi trong JavaScript
Các phương pháp hay nhất
Triển khai exponential backoff
Triển khai exponential backoff
Khi bị giới hạn tốc độ, hãy đợi lâu dần giữa các lần thử lại:
Thiết lập thời gian chờ (timeouts)
Thiết lập thời gian chờ (timeouts)
Luôn thiết lập thời gian chờ hợp lý để tránh các yêu cầu bị treo:
Ghi nhật ký lỗi để gỡ lỗi
Ghi nhật ký lỗi để gỡ lỗi
Ghi lại toàn bộ phản hồi lỗi bao gồm request ID để được hỗ trợ:
Xử lý các lỗi đặc thù của mô hình
Xử lý các lỗi đặc thù của mô hình
Một số mô hình có các yêu cầu cụ thể (ví dụ: max tokens, định dạng hình ảnh).
Hãy xác thực đầu vào trước khi thực hiện yêu cầu.