PaliGemma के प्रॉम्प्ट और सिस्टम के निर्देश

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

प्रॉम्प्ट का फ़ॉर्मैट

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

इमेज और टेक्स्ट डेटा का क्रम

PaliGemma मॉडल को टेक्स्ट और इमेज डेटा के साथ प्रॉम्प्ट करते समय, इमेज डेटा को पहले और उसके बाद टेक्स्ट प्रॉम्प्टिंग डेटा को दिया जाना चाहिए. इमेज और टेक्स्ट प्रॉम्प्ट डेटा के क्रम को उलटने या इमेज और टेक्स्ट डेटा को आपस में मिलाने पर, आम तौर पर काम के नतीजे नहीं मिलेंगे.

प्रॉम्प्ट टास्क का सिंटैक्स

PaliGemma मॉडल को ऑब्जेक्ट की पहचान करने और इमेज के कैप्शन देने जैसे टास्क के लिए, खास प्रॉम्प्ट पैटर्न और सिंटैक्स के साथ ट्रेन किया जाता है. PaliGemma मॉडल से किसी खास तरह के व्यवहार का अनुरोध करने के लिए, प्रॉम्प्ट टास्क सिंटैक्स का इस्तेमाल इस तरह किया जा सकता है:

  • "cap {lang}\n": बहुत छोटा और अधूरा कैप्शन (WebLI-alt से)
  • "caption {lang}\n": COCO जैसे अच्छे और छोटे कैप्शन
  • "describe {lang}\n": ज़्यादा जानकारी देने वाले और थोड़े लंबे कैप्शन
  • "ocr": ऑप्टिकल कैरेक्टर रिकग्निशन
  • "answer {lang} {question}\n": इमेज के कॉन्टेंट के बारे में जवाब देने वाला सवाल
  • "question {lang} {answer}\n": किसी जवाब के लिए सवाल जनरेट करना
  • "detect {object} ; {object}\n": किसी इमेज में सूची में शामिल ऑब्जेक्ट ढूंढें और उन ऑब्जेक्ट के लिए बॉउंडिंग बॉक्स दिखाएं
  • "segment {object}\n": किसी ऑब्जेक्ट के लिए इमेज सेगमेंटेशन बनाने के लिए, इमेज में उस ऑब्जेक्ट के हिस्से का पता लगाएं

{lang} विकल्प, भाषा कोड के लिए हैं. PaliGemma, इस विकल्प की मदद से टास्क के प्रॉम्प्ट के लिए, 34 अलग-अलग भाषाओं में भाषा पहचानने की सुविधा देता है. GitHub पर, इस्तेमाल की जा सकने वाली भाषाओं की सूची देखी जा सकती है.

इस सिंटैक्स का इस्तेमाल करने का तरीका बताने वाले कोड के उदाहरणों के लिए, Keras की मदद से PaliGemma का आउटपुट जनरेट करना ट्यूटोरियल देखें.

एक साथ कई प्रॉम्प्ट कमांड

एक ही प्रॉम्प्ट में, निर्देशों के एक बैच के तौर पर एक से ज़्यादा प्रॉम्प्ट कमांड दिए जा सकते हैं. हर प्रॉम्प्ट कमांड को \n वर्ण के साथ खत्म करना ज़रूरी है. यहां दिए गए उदाहरण में, एक से ज़्यादा निर्देश देने के लिए, प्रॉम्प्ट टेक्स्ट को स्ट्रक्चर करने का तरीका बताया गया है.

prompts = [
    'answer en where is the cow standing?\n',
    'answer en what color is the cow?\n',
    'describe en\n',
    'detect cow\n',
    'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
    inputs={
        "images": images,
        "prompts": prompts,
    }
)
for output in outputs:
    print(output)

सिस्टम से जुड़े निर्देश

PaliGemma मॉडल, फ़ाउंडेशन मॉडल के Gemma सिस्टम निर्देशों के अलावा, किसी और सिस्टम निर्देश के साथ काम नहीं करते.