Interfejs API do przetwarzania zbiorczego

Interfejs Gemini Batch API został zaprojektowany do asynchronicznego przetwarzania dużych ilości żądań za 50% standardowej ceny. Docelowy czas realizacji to 24 godziny, ale w większości przypadków jest on znacznie krótszy.

Używaj interfejsu Batch API do zadań na dużą skalę, które nie wymagają natychmiastowej odpowiedzi, takich jak wstępne przetwarzanie danych czy przeprowadzanie ocen.

Tworzenie zadania wsadowego

Żądania w interfejsie Batch API możesz przesyłać na 2 sposoby:

  • Żądania wbudowane: lista obiektów GenerateContentRequest bezpośrednio uwzględnionych w żądaniu tworzenia pakietowego. Jest to odpowiednie rozwiązanie w przypadku mniejszych partii, w których łączny rozmiar żądania nie przekracza 20 MB. Dane wyjściowe zwracane przez model to lista obiektów inlineResponse.
  • Plik wejściowy: plik JSON Lines (JSONL), w którym każdy wiersz zawiera kompletny obiektGenerateContentRequest. Ta metoda jest zalecana w przypadku większych żądań. Dane wyjściowe zwracane przez model to plik JSONL, w którym każdy wiersz jest obiektem GenerateContentResponse lub obiektem stanu.

Żądania wstawiane

W przypadku niewielkiej liczby próśb możesz bezpośrednio osadzić obiekty GenerateContentRequestBatchGenerateContentRequest. W tym przykładzie wywoływana jest metoda BatchGenerateContent z żądaniami wbudowanymi:

Python


from google import genai
from google.genai import types

client = genai.Client()

# A list of dictionaries, where each is a GenerateContentRequest
inline_requests = [
    {
        'contents': [{
            'parts': [{'text': 'Tell me a one-sentence joke.'}],
            'role': 'user'
        }]
    },
    {
        'contents': [{
            'parts': [{'text': 'Why is the sky blue?'}],
            'role': 'user'
        }]
    }
]

inline_batch_job = client.batches.create(
    model="gemini-3.5-flash",
    src=inline_requests,
    config={
        'display_name': "inlined-requests-job-1",
    },
)

print(f"Created batch job: {inline_batch_job.name}")

JavaScript


import {GoogleGenAI} from '@google/genai';

const ai = new GoogleGenAI({});

const inlinedRequests = [
    {
        contents: