Batch API OpenAI: когда экономия оправданна и что делать с неполным пакетом

cybercobra

Administrator
Команда форума
Регистрация
6 Авг 2025
Сообщения
912
Реакции
1
Баллы
777
Веб-сайт
cybercobra.ru
openai-batch-api-status-expired.jpg


Batch API подходит для работы, которая может подождать, а не для ответа пользователю в чате. Вы отправляете набор заданий и забираете результаты позже, отдельно от отправки.

OpenAI заявляет скидку 50% относительно синхронного API и окно обработки 24 часа. Практические кандидаты: классификация каталога, массовое извлечение полей и оценка промптов. Условия приведены в официальном руководстве Batch.

Планируйте работу по документированному окну обработки. Даже если предыдущие пакеты завершались быстро, это не гарантирует такую же скорость следующего запуска.

Как связать задания с результатами​


Входной JSONL содержит отдельный JSON-объект в каждой строке. Назначьте каждой строке уникальный custom_id и сохраните исходное задание под этим идентификатором.

Результаты могут прийти в другом порядке. Соединять вход и выход по номеру строки нельзя: используйте custom_id, как рекомендует документация.

Что означают статусы пакета​


Статусы показывают этап обработки:
  • validating: файл проверяют; failed: проверку пройти не удалось.
  • in_progress: задания выполняются; finalizing: результаты подготавливаются.
  • completed: пакет завершён; expired: не уложился в окно.
  • cancelling и cancelled: отмена обрабатывается или завершена.

При завершении читайте request_counts: total (общее число заданий), completed (число завершённых) и failed (число ошибок).

Затем загрузите результаты по output_file_id и, если он есть, файл ошибок по error_file_id. Эти поля описаны в справочнике объекта Batch. Статус completed нельзя использовать вместо проверки отдельных заданий.

Что делать, если пакет просрочен​


Статус expired означает истечение окна обработки. Не отправляйте весь файл заново автоматически. OpenAI сохраняет уже готовые результаты, а незавершённые задания отменяет; для просроченных строк предусмотрена ошибка batch_expired. Оплачиваются токены завершённых запросов. Это прямо описано в разделе о просрочке.

  1. Сопоставьте успешные результаты и ошибки с исходными custom_id.
  2. Проверьте причины неудач. При ошибке параметров исправьте входные данные.
  3. Соберите новый пакет только из действительно не выполненных заданий, не повторяя ошибочный ввод без изменений.

Удобно хранить собственный реестр: ID задания, версия промпта, ID пакета, исход, результат и число попыток. Он поможет пережить перезапуск обработчика и не записать один результат дважды. Выгоду считайте по стоимости успешно обработанного набора с учётом повторов, а не только по обещанной скидке.

Проверено 10 ноября 2026 года. Собственные замеры скорости не проводились.
 
Последнее редактирование:
Назад
Сверху Снизу

Экосистема проектов TeleCobra

CyberCobra.ru — форум TeleCobra.com — софт для Telegram TeleCobra.ru — экосистема CyberMindBot — нейрокомментинг Spellbook Academy — AI обучение