Hướng dẫn này dựa trên các kiểm tra thực tế với API CometAPI hiện tại. Chúng tôi đã xác minh trực tiếp
400, 401, và các lỗi path/base URL. Chúng tôi không tái hiện 413, 429, 500, 503, 504, hoặc 524 trong các bài kiểm tra có giới hạn, vì vậy hướng dẫn cho các mã trạng thái đó được giữ ở mức thận trọng có chủ đích.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 định tuyến thành công. | Không | Kiểm tra model, messages, cấu trúc JSON, và kiểu dữ liệu của các field. |
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 | Retry với một request chuẩn đã biết là hợp lệ và trước tiên loại bỏ các field đặc thù theo model. |
| Sai path | Sai base URL hoặc sai endpoint path. Trên Comet điều này có thể hiển thị thành 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 follow redirect khi debug. |
429 | Bị giới hạn tốc độ hoặc quá tải tạm thời. | Có | Dùng exponential backoff kèm jitter. |
500, 503, 504, 524 | Lỗi nền tảng hoặc lỗi thuộc nhóm timeout. | Có | Retry với backoff và giữ lại request id. |
Error Envelope
JSON error envelope hiện tại do CometAPI trả về có dạng như sau:request id bên trong error.message. Hãy lưu lại giá trị đó khi bạn cần hỗ trợ.
400 Bad Request
Những gì chúng tôi quan sát được từ API thực tế khi bỏ qua model:
400 thường có nghĩa là phần thân request không vượt qua bước xác thực trước khi nền tảng có thể định tuyến nó tới nhà cung cấp model.
Các nguyên nhân phổ biến:
- Thiếu các field bắt buộc như
modelhoặcmessages - Cấu trúc JSON không hợp lệ
- Gửi một field với sai kiểu dữ liệu
- Tái sử dụng các tham số riêng của nhà cung cấp mà endpoint đã chọn không chấp nhận
- Bắt đầu từ một request tối thiểu đã biết là hợp lệ.
- Thêm lại các field tùy chọn từng cái một.
- So sánh phần thân request với schema của endpoint trong tài liệu tham chiếu API.
your-model-id bằng bất kỳ model ID hiện tại nào từ trang Models của CometAPI.
401 Invalid Token
Những gì chúng tôi quan sát được từ API thực tế với key không hợp lệ:
- 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, shell history, hoặc kho secret trên môi trường triển khai. - Nếu một key bị lỗi nhưng một key khác hoạt động với cùng request, hãy xem đây là vấn đề token chứ không phải vấn đề endpoint.
403 Forbidden
Chúng tôi không tái hiện được một lỗi 403 ổn định trong các bài kiểm tra có giới hạn, vì vậy đừng xem một mẫu thông báo cũ đơn lẻ là toàn bộ bức tranh.
Trong tài liệu Comet hiện tại, 403 thường được nhắc đến trong một trong các tình huống sau:
- Yêu cầu 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 yêu cầu đượ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 yêu cầu văn bản rất đơn giản trên một model đã biết là hoạt động tốt.
- Xóa các trường nâng cao và tham số riêng theo provider, sau đó thêm lại dần dần.
- Nếu phản hồi có kèm request id, hãy lưu lại trước khi liên hệ bộ phận hỗ trợ.
Sai Base URL Hoặc Sai Path
Đây là phần mà trang cũ kém chính xác nhất. Trong các lần kiểm tra trực tiếp với các endpoint Comet hiện tại:- Gửi yêu cầu đến
https://api.cometapi.com/chat/completionstrả về chuyển hướng301đếnhttps://www.cometapi.com/chat/completions - Gửi yêu cầu đến một route API giả như
https://api.cometapi.com/v1/not-a-real-endpointcũng trả về chuyển hướng301đếnhttps://www.cometapi.com/v1/not-a-real-endpoint
- Một chuyển hướng
- Một phản hồi HTML không phải JSON nếu client của bạn đi 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 yêu cầu không bao giờ đến được lớp API một cách trọn vẹn
- Xác nhận rằng base URL có bao gồm
/v1. - Xác nhận rằng path endpoint khớp chính xác với tài liệu.
- Tắt tính năng tự động đi theo chuyển hướng khi gỡ lỗi các vấn đề về path.
413 Request Entity Too Large
Chúng tôi không tái hiện được 413 trong một bài kiểm tra có giới hạn, ngay cả với phần thân yêu cầu JSON 8 MiB quá cỡ, vì vậy cách giải thích cũ rằng prompt quá dài là quá hẹp.
Nếu bạn thực sự gặp 413, trước tiên hãy xem đây là vấn đề về kích thước yêu cầu. Các nguyên nhân phổ biến gồm:
- Payload base64 lớn
- Ảnh hoặc âm thanh quá lớn được nhúng inline
- Multipart hoặc phần thân 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 yêu cầu 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
Chúng tôi không tái hiện được 429 trong quá trình kiểm tra đồng thời có giới hạn với 24 yêu cầu song song GET /v1/models, vì vậy ngưỡng chính xác rõ ràng còn phụ thuộc vào route, model và trạng thái hiện tại của nền tảng.
Hãy xem 429 là lỗi có thể retry:
- 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 yêu cầu để bạn có thể thấy route và model nào chạm ngưỡng đầu tiên.
500, 503, 504, Và 524
Chúng tôi không tái hiện được các mã trạng thái này trong các bài kiểm tra có giới hạn. Chúng nên được ghi nhận là các lỗi phía server hoặc nhóm lỗi timeout, không phải lỗi do người dùng.
Hướng dẫn thực tế:
500: lỗi nội bộ của nền tảng hoặc phía provider503: route hoặc dịch vụ provider tạm thời không khả dụng504và524: các lỗi thuộc nhóm timeout giữa nền tảng, edge hoặc dịch vụ provider
- Retry với backoff.
- Lưu lại
request id, endpoint, model và mốc thời gian. - Nếu cùng một lỗi lặp lại qua nhiều lần retry, hãy liên hệ bộ phận hỗ trợ kèm theo ngữ cảnh đó.
Trước Khi Liên Hệ Bộ Phận Hỗ Trợ
Hãy thu thập trước các thông tin sau:- Phương thức HTTP
- Đường dẫn endpoint
- Tên model
- Request body JSON đã được ẩn dữ liệu nhạy cảm (đâ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
- Nội dung 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 - Mốc thời gian ước lượng
- Liệu cùng request đó có hoạt động với model khác hoặc token khác hay không
- Tên field và các giá trị văn bản bạn gửi kèm theo tệp
- Tên tệp, loại tệp và kích thước tệp ước lượng
- Tệp được tải lên trực tiếp, được tham chiếu qua URL hay được nhúng dưới dạng base64