AI и автоматизация

Пакетный API от Gemini: асинхронная обработка данных со скидкой 50%

Пакетный API от Gemini: асинхронная обработка данных со скидкой 50%

Искусственный интеллект стремительно меняет то, как мы работаем с данными, но при масштабировании проектов разработчики часто сталкиваются с двумя проблемами: ограничениями API по количеству запросов и высокими расходами.

Google AI предлагает элегантное решение для этих задач — Пакетный API (Batch API) для моделей Gemini. Если вам нужно обрабатывать большие объемы запросов, для которых не требуется мгновенный ответ в реальном времени, этот инструмент станет вашим лучшим помощником.

В этой статье мы подробно разберем, что такое Пакетный API Gemini, в чем его главные преимущества и как интегрировать его в ваши проекты.


Что такое Пакетный API от Gemini?

Batch API (Пакетный API) — это интерфейс для асинхронной обработки больших пулов запросов к нейросети. В отличие от стандартного (синхронного) API, где вы отправляете запрос и ждете ответ в ту же секунду, пакетный режим позволяет загрузить тысячи задач одновременно и забрать готовый результат позже.

Целевое время выполнения пакетного задания составляет 24 часа, однако на практике (особенно для небольших пулов) задачи обрабатываются значительно быстрее.

Главные преимущества использования Batch API:

  1. 💰 Скидка 50% на стоимость токенов. Это самое важное преимущество! Использование пакетного режима обходится ровно в два раза дешевле по сравнению со стандартным API (Pay-as-you-go).
  2. 🚀 Огромные лимиты. Пакетный API позволяет обойти жесткие лимиты на количество запросов в минуту (RPM), так как задачи ставятся в фоновую очередь.
  3. 🛠 Идеально для тяжелых задач. Отлично подходит для классификации огромных датасетов, перевода больших архивов текстов, генерации SEO-описаний для десятков тысяч карточек товаров или анализа логов.

Два способа отправки запросов

Google AI предоставляет разработчикам два варианта загрузки данных для пакетной обработки, в зависимости от объема вашей задачи:

1. Встроенные запросы (Inline requests)

Подходит для небольших партий данных (общий размер запроса до 20 МБ). В этом случае вы передаете список объектов напрямую в тело запроса BatchGenerateContentRequest. Это отличный вариант для быстрых тестов и микро-скриптов.

2. Входной файл (Input file) — Рекомендуемый метод

Если у вас серьезный объем данных, используйте формат файлов JSON Lines (JSONL).

  • Каждая строка в файле содержит уникальный ключ пользователя и сам запрос.
  • Вы загружаете этот файл на серверы Google с помощью File API.
  • Максимально допустимый размер файла составляет целых 2 ГБ.

Как это работает: пошаговое руководство

Рассмотрим классический пайплайн работы с Batch API при помощи входного файла на языке Python.

Шаг 1. Подготовка JSONL файла и его загрузка

Создайте файл, где каждая строка — это отдельный JSON-объект с вашим промптом. Затем загрузите его в облако:

import json
from google import genai
from google.genai import types

client = genai.Client()

# Создаем файл JSONL
with open("my-batch-requests.jsonl", "w") as f:
    requests = [
        {"key": "req-1", "request": {"contents": [{"parts": [{"text": "Опиши процесс фотосинтеза."}]}]}},
        {"key": "req-2", "request": {"contents": [{"parts": [{"text": "Главные ингредиенты пиццы Маргарита?"}]}]}}
    ]
    for req in requests:
        f.write(json.dumps(req) + "\n")

# Загружаем файл через File API
uploaded_file = client.files.upload(
    file='my-batch-requests.jsonl',
    config=types.UploadFileConfig(display_name='my-batch', mime_type='jsonl')
)

Шаг 2. Создание пакетного задания

После загрузки файла инициализируйте асинхронную задачу:

file_batch_job = client.batches.create(
    model="gemini-3-flash-preview", # или другая доступная модель
    src=uploaded_file.name,
    config={'display_name': "my-first-batch-job"}
)
print(f"Задание создано! ID: {file_batch_job.name}")

Шаг 3. Мониторинг статуса (Polling)

Так как процесс асинхронный, вам нужно периодически проверять его статус (JOB_STATE_SUCCEEDED, JOB_STATE_FAILED, и т.д.):

import time

job_name = file_batch_job.name
batch_job = client.batches.get(name=job_name)

while batch_job.state.name not in ['JOB_STATE_SUCCEEDED', 'JOB_STATE_FAILED']:
    print(f"Текущий статус: {batch_job.state.name}")
    time.sleep(30) # Проверяем каждые 30 секунд
    batch_job = client.batches.get(name=job_name)

Шаг 4. Получение результатов

Когда статус сменится на “Успешно”, вы сможете скачать выходной файл, который также будет в формате JSONL. Ключи (key), которые вы задали на первом шаге, будут сопоставлены с ответами модели, что позволит легко связать запрос и результат.


Где применять Batch API? (Лучшие Use-Cases)

Для бизнеса в России и СНГ, а также IT-компаний по всему миру, Пакетный API открывает огромные возможности по автоматизации рутины:

  • E-commerce: Массовая генерация уникальных описаний товаров, тегов и SEO-статей для интернет-магазинов.
  • Аналитика данных: Предварительная очистка данных, извлечение сущностей (NER) из сотен тысяч отзывов клиентов или расшифровок звонков.
  • Локализация продукта: Пакетный перевод документации, субтитров или интерфейсов на десятки языков.
  • Мультимодальные задачи: Генерация или анализ большого массива изображений (Batch API поддерживает не только текстовые запросы, но и работу с картинками!).

Резюме

Если скорость ответа для вас не является критическим фактором, Gemini Batch API — это инструмент №1 для оптимизации ваших расходов на ИИ. Загрузка данных в формате JSONL, асинхронная обработка и скидка 50% делают этот метод стандартом для серьезных production-решений.

Начните интегрировать пакетную обработку в ваши проекты уже сегодня! Ознакомиться с полной официальной документацией Google AI можно по этой ссылке.


А как вы используете генеративный ИИ в своих проектах? Делитесь в комментариях ниже!

Отнимаем рутину, считаем деньги

Посчитайте реальную экономию от замены отдела продаж и первой линии поддержки на автономного ИИ-агента.

Ваши текущие расходы

Текущие траты на отдел: 750 000в месяц
Инвестиции в ИИ-агента:
300 000 ₽ (разово внедрение) + 50 000 ₽ /мес (поддержка)
Чистая экономия за первый год:
8 100 000

Вы платите мне 300 тысяч сейчас, чтобы сэкономить 8 100 000 ₽ за год.
Мой агент не болеет, не выгорает, не увольняется и отвечает клиенту за 5 секунд в режиме 24/7, пока ваши менеджеры спят.