Câu hỏi thường gặp
Xử lý sự cố
Khắc phục các vấn đề về xác thực, mô hình, streaming, tác vụ và giới hạn tốc độ bằng danh sách kiểm tra theo triệu chứng.
Hãy bắt đầu từ triệu chứng, rồi làm theo cách khắc phục. Hầu hết thất bại đến từ base URL, khóa, model ID hoặc số dư.
Bảng theo triệu chứng
| Triệu chứng | Nguyên nhân có thể | Cách khắc phục |
|---|---|---|
401 UNAUTHORIZED | Thiếu khóa, sai khóa, khóa bị thu hồi hoặc không được gửi | Gửi Authorization: Bearer $FELO_API_KEY; tạo khóa mới nếu khóa đã bị thu hồi |
402 INSUFFICIENT_CREDITS | Số dư không đủ cho lệnh gọi | Nạp tiền trong Console Billing |
| 404 ở mọi yêu cầu | Base URL chứa một đường dẫn mà endpoint đã tự thêm | Dùng https://openapi.felo.ai/api/v1 cho máy khách OpenAI và https://openapi.felo.ai/api cho máy khách Anthropic |
| 404 ở một mô hình | Model ID không công khai, hoặc endpoint không phục vụ mô hình đó | Kiểm tra model ID trên trang mô hình và tài liệu của endpoint |
Lỗi model hoặc max_tokens 400 | Thiếu trường bắt buộc, hoặc mô hình không chấp nhận cấu trúc yêu cầu | Thêm max_tokens cho Messages; bỏ các trường không được hỗ trợ |
| 429 | Giới hạn tần suất, hoặc giới hạn của nhà cung cấp thượng nguồn | Đọc Retry-After; xem Lỗi, giới hạn và thử lại |
| 5xx | Lỗi thượng nguồn hoặc dịch vụ | Thử lại với thời gian chờ tăng dần; kèm request_id nếu lỗi tiếp diễn |
| Luồng kết nối nhưng không gửi gì | Một proxy đang đệm phản hồi, hoặc bộ phân tích sự kiện mong đợi sai định dạng | Đọc luồng tăng dần; tắt đệm phản hồi trong proxy của bạn |
| Tác vụ không bao giờ kết thúc | Sai endpoint thăm dò, hoặc trạng thái kết thúc không được xử lý | Thăm dò đúng endpoint trạng thái của tác vụ và dừng ở các giá trị kết thúc |
| Lệnh gọi công cụ bị bỏ qua | Mô hình không công bố khả năng đó | Kiểm tra supported_parameters trong danh mục |
| Data API trả về 404 | Tiền tố /v1/beta bị thêm hai lần | Dùng đúng đường dẫn như được ghi trong tài liệu tham chiếu |
Xác thực
Khóa đã bị thu hồi trả về thông điệp nêu tiền tố của khóa:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key has been revoked (keyPrefix=...)"
}Danh sách kiểm tra:
- Header là
Authorization: Bearer <key>cho Model API và các Felo API. - Data API cũng chấp nhận
X-API-Key: <key>. - Khóa không bị bọc trong dấu ngoặc kép, và không có ký tự xuống dòng thừa do sao chép biến môi trường.
- Môi trường đã triển khai thực sự có biến được đặt; một khóa hoạt động cục bộ có thể bị thiếu ở production.
- Khóa chưa bị xóa hoặc xoay vòng. Khóa đã bị xóa hoặc xoay vòng không thể hiển thị lại; hãy tạo khóa mới.
Xem Xác thực để biết cách tạo khóa và các giới hạn.
Bẫy base URL
| Máy khách | Base URL đúng |
|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 |
| Anthropic SDK | https://openapi.felo.ai/api |
| Endpoint mô hình trực tiếp | https://openapi.felo.ai/api/v1/chat/completions, /responses hoặc /messages |
| Data API | https://openapi.felo.ai/v1/beta |
Felo API /v2 | https://openapi.felo.ai/v2 |
Hai lỗi thường gặp:
- Thêm
/chat/completionsvào một base URL mà SDK đã tự nối thêm. - Đặt base URL của Anthropic thành
https://openapi.felo.ai/api/v1. SDK nối thêm/v1/messages, nên yêu cầu trở thành/api/v1/v1/messages.
Vấn đề model ID
Model ID là các ID công khai từ danh mục, không phải tên nội bộ của nhà cung cấp thượng nguồn hay tên hiển thị.
- Tra ID trên trang mô hình hoặc trong
GET /api/v1/models. - Xác nhận mô hình hỗ trợ giao thức bạn đang gọi (
supported_protocols). - Nếu bạn đã ghim một kênh, hãy xác nhận kênh đó đã được công bố và đang chạy được cho mô hình đó. Một kênh không khả dụng không phải là phương án dự phòng.
Xem Kênh và định tuyến nhà cung cấp.
Vấn đề truyền trực tiếp
- Đặt
stream: truetrong nội dung yêu cầu, không phải dưới dạng tham số truy vấn. - Đọc nội dung phản hồi dưới dạng luồng. Chờ toàn bộ phản hồi sẽ vô hiệu hóa lợi ích của truyền trực tiếp.
- Một số proxy và nền tảng serverless đệm phản hồi. Hãy tắt đệm cho tuyến proxy yêu cầu.
- Chat Completions truyền
choices[0].delta, không phảichoices[0].message. Nội dung cuối cùng đến qua nhiều chunk. - Một luồng có thể kết thúc mà không có sự kiện kết thúc sạch nếu kết nối bị ngắt. Hãy coi kết nối bị ngắt là phản hồi chưa hoàn tất.
Vấn đề tác vụ bất đồng bộ
- Thăm dò endpoint trạng thái thuộc đúng nhóm tác vụ. Quy trình Felo dùng
GET /v2/tasks/{task_id}/status; tác vụ video và hình ảnh của mô hình dùng endpoint tạo sinh riêng của chúng. - Dừng ở mọi trạng thái kết thúc, bao gồm thất bại và hết hạn, không chỉ thành công.
- Callback của video và hình ảnh hiện bị bỏ qua. Không chờ webhook.
- URL kết quả có thể tồn tại trong thời gian ngắn. Hãy yêu cầu URL mới từ endpoint trạng thái nếu một lần tải xuống hết hạn.
- Kiểm tra tác vụ trước khi gửi lại. Gửi lại một tác vụ đang chạy sẽ tạo bản trùng lặp, và cả hai đều bị tính phí.
Xem Tác vụ bất đồng bộ.
Vấn đề Data API
- Giữ nguyên phương thức và đường dẫn chính xác từ tham chiếu Data API.
- Nội dung yêu cầu riêng theo nhà cung cấp. Một trường hoạt động với nhà cung cấp này không bảo đảm hoạt động với nhà cung cấp khác.
- Lỗi nhà cung cấp có thể đến trong một phản hồi 4xx với thông điệp riêng của nhà cung cấp. Hãy ghi lại
request_idvà nội dung phản hồi.
Nhắc nhở bảo mật
- Không bao giờ đặt khóa API trong mã trình duyệt, gói ứng dụng di động hoặc kho lưu trữ công khai. Hãy giữ nó trên máy chủ và proxy các yêu cầu.
- Không ghi toàn bộ khóa vào nhật ký. Ghi một tiền tố nếu bạn cần nhận diện khóa.
- Xoay vòng khóa ngay lập tức nếu khóa có thể đã bị lộ.
Trước khi liên hệ hỗ trợ
Hãy thu thập:
- Endpoint và phương thức HTTP.
- Trạng thái HTTP,
codevàrequest_id. - Model ID hoặc task ID.
- Dấu thời gian kèm múi giờ.
- Một nội dung yêu cầu tối giản đã loại bỏ thông tin bí mật.
Gửi cho hỗ trợ kèm email tài khoản. Không bao gồm toàn bộ khóa API.