Ошибка 429: что делать, если qwq-32b не отвечает

Код 429 означает, что сработало ограничение скорости: число запросов или токенов за единицу времени превысило квоту вашего тарифа.

429 Too Many Requests — это ответ об ограничении скорости, а не ошибка. Сам запрос корректен, но превышена допустимая скорость или параллельность для вашего тарифа. Достаточно повторить запрос с задержкой в пределах окна из заголовков ответа; менять тело запроса не нужно.

qwq-32b предоставляется компанией 阿里巴巴. Всё на этой странице — причины, решения и измеренные данные — собрано по реальной работе этой модели на уровне шлюза.

В этом шлюзе самая частая причина — Слишком много параллельных запросов. Рекомендуемое первое действие: Ограничьте параллельность и добавьте экспоненциальную задержку.

Возможные причины

  • Слишком много параллельных запросов
  • Квота текущего тарифа исчерпана
  • Повтор без задержки после отказа

Как исправить

  • Ограничьте параллельность и добавьте экспоненциальную задержку
  • Переключитесь на тариф с большей квотой
  • Кэшируйте повторяющиеся запросы

Повтор с экспоненциальной задержкой

Ниже — пример повтора, когда qwq-32b возвращает 429: до 5 попыток, ожидание растёт и добавляется случайный джиттер, чтобы параллельные запросы не повторялись одновременно. Base URL и API key читаются из переменных окружения — не хардкодьте их.

import os, time, random
import requests

BASE  = os.getenv("OPENAI_BASE_URL")   # e.g. https://<your-gateway>/v1
KEY   = os.getenv("OPENAI_API_KEY")
MODEL = 'qwq-32b'


def chat(messages, retries=5):
    """Retry with exponential backoff + jitter."""
    for i in range(retries):
        try:
            r = requests.post(
                BASE + "/chat/completions",
                headers={"Authorization": "Bearer " + KEY},
                json={"model": MODEL, "messages": messages, "stream": True},
                timeout=60,
            )
            if r.status_code == 429 or r.status_code >= 500:
                time.sleep(min(2 ** i + random.uniform(0, 1), 30))
                continue
            r.raise_for_status()
            return r.json()
        except requests.exceptions.Timeout:
            time.sleep(min(2 ** i + random.uniform(0, 1), 30))
    raise RuntimeError("gave up after " + str(retries) + " retries")


print(chat([{"role": "user", "content": "hello"}]))

Ключевые данные этой модели

API-эндпоинтhttps://api.airai.cc/v1
Совместимо с OpenAIOpenAI-compatible
Производитель阿里巴巴
Контекст131.1K
ВозможностиReasoning, Tools, Open Weights
Форматы APIopenai, openai-response, openai-response-compact, anthropic, gemini, openai-alpha-search
Формула биллингаp * 0.287 + c * 0.861

Частые вопросы

Связана ли 429 с возможностями самой модели?

Эта ошибка не связана с возможностями модели, это уровень шлюза. Как правило это кратковременный сбой, который проходит сам. Теги возможностей модели: Reasoning, Tools, Open Weights. Если ошибка длится несколько минут, обратитесь в поддержку платформы и уточните статус upstream.

Связан ли 429 с тарификацией qwq-32b?

Списания не будет: в استخدام идёт только реально сгенерированный вывод. Оплачивается только уже сгенерированный вывод, неудачная часть — нет. Тарификация: p * 0.287 + c * 0.861, поэтому без вывода нет списания. Сначала проверьте баланс и лимиты скорости в консоли, потом ищите в коде. Оценивая стоимость по p * 0.287 + c * 0.861, учитывайте и бюджет на повторы.

Какую информацию дать поддержке при обращении?

Сгруппируйте ошибки по времени и узлу: закономерность обычно видна сразу. Сохраняйте идентификатор запроса и исходный текст ответа, иначе локализовать нечего. Модель предоставляется 阿里巴巴, поэтому статус upstream определяется объявлениями вендора. Сначала воспроизведите это в тестовом окружении с тем же телом запроса.

Поможет ли переход на аналог другой модели от другого вендора убрать 429?

Имейте наготове резервную модель. Резерв на уровне архитектуры надёжнее, чем латать каждую ошибку по отдельности. У этой модели от 阿里巴巴 несколько upstream-узлов, между которыми шлюз может переключаться. Держите наготове более лёгкую резервную модель, и основной поток не прервётся.

Другие ошибки этой модели

Другие модели с той же ошибкой

Данные обновлены: 2026-10-10 18:35

Техническая поддержкаОнлайн-поддержка
Наверх