Việc xử lý lỗi CometAPI sẽ dễ dàng nhất khi bạn tách riêng các vấn đề về cấu trúc request, vấn đề xác thực, lỗi path, và các lỗi nền tảng có thể thử lại. Hãy dùng kết hợp trạng thái HTTP,Documentation Index
Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
Use this file to discover all available pages before exploring further.
error.code, và error.message để quyết định nên sửa request hay thử lại.
Phân loại nhanh
| Status | Thường có nghĩa là gì | Retry? | Hành động đầu tiên |
|---|---|---|---|
400 | Xác thực request thất bại trước khi request được xử lý bình thường. | Không | Xác thực model, messages, cấu trúc JSON và kiểu dữ liệu của các trường. |
401 | API key bị thiếu, sai định dạng hoặc không hợp lệ. | Không | Kiểm tra Authorization: Bearer <COMETAPI_KEY>. |
403 | Quyền truy cập bị chặn hoặc request hiện tại không được phép. | Thường là không | Thử lại bằng một request chuẩn đã biết hoạt động và trước tiên hãy bỏ các trường dành riêng cho model. |
| Path mistake | Base URL sai hoặc path endpoint sai. Trên Comet, điều này có thể hiển thị dưới dạng chuyển hướng 301 hoặc HTML, thay vì JSON 404 rõ ràng. | Không | Dùng chính xác https://api.cometapi.com/v1 và tắt tự động theo dõi chuyển hướng khi debug. |
429 | Giới hạn tốc độ hoặc quá tải tạm thời. | Có | Dùng exponential backoff với jitter. |
500 with error.code: invalid_request | Một request bị lỗi định dạng xuất hiện dưới dạng phản hồi trạng thái server. | Không | Sửa phần thân request trước khi thử lại. |
500, 503, 504, 524 | Lỗi nền tảng, nhà cung cấp hoặc lỗi thuộc nhóm timeout. | Có | Thử lại với backoff và giữ lại request id. |
Error envelope
Nhiều lỗi CometAPI sử dụng phần thân lỗi như sau:code. Khi trạng thái là 500, hãy xem error.code và error.message là tín hiệu quyết định.
400 Bad Request
400 thường có nghĩa là phần thân request không vượt qua xác thực trước khi request có thể được xử lý bình thường.
Các nguyên nhân phổ biến:
- Thiếu các trường bắt buộc như
model - Cấu trúc JSON không hợp lệ
- Gửi một trường với kiểu dữ liệu sai
- Tái sử dụng các tham số dành riêng cho nhà cung cấp mà endpoint đã chọn không chấp nhận
your-model-id bằng bất kỳ model ID hiện tại nào từ trang CometAPI Models.
Đừng cho rằng mọi request chat lỗi định dạng đều trả về 400. Việc thiếu các trường chat bắt buộc như messages cũng có thể xuất hiện dưới dạng 500 với error.code: invalid_request.
500 Internal Server Error
Hầu hết phản hồi 500 cho thấy lỗi nền tảng hoặc lỗi từ nhà cung cấp. Với Chat Completions, một số request lỗi định dạng cũng có thể xuất hiện dưới dạng 500 nhưng vẫn mang error.code: invalid_request.
Một ví dụ là request bỏ qua messages:
500 có error.code: invalid_request, hãy coi đó là vấn đề của request:
- Sửa phần thân request.
- So sánh payload với schema của endpoint.
- Chỉ thử lại sau khi đã sửa payload.
500 không cho thấy đó là request không hợp lệ, hãy giữ lại request id và dùng backoff.
401 Invalid Token
Lỗi token thường trông như sau:
- Header phải chính xác là
Authorization: Bearer <COMETAPI_KEY>. - Đảm bảo ứng dụng của bạn không tải một key cũ từ
.env, lịch sử shell hoặc kho lưu trữ secret đã triển khai. - Nếu một key lỗi và một key khác hoạt động với cùng request đó, hãy xem đây là vấn đề về token, không phải vấn đề về endpoint.
403 Forbidden
403 thường là một trong các tình huống sau:
- Request bị chặn bởi một quy tắc phía nền tảng như lọc WAF
- Token hoặc route không được phép sử dụng model hoặc dạng request được yêu cầu
- Model được chọn từ chối một trong các tham số nâng cao mà bạn đã truyền vào
- Thử lại với một request văn bản rất đơn giản trên một model đã biết là hoạt động tốt.
- Gỡ các trường nâng cao và tham số đặc thù của nhà cung cấp, sau đó thêm lại dần dần.
- Nếu response bao gồm request id, hãy giữ lại nó trước khi liên hệ hỗ trợ.
Sai base URL hoặc sai path
Trên Comet, lỗi path có thể biểu hiện thành:- Một chuyển hướng
- Một response HTML không phải JSON nếu client của bạn theo chuyển hướng
- Một lỗi phân tích cú pháp bên trong SDK của bạn
- Một request không bao giờ đến được tầng API một cách hoàn chỉnh
- Xác nhận base URL có bao gồm
/v1. - Xác nhận endpoint path khớp chính xác với tài liệu.
- Tắt tự động theo chuyển hướng trong khi gỡ lỗi các vấn đề về path.
413 Request Entity Too Large
Nếu bạn thấy 413, trước tiên hãy xem đó là vấn đề về kích thước request. Những nguyên nhân phổ biến gồm:
- Payload base64 lớn
- Hình ảnh hoặc âm thanh quá lớn được nhúng inline
- Body multipart hoặc JSON rất lớn
- Giảm kích thước hoặc nén nội dung đính kèm.
- Chia các tác vụ lớn thành các request nhỏ hơn.
- Đừng cho rằng độ dài văn bản thuần là nguyên nhân duy nhất.
429 Too Many Requests
Hãy xem 429 là lỗi có thể thử lại:
- Sử dụng exponential backoff với jitter.
- Giảm mức độ đồng thời của các đợt gửi dồn dập.
- Bật ghi log request để bạn có thể thấy route và model nào đang bão hòa trước.
503, 504, và 524
Các mã trạng thái này là lỗi phía máy chủ hoặc thuộc nhóm lỗi timeout.
Hướng dẫn thực tế:
503: route hoặc dịch vụ nhà cung cấp tạm thời không khả dụng504và524: lỗi thuộc nhóm timeout giữa nền tảng, edge hoặc dịch vụ nhà cung cấp
- Thử lại với backoff.
- Giữ lại
request id, endpoint, model và dấu thời gian. - Nếu cùng một lỗi lặp lại qua nhiều lần thử lại, hãy liên hệ hỗ trợ kèm theo ngữ cảnh đó.
Trước khi bạn liên hệ bộ phận hỗ trợ
Trước tiên, hãy thu thập các chi tiết sau:- Phương thức HTTP
- Đường dẫn endpoint
- Model ID
- Request body JSON đã được làm sạch (đây là mục hữu ích nhất cho hầu hết các lệnh gọi API)
- Query parameters nếu request bị lỗi có sử dụng chúng
- Response body chính xác nếu client của bạn đã ghi nhận được
- HTTP status đầy đủ
error.messagechính xác- Bất kỳ
request idnào - Dấu thời gian gần đúng
- Liệu cùng một request đó có hoạt động với model khác hoặc token khác hay không
- Tên các trường và giá trị văn bản bạn đã gửi cùng với tệp
- Tên tệp, loại tệp và kích thước tệp ước lượng
- Liệu tệp được tải lên trực tiếp, được tham chiếu bằng URL hay được nhúng dưới dạng base64