> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apiyi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Как устранить ошибки API модели?

> Диагностика ошибок параметров, аутентификации, 429, 5xx, тайм-аутов, ресурсов и групп.

## Краткий ответ

Не диагностируйте запрос только по коду состояния HTTP. Сначала сохраните полную ошибку, имя модели, базовый URL, token-группу и идентификатор запроса, затем определите, является ли проблема **ошибкой конфигурации запроса** или **временным сбоем на стороне upstream**:

* `400`, `401`, `403`, неподдерживаемые параметры, блокировки безопасности и несоответствия групп обычно требуют изменения запроса или конфигурации. Повторная отправка того же запроса не устранит проблему.
* `429`, `503`, некоторые ответы `504` и `Upstream model timed out` могут быть вызваны нагрузкой на стороне upstream, доступностью ресурсов или длительным выполнением запросов. Проверьте журналы, затем используйте ограниченное число повторных попыток с экспоненциальной задержкой.
* Если сбой возникает только у одной модели или группы, проверьте авторизованную резервную группу. Если одновременно возникают сбои у нескольких моделей, сначала проверьте API-ключ, базовый URL и сетевой маршрут.

## Сохраните полную информацию об ошибке

На снимках экрана часто отсутствуют наиболее полезные поля. Перед устранением неполадок сохраните следующую информацию:

| Информация                | Пример                        | Почему это важно                                            |
| ------------------------- | ----------------------------- | ----------------------------------------------------------- |
| Статус HTTP               | `400`, `401`, `429`, `503`    | Определяет класс ошибки                                     |
| Сообщение об ошибке и код | `Unsupported parameter: stop` | Позволяет определить детерминированные ошибки запроса       |
| Модель и группа           | `gpt-5.6-luna`, `Default`     | Определяет затронутый маршрут                               |
| Базовый URL               | `https://api.apiyi.com/v1`    | Помогает проверить настройки эндпоинта и узла               |
| ID запроса                | ID, возвращаемый в ответе     | Помогает службе поддержки найти запрос                      |
| Временная метка           | Укажите часовой пояс          | Помогает сопоставить записи вышестоящего сервиса и журналов |
| Запись в журнале          | Наличие записи о списании     | Показывает, началась ли генерация                           |

<Warning>
  Никогда не публикуйте полный API key в обращении, на снимке экрана или в примере кода. Оставляйте только сообщение об ошибке, ID запроса и конфигурацию с удалёнными конфиденциальными данными.
</Warning>

## Устранение неполадок по типу ошибки

| Ошибка                                                    | Распространённая причина                                                                                                                           | Первое действие                                                                                                                                                   |
| --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400` или `Unsupported parameter`                         | Модель не поддерживает поле запроса, например `stop` в некоторых облегчённых моделях                                                               | Удалите неподдерживаемое поле и протестируйте минимальный запрос; не повторяйте запрос без изменений                                                              |
| `401 Invalid token` или `403`                             | Несоответствие API-ключа, базового URL, состояния token или разрешений группы                                                                      | Проверьте API-ключ и базовый URL, затем проверьте группу token и разрешение для модели                                                                            |
| `429`                                                     | Слишком большое количество параллельных запросов или перегрузка вышестоящей системы; сообщение также может скрывать проблему совместимости запроса | Прочитайте полную ошибку, уменьшите количество параллельных запросов и используйте экспоненциальную задержку; если проблема сохраняется, проверьте квоту и группы |
| `503` или `Service unavailable`                           | Временная недоступность, недостаток ресурсов вышестоящей системы или отсутствие доступного канала в группе                                         | Немного подождите и повторите запрос ограниченное число раз; при необходимости используйте авторизованную резервную группу                                        |
| `504` или `Upstream model timed out`                      | Длительная обработка вышестоящей системой, нестабильность вышестоящей системы или тайм-аут на каком-либо участке пути запроса                      | Проверьте журналы и тайм-аут клиента; убедитесь, что вы не используете узел CDN для длительного запроса                                                           |
| `RESOURCE_EXHAUSTED`                                      | Временная нехватка вычислительных ресурсов или ресурсов для параллельных запросов вышестоящей системы                                              | Уменьшите количество параллельных запросов, дождитесь восстановления или используйте другую доступную группу/модель                                               |
| `rejected by the safety system` или `NO_IMAGE`            | Запрос активировал политику безопасности контента вышестоящей системы                                                                              | Измените промпт или входные данные; не отправляйте тот же запрос без изменений                                                                                    |
| Модель недоступна или группа не соответствует требованиям | token не включает требуемую группу, список разрешённых моделей блокирует её или имя модели указано неправильно                                     | Проверьте основную группу token, резервную группу и разрешённые модели                                                                                            |

<Info>
  Один и тот же код состояния может иметь разные причины. Например, `429` может означать перегрузку вышестоящей системы, но также может указывать на проблему совместимости запроса, подробности которой отображаются только в полном сообщении об ошибке. Используйте тело ответа и журналы вызовов как окончательное подтверждение.
</Info>

## Стандартные шаги устранения неполадок

<Steps>
  <Step title="Шаг 1: Воспроизведите проблему с минимальным запросом">
    Временно удалите необязательные параметры, определения tools, сложные входные изображения и длинные prompts. Оставьте только модель, обязательные сообщения и данные аутентификации. Это позволяет отделить ошибки запроса от ошибок маршрута или модели.
  </Step>

  <Step title="Шаг 2: Проверьте эндпоинт, token и группу">
    Убедитесь, что ключ API используется с базовым URL `api.apiyi.com`. В консоли проверьте основную группу token, резервную группу и разрешённые модели. Для некоторых моделей требуется выделенная группа.
  </Step>

  <Step title="Шаг 3: Определите, уместна ли повторная попытка">
    Используйте повторные попытки с увеличивающейся задержкой для `429`, `503` и подтверждённых временных сбоев upstream-сервиса. При ошибках параметров, блокировках безопасности, недопустимых именах моделей и несоответствии групп измените запрос или конфигурацию, а не повторяйте запрос без изменений.
  </Step>

  <Step title="Шаг 4: Проверьте тайм-аут и сетевой путь">
    Генерация изображений, модели рассуждения и длинные текстовые запросы требуют более длительных тайм-аутов. Для длинных запросов используйте `api.apiyi.com` или `vip.apiyi.com` вместо узла CDN `api-cf.apiyi.com`, для которого действует ограничение примерно в 100 секунд.
  </Step>

  <Step title="Шаг 5: Проверьте журналы вызовов перед повторной отправкой">
    Проверьте, была ли для запроса создана запись о списании. Тайм-аут или отключение клиента не всегда означает, что обработка на стороне сервера остановилась; не отправляйте запрос повторно вслепую, пока не подтвердите его статус.
  </Step>
</Steps>

## Минимальный тестовый запрос

Используйте следующий запрос, чтобы проверить эндпоинт, token и базовый вызов модели. Замените `YOUR_MODEL` на модель, доступную для вашего token, и не добавляйте необязательные поля, пока минимальный вызов не заработает.

```bash theme={null}
curl https://api.apiyi.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "YOUR_MODEL",
    "messages": [
      {"role": "user", "content": "Reply with: test successful"}
    ]
  }'
```

## Предотвращение повторяющихся ошибок

* Начните с минимального запроса, затем добавляйте `stop`, tools, параметры управления рассуждением, изображения и другие необязательные поля по одному.
* Ведите таблицу совместимости параметров для своих моделей вместо того, чтобы предполагать, что каждая модель поддерживает одни и те же поля.
* Не отправляйте сразу множество параллельных запросов после `429`; используйте экспоненциальную задержку и контролируйте количество параллельных запросов для каждой модели.
* Задавайте достаточный тайм-аут для запросов на генерацию изображений и рассуждение. Не сочетайте повторы SDK с собственными повторами на уровне бизнес-логики.
* Настройте резервную группу, протестированную с вашими фактическими рабочими параметрами.

## Часто задаваемые вопросы

<AccordionGroup>
  <Accordion title="Всегда ли 429 означает, что число параллельных запросов слишком велико?">
    Нет. `429` может быть вызвано числом параллельных запросов или перегрузкой вышестоящего сервиса, однако сообщение об ошибке также может скрывать проблему совместимости параметров. Прежде чем решать, уменьшить ли число параллельных запросов или изменить запрос, ознакомьтесь с полным текстом `error.message`.
  </Accordion>

  <Accordion title="Нужно ли всегда создавать новый token после ошибки 401?">
    Нет. Сначала убедитесь, что в запросе используется базовый URL APIYI, затем проверьте, не истёк ли срок действия token и выбрана ли правильная группа. Если только одна модель возвращает `Invalid token` наряду с ошибками 5xx или тайм-аутами, причиной также может быть маршрут вышестоящего сервиса.
  </Accordion>

  <Accordion title="Можно ли повторить запрос сразу после тайм-аута?">
    Сначала проверьте журналы вызовов. Тайм-аут клиента означает лишь, что клиент прекратил ожидание; обработка на стороне сервера всё ещё может продолжаться. Если для запроса есть запись о списании, немедленный повтор может создать дублирующий вызов.
  </Accordion>

  <Accordion title="Взимается ли плата за неудачные запросы?">
    Не полагайтесь только на страницу ошибки. Проверка параметров, аутентификация и блокировки безопасности, которые не доходят до генерации моделью, обычно не создают итоговое списание, однако отключение клиента или запрос, обработка которого уже началась на стороне вышестоящего сервиса, всё ещё могут тарифицироваться. Используйте журналы вызовов как источник достоверной информации.
  </Accordion>
</AccordionGroup>

## Всё ещё не удаётся решить проблему? Обратитесь в поддержку

Если после выполнения описанных выше действий проблема сохраняется, обратитесь в поддержку APIYI через WeCom или по электронной почте. Чтобы ускорить устранение неполадки, укажите следующую информацию:

* Название модели, группу token и базовый URL
* Полное сообщение об ошибке, статус HTTP и ID запроса
* Время возникновения, включая часовой пояс `UTC+8`
* Минимизированный пример запроса или тело запроса с удалёнными конфиденциальными данными
* Содержат ли журналы вызовов запись о списании средств

<Warning>
  Никогда не отправляйте полный API-ключ. Оставляйте видимыми только префикс и несколько последних символов, а остальные данные заменяйте.
</Warning>

<CardGroup cols={2}>
  <Card title="Поддержка в WeCom" icon="message-circle" href="https://work.weixin.qq.com/kfid/kfc9adfd5810ece25ec">
    <img src="https://mintcdn.com/apiyillc/fpi567ydpk7adDt0/images/wecom-qrcode.png?fit=max&auto=format&n=fpi567ydpk7adDt0&q=85&s=7286b96e94110e3a48798b649df1b45b" alt="QR-код поддержки в WeCom" style={{maxWidth: "180px"}} width="400" height="400" data-path="images/wecom-qrcode.png" />

    Отсканируйте QR-код или нажмите на эту карточку, чтобы напрямую связаться с поддержкой.

    Ошибки моделей, тайм-ауты, группы и вопросы тарификации
  </Card>

  <Card title="Поддержка по электронной почте" icon="mail">
    **Поддержка**: [support@apiyi.com](mailto:support@apiyi.com)

    Рекомендуем указать в теме письма «ошибка модели» и название модели.
  </Card>
</CardGroup>

## Связанная документация

<CardGroup cols={2}>
  <Card title="Почему мой API key недействителен?" icon="key" href="/ru/faq/invalid-api-key">
    Проверьте базовый URL, API key и настройки аутентификации
  </Card>

  <Card title="Что такое группы?" icon="layers" href="/ru/faq/groups-explained">
    Узнайте о группах token, маршрутах upstream и резервных группах
  </Card>

  <Card title="Как избежать тайм-аутов запросов?" icon="timer" href="/ru/faq/timeout-configuration">
    Настройте тайм-ауты и узлы, а также изучите устранение проблем с длительными запросами
  </Card>

  <Card title="Какой уровень параллельных запросов можно использовать?" icon="gauge" href="/ru/faq/api-concurrency">
    Ознакомьтесь с лимитами параллельных запросов для моделей и рекомендациями по ошибке 429
  </Card>

  <Card title="Что делать, если сайт или API возвращает ошибку 502?" icon="server-crash" href="/ru/faq/website-502-error">
    Узнайте об ошибках 5xx, повторных попытках и проверках тарификации
  </Card>

  <Card title="Как читать суммы тарификации в журналах?" icon="file-text" href="/ru/faq/log-billing-explained">
    Используйте журналы вызовов, чтобы подтвердить, была ли тарифицирована заявка
  </Card>
</CardGroup>
