تم تصميم Gemini Batch API لمعالجة كميات كبيرة من الطلبات بشكل غير متزامن بنصف التكلفة العادية. الوقت المستهدف لإنجاز المهمة هو 24 ساعة، ولكن في معظم الحالات، يكون الوقت أقل بكثير.
استخدِم Batch API للمهام غير العاجلة على نطاق واسع، مثل المعالجة المسبقة للبيانات أو إجراء التقييمات التي لا تتطلّب ردًا فوريًا.
إنشاء مهمة معالجة مجمّعة
تتوفّر طريقتان لإرسال طلباتك في Batch API:
- الطلبات المضمّنة: قائمة بعناصر
GenerateContentRequestمضمّنة مباشرةً في طلب إنشاء المجموعة. هذا الخيار مناسب للدفعات الأصغر التي تحافظ على إجمالي حجم الطلب أقل من 20 ميغابايت. الناتج الذي يعرضه النموذج هو قائمة بكائناتinlineResponse. - ملف الإدخال: ملف JSON Lines (JSONL)
يحتوي كل سطر فيه على عنصر
GenerateContentRequestكامل. يُنصح باستخدام هذه الطريقة للطلبات الأكبر حجمًا. الناتج الذي تعرضه النماذج هو ملف JSONL، حيث يكون كل سطر إماGenerateContentResponseأو كائن حالة.
الطلبات المضمَّنة
بالنسبة إلى عدد صغير من الطلبات، يمكنك تضمين عناصر
GenerateContentRequest مباشرةً
ضمن BatchGenerateContentRequest. يستدعي المثال التالي طريقة BatchGenerateContent مع الطلبات المضمّنة:
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: [{
parts: [{text: 'Tell me a one-sentence joke.'}],
role: 'user'
}]
},
{
contents: [{
parts: [{'text': 'Why is the sky blue?'}],
role: 'user'
}]
}
]
const response =