ВАЖНО: процесс отладки вызовов по API в случае, если возникают проблемы
1. Проверка в наших сервисах
Все наши сервисы также используют наше же API для работы.
Поэтому мы настоятельно просим перед тем как писать «Ваше API не работает» проверить, работает ли оно в наших сервисах.
Для текстовых запросов
Если вы делаете обычный (нестриминговый) запрос (с одним ответом), то, пожалуйста
- Зайдите в Сервисы > Чат с o1 (просто этот чат использует нестриминговый вызов, в отличие от обычного чата, где данные выводятся стримингом по мере поступления)
- Выбираете модель model-from-sidebar
- В левой панели выбираете модель, к которой хотите обратиться.
- Запускаете запрос. Если запрос работает – значит, наше API работает.
Альтернативный вариант – воспользуйтесь нашим примером из Google Colab:
Если вы делаете стриминговый запрос – просто протестируйте работу модели в нашем обычном чате с нейросетью. Если чат работает – значит, проблема в вашем запросе.
Для других запросов (картинки и пр.)
Используйте соответствующие клиенты из раздела Сервисы.
2. Проверьте на разных моделях
Ваш запрос не работает на конкретной модели или вообще в целом?
- Используйте другую модель для проверки. Обычно постоянно работает openai/gpt-4o-mini
- Посмотрите на страницу Uptime и инциденты (есть в меню) – там можно посмотреть статистику по часто используемым моделям и информацию, нет ли инцидентов с какими-то моделями, мы об этом пишем
- Почитайте информацию о вашей модели на странице Моделей – может, есть какие-то особенности (например, у моделей серии OMF есть холодный старт, и они могут стать доступны в течение после 1 неуспешного запроса)
Также отмечаем, что мы не даем гарантий 100% доступности для любых сетей. Бывают периоды, когда сети просто недоступны, тогда просто надо запастись терпением – если проблема не на нашей стороне, она обычно решается в течение нескольких часов.
3. Получите информацию об ошибке
Без этой информации мы обычно не рассматриваем вопросы в техподдержку.
При запросе кроме кода ошибки (400 и пр.) также возвращается текст ошибки. Нам он нужен, чтобы понять, что произошло – вам, чтобы легче пофиксить проблему.
Ошибки бывают двух типов:
- Если ваш запрос не прошел валидацию в нашем API, то мы вернем 400 или 429 ошибку с описанием. Обычно проблемы простые – закончились средства на счете, нет подписки, невалиден ключ и пр. Этот запрос не будет зарегистрирован в системе.
- Если ваш запрос прошел наше API и ушел поставщику нейросети, то он будет зарегистрирован в системе, его статус и текст ошибки будет доступен в меню Кабинет >
Стоимость последних генераций. Можете использовать его.
4. Обратитесь к отладочной точке доступа, чтобы посмотреть ваш запрос
Иногда запрос формируется во внутренней логике вашего программного обеспечения, и вы не можете понять, что с ним не так.
В таком случае можете отправить запрос к API с другим базовым URL (с другим портом) – https://api.vsegpt.ru:6010/v1/
На этой точке доступа будет логироваться последний запрос.
Чтобы получить информацию о последнем запросе обратитесь к URL:
https://api.vsegpt.ru:6010/v1/latest/call?key=ваш_API_ключ_VseGPT
Это отладочная точка доступа – не используйте её для работы. Запросы на неё можно отсылать не чаще раз в 20 секунд.
Получите последний запрос и сравните его с эталоном – возможно, проблема вам станет понятна.
Ошибки API и их обработка
Общие принципы
Ошибка передается как код HTTP-запроса, а также во внутреннем JSON.
Общие принципы обработки кодов:
- 200 – все ОК
- 4xx – что-то не ОК
- 504 – (EDGE_FUNCTION_INVOCATION_TIMEOUT) – сервер не смог ответить в нужное время. Попробуйте тупо переотправить запрос повторно. (Редко бывают периоды, когда сервера перегружены и таких ошибок бывает до 10%)
- 500 – ошибка сервера. Либо у нас всё плохо (маловероятно), либо вы некорректно сформировали запрос по API (очень вероятно)
Вебчат: Failed to fetch
Иногда вебчат не возвращает ошибку, а просто говорит Failed to fetch – что часто означает недоступность сервера API.
Пути решения:
1. Проверить, повторяется ли ошибка на другой модели. Если нет – значит, временная проблема именно с этой моделью; переключитесь пока на другую.
2. Проверьте, выключен ли VPN (наиболее частый случай). Часто коннект к VPN не пропускает запросы из вебчата.
3. Проверьте, повторяется ли ошибка в других браузерах (Chrome, Firefox). Если другие браузеры работают – значит, по каким-то причинам этот браузер или какое-то расширение не пропускают запросы.
Ошибка 400 (большинство обычных ошибок)
Основной код ошибки от нас.
Ошибка:
Решение: такое возникает, когда ваш запрос превышает возможности обработки модели (выходит за размер её контекста).
Варианты решения:
- если вы долго ведете чат – начните новый чат! Чтобы нейросеть понимала контекст разговора, при запросе обрабатываются ВСЕ предыдущие сообщения чата как входные данные. Поэтому, если вы начинаете НОВУЮ ТЕМУ разговора, начинайте НОВЫЙ чат без истории диалога – это сэкономит вам массу средств.
- или перейдите на другую модель с более большим размером контекста
Ошибка:
Решение: max_tokens (число токенов ожидаемой для генерации) для данной модели не может быть таким большим (даже если контекст у модели большой). Поменяйте его в настройках API-запроса или в чате
Общее правило: сумма запроса + ожидаемый ответ не должны быть больше контекста модели.
Ошибка: User with this API key not found
Решение: вы указали неверный или старый ключ API; пользователь с таким ключом не найден. Возьмите ваш ключ на https://vsegpt.ru/User/API
Ошибка: «Seems you use original OpenAI API key. This key will not work on this site; you need VseGPT API Key, you can get your own here: https://vsegpt.ru/User/API
Решение: вы используете оригинальный ключ API вместо нашего. Зайдите на https://vsegpt.ru/User/API и получите наш ключ.
Ошибка: This model is not available on your subscription plan. Please, upgrade your subscription plan to use it. Subscription plans: https://vsegpt.ru/Docs/Tariffs
Решение: Данная модель не доступна на вашем тарифном плане – измените тарифный план, чтобы получить к ней доступ. Список тарифных планов: https://vsegpt.ru/Docs/Tariffs
Ошибка:
Решение: ошибка показывает, что ожидаемая стоимость запроса на данную модель превышает средства на вашем аккаунте. Пополните баланс или переключитесь на другую модель.
Ошибка:
Решение: ошибка показывает, что ожидаемая стоимость запроса на данную модель превышает пользовательский лимит на 1 запрос на вашем аккаунте. Если вы по-прежнему хотите провести запрос, вы можете настроить ваш лимит по ссылке https://vsegpt.ru/User/SettingsModels
Ошибка 403
Ваш запрос был заблокирован из-за того, что он нарушает политику ToS модерации выбранной модели по какой-то тематике. Вам надо отредактировать его, чтобы он не нарушал, либо использовать модель без модерации.
Ошибка 429
Вы отправляете запросы слишком часто. Допускается отправка запросов с одного аккаунта не чаще 1 раза в 2 секунды (на тарифе FAST – больше)
(Также подобное поведение может быть у вышестоящих провайдеров для отдельных сетей с ограничением числа запросов в секунду)
Ошибка 500, 502 (EDGE_FUNCTION_INVOCATION_FAILED или INTERNAL_SERVER_ERROR или пусто)
Два варианта:
- Сервер временно недоступен, какие-то проблемы у нас (маловероятно)
- Вы некорректно отправляете API запрос. EDGE_FUNCTION_INVOCATION_FAILED возвращает наш вышестоящий провайдер, означает, что с вызовом API что-то не так, но что именно, сказать невозможно. Попробуйте отладить API-запрос.
Ошибка 504 (EDGE_FUNCTION_INVOCATION_TIMEOUT)
Она же: EDGE_FUNCTION_INVOCATION_TIMEOUT с разными комментариями
Означает, что вышестоящий провайдер (у которого мы берем доступ) не может обработать запрос из-за таймаута (т.е. скорее всего перегружены сервера с моделями или другая проблема)
Решается на стороне вышестоящего провайдера, вам ничего делать не нужно.
Если вы находитесь в чате – просто перегенерируйте сообщение, чаще всего запрос пройдет.
Если по API – то отправьте запрос повторно, чаще всего запрос пройдет.