मीम जनरेटर

इस गाइड में, Gemma की मदद से फ़ंक्शन कॉल करने की सुविधा का इस्तेमाल करके, ऐप्लिकेशन को लागू करने का व्यावहारिक तरीका बताया गया है. इस तकनीक को, Gemma मॉडल के अलग-अलग वर्शन पर लागू किया जा सकता है. इसके लिए, प्रॉम्प्ट इंजीनियरिंग का ध्यान से इस्तेमाल किया जाता है. ज़्यादा जानकारी के लिए, Beyond the Chatbot: Agentic AI with Gemma लेख पढ़ें.

फ़ंक्शन कॉल के बारे में जानकारी

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

  1. टूल के बारे में बताएं
    आप मॉडल को उन "टूल" (फ़ंक्शन) के बारे में बताते हैं जिनका इस्तेमाल वह कर सकता है. इसमें इस तरह का कॉन्टेंट शामिल है:

    • टूल क्या करता है (ब्यौरा)
    • टूल को किस तरह की जानकारी चाहिए (पैरामीटर)
  2. उपयोगकर्ता कोई सवाल पूछता है
    आपने मॉडल से कोई सवाल पूछा है या उसे कोई टास्क दिया है

  3. Gemma यह तय करती है
    मॉडल यह पता लगाता है कि आपके सवाल का जवाब देने के लिए, उसे किसी टूल की ज़रूरत है या नहीं.

  4. जेमा किसी टूल का अनुरोध करता है
    अगर किसी टूल की ज़रूरत है, तो जेमा एक कोड जनरेट करेगा, जो ```tool_code``` के साथ रैप किया गया होगा

  5. टूल अपना काम करता है
    टूल (फ़ंक्शन), मॉडल से जानकारी लेता है और वह काम करता है जो उसे करना है.

  6. टूल से नतीजे मिलते हैं
    Gemma को उम्मीद है कि उसे ```tool_output``` के साथ नतीजा मिलेगा

  7. Gemma आपको आखिरी जवाब देता है
    मॉडल, टूल के नतीजों का इस्तेमाल करके आपके लिए पूरा और सटीक जवाब तैयार करता है.

काम के सुझाव

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

प्रॉम्प्ट और आउटपुट के उदाहरण

इस ऐप्लिकेशन का कोड, Gemma Cookbook कोड रिपॉज़िटरी में देखा जा सकता है.

पहला और दूसरा चरण: टूल के बारे में बताना और कोई टास्क देना

बिल्ली की मज़ेदार इमेज

इनपुट: बिल्ली की मज़ेदार इमेज
टेक्स्ट इनपुट:

If you decide to invoke any of the function(s), it should be wrapped with ```tool_code```.

You have access to the following tools.

* `generate_meme(image, top_text, middle_text, bottom_text)`: Generate a meme with the given parameters

Make a funny meme with this. "meme.jpg"

तीसरा चरण: जेमा, टूल का इस्तेमाल करने का फ़ैसला लेती हैं और उसका अनुरोध करती हैं

इस प्रॉम्प्ट से यह जवाब मिलेगा:

Okay, here's a funny meme based on the image of the surprised cat:

```tool_code
generate_meme(image="meme.jpg", top_text="Me when I hear a creak", middle_text="Is it safe?", bottom_text="Probably not.")
```

चौथा चरण: टूल अपना काम करता है

आपको कोड ब्लॉक ढूंढकर, फ़ंक्शन के आर्ग्युमेंट को पार्स करके, और फ़ंक्शन को एक्ज़ीक्यूट करके, मॉडल के आउटपुट को प्रोसेस करना होगा.

मीम जनरेटर से मिला आखिरी आउटपुट