Batch Processing позволяет отправить сразу большой набор запросов к модели и получить результаты асинхронно — не в реальном времени, а в течение определённого окна (как правило, до 24 часов). Взамен провайдеры дают скидку 50% на токены по сравнению с обычными синхронными запросами.
Идея простая: если ответ не нужен немедленно, обработку можно подождать ради ощутимой экономии.
- Массовая генерация эмбеддингов для базы документов
- Классификация или разметка больших объёмов данных
- Прогон оценочных тестов (evals)
- Любая фоновая обработка, где задержка в несколько часов некритична
Если нужен мгновенный ответ (чат, интерактивный сценарий) — используйте обычные синхронные запросы.
- Вы формируете набор запросов, каждый со своим идентификатором.
- Отправляете их одной операцией создания пакета (batch).
- Провайдер обрабатывает запросы в фоне и складывает результаты.
- Вы периодически запрашиваете статус пакета (polling), пока он не завершится.
- Забираете результаты — каждый ответ соотносится с исходным запросом по его идентификатору.
Пакет может завершиться раньше, но гарантированное окно — 24 часа. Если за это время провайдер не успел обработать все запросы, вы получаете результаты тех, что успели.
| Провайдер | Способ отправки | Скидка | Окно | Хранение результатов |
|---|---|---|---|---|
| OpenAI | Файл JSONL (загрузка перед созданием) | 50% | до 24 ч | 30 дней |
| Anthropic | Запросы в теле (inline) | 50% | до 24 ч | 29 дней |
| Google Gemini | Запросы в теле (inline) | 50% | до 24 ч | 48 ч с момента создания |
Подробности и примеры для каждого провайдера — в соответствующих разделах документации (OpenAI, Anthropic, Google).
- Скидка 50%. Токены пакетных запросов тарифицируются по отдельной batch-ставке — вдвое дешевле обычной. Скидка действует только для моделей, у которых она настроена; актуальный список — на странице цен.
- Платите только за выполненное. Списание происходит по завершении пакета и считается по фактическому использованию из успешных результатов. За отменённые, истёкшие или завершившиеся ошибкой запросы плата не взимается.
- Проверка баланса при создании. Перед запуском ProxyAPI оценивает максимальную стоимость пакета и требует, чтобы на балансе была сумма с запасом. Если средств недостаточно — пакет не создаётся.
- Только ваши пакеты. Доступ к пакету возможен только по его идентификатору и только владельцу. Метода «получить список всех пакетов» нет — сохраняйте идентификаторы, которые возвращает создание пакета.
- Формат — как у провайдера. ProxyAPI не вводит собственный формат: запросы и ответы полностью совпадают с оригинальным Batch API провайдера, поэтому официальные SDK совместимы.
- Модель должна поддерживать batch. Если хотя бы один запрос в пакете ссылается на модель без batch-тарифа или на неподдерживаемый эндпоинт, весь пакет отклоняется при создании — частично обработанных пакетов не бывает.