Тайм-ауты AI API по фазам запроса
Руководство для production: Тайм-ауты AI API по фазам запроса. Включает детерминированный артефакт, границы отказа, контроль rollout и проверенные источники.
Руководство для production: Тайм-ауты AI API по фазам запроса. Включает детерминированный артефакт, границы отказа, контроль rollout и проверенные источники.
Сначала решение
Тайм-ауты AI API по фазам запроса — явный production-контракт, а не отдельное изменение. До переноса трафика задайте успех, конечный отказ и rollback; артефакт отделяет доказательства от предположений.
Начните с connect, детерминированно докажите headers и сделайте cancel обязательным release-gate.
Повторно используемый артефакт
Строка считается пройденной, только если доказательство относится к тому же запросу, окну теста или версии конфигурации.
| Контрольная точка | Доказательство | Условие прохождения |
|---|---|---|
connect |
DNS,TCP,TLS_budget_and_failure_class |
Предел явный, превышение закрывает операцию. |
headers |
request_sent->response_headers |
Предел явный, превышение закрывает операцию. |
first_output |
headers->first_meaningful_output,separate_from_first_SSE_frame |
Запись связывает логический запрос и конкретную попытку. |
idle |
maximum_gap_between_meaningful_stream_events |
Предел явный, превышение закрывает операцию. |
total |
absolute_request_deadline_inherited_by_all_child_work |
Предел явный, превышение закрывает операцию. |
cancel |
client_cancel_reaches_queue,gateway,upstream,and_tool_work |
Запись связывает логический запрос и конкретную попытку. |
Разобранный пример
Пример синтетический и детерминированный. Подставьте проверенные параметры своей нагрузки; не используйте секреты или данные клиентов.
total_deadline_ms: 60000
phases:
connect_ms: 3000
response_headers_ms: 10000
first_meaningful_output_ms: 25000
stream_idle_ms: 15000
rules:
- child_deadline_must_not_exceed_total
- client_cancel_propagates_immediately
- timeout_records_phase_and_attempt
Порядок внедрения
- Зафиксировать текущие запрос, ответ, конфигурацию и наблюдаемую базовую линию.
- Выполнить детерминированный положительный сценарий и сохранить полный результат.
- Выполнить парный отрицательный или предельный сценарий.
- Связать попытки одним логическим request ID и записать время, конечное состояние и usage без чувствительного содержимого.
- Раскатывать на ограниченную когорту с условиями остановки.
- Повторно прочитать долговечное состояние и публичное поведение; при нарушении инварианта выполнить rollback.
Режимы отказа
Эти ошибки обесценивают результат, даже если внешний HTTP выглядит успешным:
- Отмена не доходит до очереди и upstream, продолжая расходовать емкость.
- Предполагается скрытое состояние, которого маршрут не хранит.
- Повторы без бюджета усиливают нагрузку.
- Промпты, ключи или чувствительные аргументы попадают в телеметрию.
Граница Modelflare
Modelflare централизует OpenAI-совместимый routing, ключи, группы, usage и ошибки, но настроенный маршрут не доказывает опциональные возможности провайдера. Проверяйте модель и канал нативным протоколом, сохраняйте явные нули и считайте истиной billing только долговечный расчет.
Общая граница решения описана в родительском руководстве, текущая настройка — в документации.
Проверка перед публикацией
- Сначала ответить на главный вопрос.
- Назначить owner каждому полю, состоянию, метрике и формуле.
- Использовать только синтетические идентификаторы.
- Сохранить структуру, код, лимиты и предупреждения во всех языках.
- На T-1 перепроверить контракты, поддержку и цены; при изменении перенести дату.
- До срока исключить страницу из public API, маршрутов и sitemap.
Источники и дата проверки
Источники проверены 2026-08-07; они не доказывают непроверенный маршрут.