B2BB2B LLM

Пакетная обработка Messages

Отправка независимых запросов формата Anthropic со стабильными идентификаторами приложения.

Совместимый интерфейс Message Batches сохраняет каждый элемент и выполняет его через обычный маршрут запросов Messages. Это не пакетный сервис поставщика со скидкой. Используйте постоянные учётные данные Model API; временные браузерные сеансы не подходят для пакетных запросов.

Запрос: создание

curl https://api.b2b-llm.com/v1/messages/batches \
  -H "x-api-key: $B2B_API_KEY" -H 'anthropic-version: 2023-06-01' \
  -H 'Content-Type: application/json' \
  -d '{"requests":[{"custom_id":"invoice-summary-001","params":{"model":"claude-sonnet-4.6","max_tokens":256,"messages":[{"role":"user","content":"Summarize this invoice description."}]}}]}'

Ответ

{"id":"msgbatch_EXAMPLE","type":"message_batch","processing_status":"in_progress","request_counts":{"processing":1,"succeeded":0,"errored":0,"canceled":0,"expired":0},"results_url":null}

Чтение и управление

GET /v1/messages/batches
GET /v1/messages/batches/BATCH_ID
POST /v1/messages/batches/BATCH_ID/cancel
GET /v1/messages/batches/BATCH_ID/results

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

{"custom_id":"invoice-summary-001","result":{"type":"succeeded","message":{"type":"message","content":[{"type":"text","text":"The invoice covers scheduled service."}]}}}

Назначайте каждому элементу уникальный ID и не включайте потоковый режим или вложенный async в пакете. Отмена не даёт запуститься ожидающим элементам; уже работающие могут завершиться. Используйте возвращённые срок действия и URL результата, не предполагая правила хранения самостоятельно.

Средства и расчёты

Создание пакета компании требует доступных средств и лимита расходов и ограничено квотами хранения, заданий и элементов. Чтение и управление существующими операциями могут оставаться доступны с действительным ключом при нулевом балансе. Для каждого элемента нужны права и доступный бюджет на момент запуска; ожидающая работа может продолжиться после пополнения или разрешённого изменения лимита. После прерываний возможно выполнение «как минимум один раз», поэтому внешние действия инструментов приложения должны иметь собственную идемпотентность.

У каждого выполненного элемента есть отдельная запись запроса с идентификатором пакета и сохранённым пакетным ценовым коэффициентом. Коэффициент задаётся тарифным шаблоном и по умолчанию равен единице. Официальные справочные цены и оценка обнуляемого usage учитываются отдельно от фактического списания.