Batch API

Gemini Batch API को, बड़ी संख्या में अनुरोधों को एसिंक्रोनस तरीके से प्रोसेस करने के लिए डिज़ाइन किया गया है. इसके लिए, सामान्य लागत का 50% शुल्क लिया जाता है. इसका टारगेट टर्नअराउंड टाइम 24 घंटे है. हालांकि, ज़्यादातर मामलों में यह इससे काफ़ी कम होता है.

Batch API का इस्तेमाल, बड़े पैमाने पर किए जाने वाले और तुरंत जवाब की ज़रूरत न होने वाले टास्क के लिए करें. जैसे, डेटा को पहले से प्रोसेस करना या ऐसे आकलन करना जिनमें तुरंत जवाब की ज़रूरत न हो.

बैच जॉब बनाना

Batch API में अनुरोध सबमिट करने के दो तरीके हैं:

  • इनलाइन अनुरोध: बैच बनाने के अनुरोध में सीधे तौर पर शामिल किए गए GenerateContentRequest ऑब्जेक्ट की सूची. यह छोटे बैच के लिए सही है, जिनमें अनुरोध का कुल साइज़ 20 एमबी से कम होता है. मॉडल से मिलने वाला आउटपुट, inlineResponse ऑब्जेक्ट की सूची होती है.
  • इनपुट फ़ाइल: एक JSON लाइंस (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