Часті запитання
Усунення проблем
Усувайте проблеми з автентифікацією, моделями, потоковою передачею, завданнями й обмеженнями швидкості за симптомами.
Почніть із симптому, потім перейдіть до виправлення. Більшість збоїв спричинені базовою URL-адресою, ключем, ID моделі або балансом.
Таблиця за симптомами
| Симптом | Ймовірна причина | Виправлення |
|---|---|---|
401 UNAUTHORIZED | Ключ відсутній, неправильний, відкликаний або не надісланий | Надішліть Authorization: Bearer $FELO_API_KEY; створіть новий ключ, якщо його відкликано |
402 INSUFFICIENT_CREDITS | Баланс не покриває виклик | Поповніть баланс у Console Billing |
| 404 на кожен запит | Базова URL-адреса містить шлях, який endpoint уже додає | Використовуйте https://openapi.felo.ai/api/v1 для клієнтів OpenAI і https://openapi.felo.ai/api для клієнтів Anthropic |
| 404 на одну модель | ID моделі не є публічним або endpoint її не обслуговує | Перевірте ID моделі на сторінці моделей і в документації endpoint |
400 помилка model або max_tokens | Відсутнє обов'язкове поле або модель не приймає структуру запиту | Додайте max_tokens для Messages; видаліть непідтримувані поля |
| 429 | Обмеження швидкості або обмеження вищого постачальника | Прочитайте Retry-After; див. Помилки, обмеження та повторні спроби |
| 5xx | Збій вищого постачальника або сервісу | Повторіть із збільшенням інтервалу; додайте request_id, якщо це повторюється |
| Потік підключається, але нічого не надсилає | Проксі буферизує відповідь або парсер подій очікує неправильний формат | Читайте потік поступово; вимкніть буферизацію відповіді у своєму проксі |
| Завдання ніколи не завершується | Неправильний endpoint опитування або термінальний статус не оброблено | Опитуйте власний endpoint статусу завдання та зупиняйтеся на термінальних значеннях |
| Виклики інструментів проігноровано | Модель не заявляє цю можливість | Перевірте supported_parameters у каталозі |
| Data API повертає 404 | Префікс /v1/beta додано двічі | Використовуйте шлях саме так, як написано в довіднику |
Автентифікація
Відкликаний ключ повертає повідомлення, у якому вказано префікс ключа:
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key has been revoked (keyPrefix=...)"
}Контрольний список:
- Заголовок має вигляд
Authorization: Bearer <key>для Model API та Felo APIs. - Data API також приймає
X-API-Key: <key>. - Ключ не взято в лапки, і немає завершального символу нового рядка від скопійованої змінної середовища.
- У розгорнутому середовищі змінна справді встановлена; ключ, який працює локально, може бути відсутнім у продакшені.
- Ключ не було видалено або змінено. Видалений або змінений ключ неможливо показати знову; створіть новий.
Про створення ключів і ліміти див. Автентифікація.
Пастки базової URL-адреси
| Клієнт | Правильна базова URL-адреса |
|---|---|
| OpenAI SDK | https://openapi.felo.ai/api/v1 |
| Anthropic SDK | https://openapi.felo.ai/api |
| Прямий endpoint моделі | https://openapi.felo.ai/api/v1/chat/completions, /responses або /messages |
| Data API | https://openapi.felo.ai/v1/beta |
Felo APIs /v2 | https://openapi.felo.ai/v2 |
Дві типові помилки:
- Додавання
/chat/completionsдо базової URL-адреси, яку SDK уже розширює. - Установлення базової URL-адреси Anthropic як
https://openapi.felo.ai/api/v1. SDK додає/v1/messages, тому запит стає/api/v1/v1/messages.
Проблеми з ID моделі
ID моделей — це публічні ID з каталогу, а не внутрішні назви вищого постачальника чи відображувана назва.
- Знайдіть ID на сторінці моделей або в
GET /api/v1/models. - Переконайтеся, що модель підтримує протокол, який ви викликаєте (
supported_protocols). - Якщо ви прив'язали канал, переконайтеся, що цей канал опубліковано та запущено для цієї моделі. Недоступний канал не є резервним варіантом.
Див. Канали та маршрутизація постачальників.
Проблеми з потоковою передачею
- Установіть
stream: trueу тілі запиту, а не як параметр запиту. - Читайте тіло відповіді як потік. Очікування повної відповіді зводить нанівець потокову передачу.
- Деякі проксі та безсерверні платформи буферизують відповіді. Вимкніть буферизацію для маршруту, який проксіює запит.
- Chat Completions передає
choices[0].delta, а неchoices[0].message. Остаточний вміст надходить багатьма фрагментами. - Потік може завершитися без чистої термінальної події, якщо з'єднання розірвано. Вважайте розірване з'єднання незавершеною відповіддю.
Проблеми з асинхронними завданнями
- Опитуйте endpoint статусу, що належить родині завдань. Робочі процеси Felo використовують
GET /v2/tasks/{task_id}/status; завдання відео та зображень моделей використовують власні endpoint генерації. - Зупиняйтеся на кожному термінальному статусі, зокрема на збоях і завершеннях строку дії, а не лише на успіху.
- Зворотні виклики для відео та зображень наразі ігноруються. Не чекайте на webhook.
- URL-адреса результату може бути короткочасною. Запросіть свіжу URL-адресу з endpoint статусу, якщо завантаження втратило чинність.
- Перевірте завдання, перш ніж надсилати повторно. Повторне надсилання запущеного завдання створює дублікат, і обидва оплачуються.
Див. Асинхронні завдання.
Проблеми з Data API
- Дотримуйтеся точного шляху методу з довідника Data API.
- Тіла запитів залежать від постачальника. Поле, яке працює для одного постачальника, не гарантовано працює для іншого.
- Помилка постачальника може надходити всередині відповіді 4xx із повідомленням, специфічним для постачальника. Записуйте в журнал
request_idі тіло відповіді.
Нагадування про безпеку
- Ніколи не вставляйте API-ключ у код браузера, пакет мобільного застосунку або публічний репозиторій. Тримайте його на сервері та проксіюйте запити.
- Не записуйте в журнал повний ключ. Якщо потрібно його ідентифікувати, записуйте префікс.
- Негайно змініть ключ, якщо він міг бути скомпрометований.
Перш ніж звертатися до підтримки
Зберіть:
- Endpoint і метод HTTP.
- Код стану HTTP,
codeіrequest_id. - ID моделі або ID завдання.
- Часову позначку із зазначенням часового поясу.
- Мінімальне тіло запиту без секретів.
Надішліть це до підтримки разом з електронною поштою облікового запису. Не додавайте повний API-ключ.