Soalan lazim
Penyelesaian masalah
Selesaikan masalah pengesahan, model, penstriman, tugas dan had kadar dengan senarai semak berdasarkan gejala.
Mulakan dengan gejala, kemudian ikuti pembetulan. Kebanyakan kegagalan datang daripada URL asas, kunci, ID model, atau baki.
Jadual berasaskan gejala
| Gejala | Punca berkemungkinan | Pembetulan |
|---|---|---|
401 UNAUTHORIZED | Kunci hilang, salah, dibatalkan, atau tidak dihantar | Hantar Authorization: Bearer $FELO_API_KEY; cipta kunci baharu jika ia dibatalkan |
402 INSUFFICIENT_CREDITS | Baki tidak menampung panggilan | Tambah nilai dalam Console Billing |
| 404 pada setiap permintaan | URL asas termasuk laluan yang sudah ditambahkan oleh endpoint | Gunakan https://openapi.felo.ai/api/v1 untuk klien OpenAI dan https://openapi.felo.ai/api untuk klien Anthropic |
| 404 pada satu model | ID model bukan awam, atau endpoint tidak menyediakannya | Semak ID model pada halaman model dan dokumen endpoint |
Ralat model atau max_tokens 400 | Medan diperlukan hilang, atau model tidak menerima bentuk permintaan | Tambah max_tokens untuk Messages; buang medan yang tidak disokong |
| 429 | Had kadar, atau had penyedia huluan | Baca Retry-After; lihat Ralat, Had, dan Cuba Semula |
| 5xx | Kegagalan huluan atau perkhidmatan | Cuba semula dengan backoff; sertakan request_id jika berterusan |
| Strim bersambung tetapi tidak menghantar apa-apa | Proksi menyangga respons, atau penghurai peristiwa menjangkakan format yang salah | Baca strim secara berperingkat; lumpuhkan penyanggaan respons dalam proksi anda |
| Tugasan tidak pernah selesai | Endpoint tinjauan salah, atau status terminal tidak dikendalikan | Tinjau endpoint status tugasan itu sendiri dan berhenti pada nilai terminal |
| Panggilan alat diabaikan | Model tidak mengiklankan keupayaan tersebut | Semak supported_parameters dalam katalog |
| Data API mengembalikan 404 | Awalan /v1/beta ditambah dua kali | Gunakan laluan tepat seperti yang ditulis dalam rujukan |
Pengesahan
Kunci yang dibatalkan mengembalikan mesej yang menamakan awalan kunci:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key has been revoked (keyPrefix=...)"
}Senarai semak:
- Pengepala ialah
Authorization: Bearer <key>untuk Model API dan Felo APIs. - Data API juga menerima
X-API-Key: <key>. - Kunci tidak dibalut dengan petikan, dan tiada baris baharu di hujung daripada pembolehubah persekitaran yang disalin.
- Persekitaran yang digunakan benar-benar mempunyai pembolehubah yang ditetapkan; kunci yang berfungsi secara setempat mungkin hilang dalam pengeluaran.
- Kunci tidak dipadamkan atau diputar. Kunci yang dipadamkan atau diputar tidak boleh ditunjukkan lagi; cipta yang baharu.
Lihat Pengesahan untuk penciptaan kunci dan had.
Perangkap URL asas
| Klien | URL asas yang betul |
|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 |
| Anthropic SDK | https://openapi.felo.ai/api |
| Endpoint model mentah | https://openapi.felo.ai/api/v1/chat/completions, /responses, atau /messages |
| Data API | https://openapi.felo.ai/v1/beta |
Felo /v2 APIs | https://openapi.felo.ai/v2 |
Dua kesilapan biasa:
- Menambahkan
/chat/completionspada URL asas yang sudah dilanjutkan oleh SDK. - Menetapkan URL asas Anthropic kepada
https://openapi.felo.ai/api/v1. SDK menambahkan/v1/messages, jadi permintaan menjadi/api/v1/v1/messages.
Masalah ID model
ID model ialah ID awam daripada katalog, bukan nama dalaman penyedia huluan atau nama paparan.
- Cari ID pada halaman model atau dalam
GET /api/v1/models. - Sahkan model menyokong protokol yang anda panggil (
supported_protocols). - Jika anda menetapkan saluran, sahkan saluran itu diterbitkan dan boleh dijalankan untuk model tersebut. Saluran yang tidak tersedia bukan sandaran.
Lihat Saluran dan Penghalaan Penyedia.
Masalah penstriman
- Tetapkan
stream: truedalam isi badan permintaan, bukan sebagai parameter pertanyaan. - Baca isi badan respons sebagai strim. Menunggu respons penuh menggagalkan penstriman.
- Sesetengah proksi dan platform tanpa pelayan menyangga respons. Lumpuhkan penyanggaan untuk laluan yang memproksi permintaan.
- Chat Completions menstrim
choices[0].delta, bukanchoices[0].message. Kandungan akhir tiba merentas banyak chunk. - Strim boleh berakhir tanpa peristiwa terminal yang bersih jika sambungan terputus. Anggap sambungan yang terputus sebagai respons yang tidak lengkap.
Masalah tugasan tak segerak
- Tinjau endpoint status yang dimiliki oleh keluarga tugasan. Aliran kerja Felo menggunakan
GET /v2/tasks/{task_id}/status; tugasan video dan imej model menggunakan endpoint penjanaan mereka sendiri. - Berhenti pada setiap status terminal, termasuk kegagalan dan tamat tempoh, bukan hanya kejayaan.
- Callback video dan imej diabaikan pada masa ini. Jangan tunggu webhook.
- URL hasil boleh bertahan sebentar. Minta URL baharu daripada endpoint status jika muat turun tamat tempoh.
- Semak tugasan sebelum menghantar semula. Menghantar semula tugasan yang sedang berjalan mencipta pendua, dan kedua-duanya dibilkan.
Lihat Tugasan Tak Segerak.
Masalah Data API
- Kekalkan laluan kaedah tepat daripada rujukan Data API.
- Isi badan permintaan khusus pembekal. Medan yang berfungsi untuk satu pembekal tidak dijamin berfungsi untuk pembekal lain.
- Ralat penyedia boleh tiba di dalam respons 4xx dengan mesej khusus penyedia. Log
request_iddan isi badan respons.
Peringatan keselamatan
- Jangan sekali-kali meletakkan kunci API dalam kod pelayar, bundel aplikasi mudah alih, atau repositori awam. Simpan pada pelayan dan proksi permintaan.
- Jangan log kunci penuh. Log awalan jika anda perlu mengenal pastinya.
- Putar kunci dengan segera jika ia mungkin telah bocor.
Sebelum menghubungi sokongan
Kumpulkan:
- Endpoint dan kaedah HTTP.
- Status HTTP,
code, danrequest_id. - ID model atau ID tugasan.
- Cap masa dengan zon waktu.
- Isi badan permintaan minimum dengan rahsia dibuang.
Hantarkannya kepada sokongan bersama e-mel akaun. Jangan sertakan kunci API penuh.