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
GenerateContentRequestbezpoś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ówinlineResponse. - Plik wejściowy: plik JSON Lines (JSONL), w którym każdy wiersz zawiera kompletny obiekt
GenerateContentRequest. 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 obiektemGenerateContentResponselub obiektem stanu.
Żądania wstawiane
W przypadku niewielkiej liczby próśb możesz bezpośrednio osadzić obiekty GenerateContentRequest w BatchGenerateContentRequest. 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: