Gemini API का इस्तेमाल करके टेक्स्ट जनरेट करें

Gemini API कई तरह के इनपुट से टेक्स्ट आउटपुट जनरेट कर सकता है. इनमें ये शामिल हैं टेक्स्ट, इमेज, वीडियो, और ऑडियो. टेक्स्ट जनरेट करने की सुविधा का इस्तेमाल कई तरह के कामों के लिए किया जा सकता है जिसमें ये शामिल हैं:

  • क्रिएटिव राइटिंग
  • मीडिया ऐसेट के बारे में जानकारी देना या उनके बारे में जानकारी देना
  • टेक्स्ट पूरा होने के लिए
  • फ़्री-फ़ॉर्म टेक्स्ट की खास जानकारी
  • भाषाओं के बीच अनुवाद करना
  • चैटबॉट
  • आपके अपने नॉवल इस्तेमाल के उदाहरण

इस गाइड में आपको टेक्स्ट जनरेट करने का तरीका बताया गया है. generateContent और streamGenerateContent एपीआई. फ़ोकस सिर्फ़ टेक्स्ट वाले इनपुट और टेक्स्ट और इमेज इनपुट से आने वाले टेक्स्ट आउटपुट पर होता है. यहां की यात्रा पर हूं वीडियो और ऑडियो फ़ाइलों के साथ, मल्टीमोडल प्रॉम्प्ट के बारे में ज़्यादा जानने के लिए, यह देखें फ़ाइल प्रॉम्प्ट भेजने से जुड़ी रणनीतियां.

शुरू करने से पहले: अपना प्रोजेक्ट और एपीआई पासकोड सेट अप करें

Gemini API को कॉल करने से पहले, आपको अपना प्रोजेक्ट सेट अप करना होगा और उसे कॉन्फ़िगर करना होगा आपकी एपीआई कुंजी.

सिर्फ़ टेक्स्ट इनपुट से टेक्स्ट जनरेट करें

Gemini API का इस्तेमाल करके, मॉडल उपलब्ध कराकर टेक्स्ट जनरेट करने का सबसे आसान तरीका है एक टेक्स्ट वाले इनपुट के साथ, जैसा कि इस उदाहरण में दिखाया गया है:

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.")
print(response.text)

इस मामले में, प्रॉम्प्ट ("किसी जादुई बैकपैक के बारे में एक कहानी लिखें") के साथ सभी आउटपुट उदाहरण, सिस्टम निर्देश या फ़ॉर्मैटिंग की जानकारी शामिल करें. यह ज़ीरो-शॉट है अप्रोच का इस्तेमाल करें. इस्तेमाल के कुछ मामलों में, वन-शॉट या कुछ शॉट का प्रॉम्प्ट ऐसा आउटपुट मिल सकता है जो उपयोगकर्ता की उम्मीदों के मुताबिक़ हो. कुछ मामलों में, आप शायद खुद भी एक सिस्टम निर्देश पढ़ें, ताकि मॉडल को बेहतर बनाने में मदद मिल सके टास्क को समझने या खास दिशा-निर्देशों का पालन करने के लिए किया जाता है.

टेक्स्ट और इमेज इनपुट से टेक्स्ट जनरेट करें

Gemini API के साथ मल्टीमोडल इनपुट इस्तेमाल किए जा सकते हैं. इनकी मदद से, टेक्स्ट और मीडिया फ़ाइलों को एक साथ जोड़ा जा सकता है. इस उदाहरण में टेक्स्ट और इमेज इनपुट से टेक्स्ट जनरेट करने का तरीका बताया गया है:

import PIL.Image

model = genai.GenerativeModel("gemini-1.5-flash")
organ = PIL.Image.open(media / "organ.jpg")
response = model.generate_content(["Tell me about this instrument", organ])
print(response.text)

सिर्फ़ टेक्स्ट वाले प्रॉम्प्ट की तरह ही, मल्टीमोडल प्रॉम्प्ट में अलग-अलग तरीके अपनाए जा सकते हैं और रिफ़ाइन करने के विकल्प दिए जाते हैं. इस उदाहरण से मिले आउटपुट के आधार पर, हो सकता है कि आप प्रॉम्प्ट में चरण जोड़ें या निर्देशों को ज़्यादा सटीक बनाएं. ज़्यादा जानने के लिए, फ़ाइल प्रॉम्प्ट भेजने से जुड़ी रणनीतियां देखें.

टेक्स्ट स्ट्रीम जनरेट करें

डिफ़ॉल्ट रूप से, मॉडल पूरा टेक्स्ट पूरा करने के बाद रिस्पॉन्स दिखाता है जेनरेशन प्रोसेस है. आप इसका इंतज़ार न करके ज़्यादा तेज़ी से इंटरैक्शन कर सकते हैं आंशिक नतीजों को हैंडल करने के लिए, स्ट्रीमिंग का इस्तेमाल करें.

नीचे दिया गया उदाहरण, streamGenerateContent तरीका सिर्फ़ टेक्स्ट वाले इनपुट प्रॉम्प्ट से टेक्स्ट जनरेट करें.

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content("Write a story about a magic backpack.", stream=True)
for chunk in response:
    print(chunk.text)
    print("_" * 80)

एक इंटरैक्टिव चैट बनाएं

Gemini API का इस्तेमाल करके, लोगों को इंटरैक्टिव चैट की सुविधा दी जा सकती है. एपीआई की चैट सुविधा का इस्तेमाल करके, एक से ज़्यादा बार सवाल इकट्ठा किए जा सकते हैं इसकी मदद से, उपयोगकर्ता अपने सवालों के जवाब पाने या मदद पाने की ओर अपने कदम बढ़ा सकेंगे इसमें कई हिस्सों में आने वाले सवाल हैं. यह सुविधा उन ऐप्लिकेशन के लिए बिलकुल सही है जिनके लिए लगातार बातचीत, जैसे कि चैटबॉट, इंटरैक्टिव ट्यूटर या ग्राहक सहायता असिस्टेंट.

नीचे दिया गया कोड का उदाहरण, चैट को लागू करने का बुनियादी तरीका दिखाता है:

model = genai.GenerativeModel("gemini-1.5-flash")
chat = model.start_chat(
    history=[
        {"role": "user", "parts": "Hello"},
        {"role": "model", "parts": "Great to meet you. What would you like to know?"},
    ]
)
response = chat.send_message("I have 2 dogs in my house.")
print(response.text)
response = chat.send_message("How many paws are in my house?")
print(response.text)

टेक्स्ट जनरेट करने की सुविधा कॉन्फ़िगर करें

मॉडल को भेजे जाने वाले हर प्रॉम्प्ट में, पैरामीटर जो यह कंट्रोल करती है कि मॉडल, जवाब जनरेट कैसे करता है. इस्तेमाल करने के लिए GenerationConfig से इन पैरामीटर को कॉन्फ़िगर करना होगा. अगर पैरामीटर कॉन्फ़िगर नहीं किया जाता है, तो मॉडल डिफ़ॉल्ट विकल्पों का इस्तेमाल करती है. ये विकल्प, मॉडल के हिसाब से अलग-अलग हो सकते हैं.

नीचे दिए गए उदाहरण में, उपलब्ध कई विकल्पों को कॉन्फ़िगर करने का तरीका बताया गया है.

model = genai.GenerativeModel("gemini-1.5-flash")
response = model.generate_content(
    "Tell me a story about a magic backpack.",
    generation_config=genai.types.GenerationConfig(
        # Only one candidate for now.
        candidate_count=1,
        stop_sequences=["x"],
        max_output_tokens=20,
        temperature=1.0,
    ),
)

print(response.text)

candidateCount बताता है कि कितने लोगों को जवाब देना है. फ़िलहाल, यह वैल्यू सिर्फ़ एक पर सेट की जा सकती है. अगर यह नीति सेट नहीं है, तो इसकी डिफ़ॉल्ट वैल्यू 1 होगी.

stopSequences वर्ण क्रम (ज़्यादा से ज़्यादा 5) के सेट को तय करता है, जो आउटपुट जनरेशन बंद करो. अगर बताया गया है, तो एपीआई पहली बार में ही काम करना बंद कर देगा stop_sequence में से. स्टॉप के क्रम को जवाब.

maxOutputTokens किसी उम्मीदवार के लिए, टोकन की ज़्यादा से ज़्यादा संख्या सेट करता है.

temperature, आउटपुट की रैंडमनेस को कंट्रोल करता है. ज़्यादा वैल्यू के लिए ज़्यादा वैल्यू का इस्तेमाल करें और डेटरमिनिस्टिक रिस्पॉन्स के लिए कम वैल्यू दें. मान रेंज [0.0, 2.0] के बीच हो सकती है.

आप अलग-अलग कॉल को generateContent पर भी कॉन्फ़िगर कर सकते हैं:

response = model.generate_content(
    'Write a story about a magic backpack.',
    generation_config = genai.GenerationConfig(
        max_output_tokens=1000,
        temperature=0.1,
    )
)

अलग-अलग कॉल पर सेट की गई कोई भी वैल्यू, मॉडल कंस्ट्रक्टर की वैल्यू को बदल देती है.

आगे क्या करना है

इस गाइड में, generateContent और streamGenerateContent का इस्तेमाल करें. ज़्यादा जानकारी के लिए Gemini API का इस्तेमाल करके टेक्स्ट जनरेट करने के बारे में जानने के लिए, इन संसाधनों को देखें:

  • फ़ाइल प्रॉम्प्ट भेजने की रणनीतियां: Gemini API के साथ टेक्स्ट, इमेज, ऑडियो, और वीडियो डेटा के साथ प्रॉम्प्ट देने की सुविधा भी काम करती है इसे मल्टीमोडल प्रॉम्प्टिंग के नाम से जाना जाता है.
  • सिस्टम के लिए निर्देश: सिस्टम निर्देशों की मदद से मॉडल का व्यवहार बदला जा सकता है. और उसके इस्तेमाल के उदाहरण.
  • सुरक्षा के लिए दिशा-निर्देश: कभी-कभी जनरेटिव एआई मॉडल ऐसे आउटपुट देते हैं जो उम्मीद के मुताबिक नहीं होते. जैसे, गलत आउटपुट, पक्षपातपूर्ण या आपत्तिजनक है. पोस्ट-प्रोसेसिंग और मानवीय मूल्यांकन, इन कामों के लिए ज़रूरी हैं इस तरह के आउटपुट से होने वाले नुकसान के जोखिम को कम करेगा.