Создание дополнительных учетных записей или ключей API не повлияет на ваши ограничения по тарифам, поскольку мы управляет пропускной способностью по всему миру. Однако у нас есть разные ограничения по ставкам для разных моделей, так что вы сможете таким образом разделить нагрузку, если столкнетесь с проблемы.
LLMSTORE применяет два вида ограничений:

Проверка лимитов

Чтобы проверить лимит скорости или кредиты, оставшиеся на ключе API, отправьте GET-запрос на https://api.llmstore.ru/v1/key. Если вы отправите действительный ключ API, вы должны получить ответ в форме:
TypeScript

Кредитные лимиты

Кредитные лимиты определяют, сколько вы можете потратить. Они происходят из двух мест:
  1. Баланс аккаунта — доступные вам кредиты на аккаунте. Если ваш счет имеет отрицательный кредитный баланс, вы можете увидеть ошибок, в том числе для бесплатных моделей. Добавление кредитов для увеличения баланса выше нуля позволяет вам снова использовать эти модели.
  2. Кредитные лимиты на ключ — дополнительный лимит расходов, настроенный для отдельного ключа API. limit, limit_reset, и limit_remaining поля в GET /v1/key в ответе выше опишите эту шапку и сколько ее осталось.

Обработка ошибок 402

Чтобы решить ошибки:
  • Добавьте кредиты, чтобы баланс вашего счета стал выше нуля.
  • Проверьте ограничения на ключ. Если limit_remaining на ключе исчерпан, увеличьте кредитный лимит ключа или дождитесь его сброса (см. limit_reset).
  • Проактивно отслеживайте. Позвоните GET /v1/key , как показано выше, для отслеживания limit_remaining и использование до того, как запросы начнут терпеть неудачу.

Ограничения скорости

Ограничения скорости определяют количество запросов, которые вы можете сделать. Существует несколько ограничений по скорости, которые применяются к определенным типам запросов независимо от статуса учетной записи:
  1. Ограничения на бесплатное использование: если вы используете бесплатный вариант модели (с идентификатором, заканчивающимся на ), применяются следующие ограничения:
  1. Защита от DDoS: защита Cloudflare от DDoS блокирует запросы, которые значительно превышают разумное использование.

Обработка 429 ошибок

Запросы отклонены с терпит неудачу со стандартным ответом об ошибке:
А Ошибка может возникнуть из двух мест:
  1. LLMSTORE — вы достигли одного из вышеуказанных ограничений платформы (запросы бесплатной модели в минуту или в день или защита от DDoS).
  2. Вышестоящий провайдер — провайдер, обслуживающий ваш запрос, имеет ограничение по скорости или имеет свои возможности. В этом случае error.metadata.provider_code содержит исходный код ошибки провайдера, если он доступен, и резервную маршрутизацию автоматически повторяет попытки других поставщиков той же модели, прежде чем ошибка достигнет вас. Вы также можете указать резервные модели попробовать другую модель, когда все поставщики первой исчерпаны.
Успешные ответы на вывод не включают X-RateLimit-* заголовки. Когда LLMSTORE сам возвращает ошибка ограничения платформы, ответ об ошибке несет X-RateLimit-Limit, X-RateLimit-Remaining, и X-RateLimit-Reset заголовки, описывающие достигнутый предел. Когда каждая попытка поставщика вернул подсказку о повторной попытке, ответ об ошибке также содержит Retry-After заголовок. Чтобы отслеживать оставшуюся квоту до достижения лимита, позвоните по телефону GET /v1/key , как показано выше.
Чтобы решить ошибки:
  • Повторить попытку с экспоненциальной задержкой. Ограничения скорости являются временными; подождите и повторите попытку, а не сразу повторите отправку. Честь Заголовок Retry-After , если он присутствует.
  • В бесплатных вариантах приобретите как минимум кредитов, чтобы увеличить дневной лимит, или переключитесь на платный вариант модели, в котором нет ограничения количества запросов на уровне платформы.
  • Для ограничений на стороне поставщика добавьте резервные модели или расслабьтесь настройки маршрутизации провайдера , чтобы больше поставщиков имели право обслужить запрос.

Ограничения скорости среднего потока

Если ограничение скорости достигается после начала потоковой передачи, ошибка возникает как событие SSE с finish_reason: "error" вместо HTTP , поскольку Статус уже отправлен:
См. Обработка ошибок во время потоковой передачи для получения подробной информации и примеров кода.