Gemini API, डिफ़ॉल्ट रूप से जवाबों को स्ट्रक्चर नहीं किए गए टेक्स्ट के तौर पर दिखाता है. हालांकि, कुछ इस्तेमाल के उदाहरणों के लिए, JSON जैसे स्ट्रक्चर्ड टेक्स्ट की ज़रूरत होती है. उदाहरण के लिए, हो सकता है कि आप जवाब का इस्तेमाल, डाउनस्ट्रीम के उन अन्य टास्क के लिए कर रहे हों जिनके लिए डेटा स्कीमा की ज़रूरत होती है.
यह पक्का करने के लिए कि मॉडल से जनरेट किया गया आउटपुट हमेशा किसी खास स्कीमा का पालन करता हो, रिस्पॉन्स स्कीमा तय किया जा सकता है. यह मॉडल के रिस्पॉन्स के लिए ब्लूप्रिंट की तरह काम करता है. इसके बाद, पोस्ट-प्रोसेसिंग के कम चरण के साथ, मॉडल के आउटपुट से सीधे डेटा निकाला जा सकता है.
यहां कुछ उदाहरण दिए गए हैं:
पक्का करें कि मॉडल का रिस्पॉन्स, मान्य JSON फ़ॉर्मैट में हो और आपके दिए गए स्कीमा के मुताबिक हो.
उदाहरण के लिए, यह मॉडल उन रेसिपी के लिए स्ट्रक्चर्ड एंट्री जनरेट कर सकता है जिनमें हमेशा रेसिपी का नाम, सामग्री की सूची, और बनाने के तरीके शामिल होते हैं. इसके बाद, इस जानकारी को अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में आसानी से पार्स और दिखाया जा सकता है.यह तय करना कि किसी कैटगरी में आइटम को बांटने के टास्क के दौरान, मॉडल किस तरह जवाब दे सकता है.
उदाहरण के लिए, मॉडल की मदद से टेक्स्ट की व्याख्या करने के लिए, लेबल के खास सेट (उदाहरण के लिए,positive
औरnegative
जैसे ईनम का एक खास सेट) का इस्तेमाल किया जा सकता है, न कि मॉडल से बनाए जाने वाले लेबल (जिसमेंgood
,positive
,negative
याbad
जैसे बदलाव हो सकते हैं).
इस गाइड में, generateContent
को कॉल करते समय responseSchema
का इस्तेमाल करके, JSON आउटपुट जनरेट करने का तरीका बताया गया है. यह सिर्फ़ टेक्स्ट इनपुट पर फ़ोकस करता है. हालांकि, Gemini, टेक्स्ट, इमेज, वीडियो, और ऑडियो जैसे अलग-अलग तरह के इनपुट वाले अनुरोधों के लिए, स्ट्रक्चर्ड जवाब भी दे सकता है.
इस पेज पर सबसे नीचे, आउटपुट के तौर पर एनम वैल्यू जनरेट करने जैसे और उदाहरण दिए गए हैं. स्ट्रक्चर्ड आउटपुट जनरेट करने के कुछ और उदाहरण देखने के लिए, Google Cloud दस्तावेज़ में स्कीमा और मॉडल रिस्पॉन्स के उदाहरण की सूची देखें.
शुरू करने से पहले
अगर आपने अब तक ऐसा नहीं किया है, तो Vertex AI in Firebase SDK टूल के लिए शुरुआती गाइड देखें. पक्का करें कि आपने ये सभी काम कर लिए हैं:
नया या मौजूदा Firebase प्रोजेक्ट सेट अप करें. इसमें, ब्लेज़ कीमत वाले प्लान का इस्तेमाल करना और ज़रूरी एपीआई चालू करना शामिल है.
अपने ऐप्लिकेशन को Firebase से कनेक्ट करें. इसमें, अपने ऐप्लिकेशन को रजिस्टर करना और अपने ऐप्लिकेशन में Firebase कॉन्फ़िगरेशन जोड़ना शामिल है.
SDK टूल जोड़ें और अपने ऐप्लिकेशन में Vertex AI सेवा और जनरेटिव मॉडल को शुरू करें.
अपने ऐप्लिकेशन को Firebase से कनेक्ट करने, SDK टूल जोड़ने, और Vertex AI सेवा और जनरेटिव मॉडल को शुरू करने के बाद, Gemini API को कॉल किया जा सकता है.
पहला चरण: जवाब का स्कीमा तय करना
मॉडल के आउटपुट के स्ट्रक्चर, फ़ील्ड के नाम, और हर फ़ील्ड के लिए उम्मीद के मुताबिक डेटा टाइप की जानकारी देने के लिए, रिस्पॉन्स स्कीमा तय करें.
जब कोई मॉडल जवाब जनरेट करता है, तो वह आपके प्रॉम्प्ट में मौजूद फ़ील्ड के नाम और कॉन्टेक्स्ट का इस्तेमाल करता है. हमारा सुझाव है कि आप अपने मकसद को साफ़ तौर पर बताने के लिए, साफ़ तौर पर दिखने वाले स्ट्रक्चर, साफ़ तौर पर दिखने वाले फ़ील्ड के नाम, और ज़रूरत के हिसाब से जानकारी का इस्तेमाल करें.
रिस्पॉन्स स्कीमा के लिए ध्यान देने वाली बातें
रिस्पॉन्स स्कीमा लिखते समय इन बातों का ध्यान रखें:
रिस्पॉन्स स्कीमा का साइज़, इनपुट टोकन की सीमा में शामिल किया जाता है.
रिस्पॉन्स स्कीमा की सुविधा, इन रिस्पॉन्स एमआईएमई टाइप के साथ काम करती है:
application/json
: रिस्पॉन्स स्कीमा में बताए गए तरीके के हिसाब से JSON आउटपुट करना (स्ट्रक्चर्ड आउटपुट की ज़रूरी शर्तों के लिए मददगार)text/x.enum
: रिस्पॉन्स स्कीमा में बताए गए ईनम वैल्यू का आउटपुट देता है (यह कैटगरी तय करने वाले टास्क के लिए काम का है)
रिस्पॉन्स स्कीमा की सुविधा, इन स्कीमा फ़ील्ड के साथ काम करती है:
enum
items
maxItems
nullable
properties
required
अगर किसी ऐसे फ़ील्ड का इस्तेमाल किया जाता है जो काम नहीं करता, तो मॉडल आपके अनुरोध को मैनेज कर सकता है. हालांकि, वह उस फ़ील्ड को अनदेखा कर देता है. ध्यान दें कि ऊपर दी गई सूची, OpenAPI 3.0 स्कीमा ऑब्जेक्ट का सबसेट है. Vertex AI स्कीमा का रेफ़रंस देखें.
डिफ़ॉल्ट रूप से, Vertex AI in Firebase SDKs के लिए, सभी फ़ील्ड को तब तक ज़रूरी माना जाता है, जब तक कि आपने उन्हें
optionalProperties
ऐरे में 'ज़रूरी नहीं है' के तौर पर नहीं बताया है. इन वैकल्पिक फ़ील्ड के लिए, मॉडल फ़ील्ड में अपने-आप जानकारी भर सकता है या उन्हें छोड़ सकता है.ध्यान दें कि यह Vertex AI Gemini API के लिए डिफ़ॉल्ट व्यवहार से उलट है.
दूसरा चरण: JSON जनरेट करने के लिए, रिस्पॉन्स स्कीमा के साथ प्रॉम्प्ट भेजना
नीचे दिए गए उदाहरण में, स्ट्रक्चर्ड JSON आउटपुट जनरेट करने का तरीका बताया गया है.
स्ट्रक्चर्ड आउटपुट जनरेट करने के लिए, मॉडल को शुरू करने के दौरान आपको सही responseMimeType
(इस उदाहरण में, application/json
) के साथ-साथ वह responseSchema
भी बताना होगा जिसका इस्तेमाल मॉडल को करना है.
responseSchema
का इस्तेमाल, Gemini 1.5 Pro और Gemini 1.5 Flash के साथ किया जा सकता है.
अपने इस्तेमाल के उदाहरण और ऐप्लिकेशन के हिसाब से, Gemini मॉडल और जगह चुनने का तरीका जानें.
कुछ और उदाहरण
स्ट्रक्चर्ड आउटपुट का इस्तेमाल और जनरेट करने के बारे में ज़्यादा उदाहरण देखने के लिए, Google Cloud दस्तावेज़ में स्कीमा और मॉडल रिस्पॉन्स के उदाहरण की सूची देखें.
आउटपुट के तौर पर, एनम की वैल्यू जनरेट करना
यहां दिए गए उदाहरण में, किसी कैटगरी में बांटने के टास्क के लिए, रिस्पॉन्स स्कीमा का इस्तेमाल करने का तरीका बताया गया है. मॉडल से, किसी फ़िल्म की जानकारी के आधार पर उसकी शैली की पहचान करने के लिए कहा जाता है. आउटपुट, एक प्लैन-टेक्स्ट वाली वैल्यू होती है. मॉडल, रिस्पॉन्स स्कीमा में दी गई वैल्यू की सूची से इसे चुनता है.
स्ट्रक्चर्ड क्लासिफ़िकेशन के इस टास्क को करने के लिए, आपको मॉडल शुरू करने के दौरान, सही responseMimeType
(इस उदाहरण में,
text/x.enum
) और responseSchema
का इस्तेमाल करना होगा.
अपने इस्तेमाल के उदाहरण और ऐप्लिकेशन के हिसाब से, Gemini मॉडल और जगह चुनने का तरीका जानें.
कॉन्टेंट जनरेट करने की प्रोसेस को कंट्रोल करने के अन्य विकल्प
- प्रॉम्प्ट डिज़ाइन के बारे में ज़्यादा जानें, ताकि आप अपनी ज़रूरतों के हिसाब से आउटपुट जनरेट करने के लिए, मॉडल पर असर डाल सकें.
- मॉडल के जवाब जनरेट करने के तरीके को कंट्रोल करने के लिए, मॉडल पैरामीटर को कॉन्फ़िगर करें. इन पैरामीटर में ये शामिल हैं: ज़्यादा से ज़्यादा आउटपुट टोकन, तापमान, टॉपK, और टॉपP.
- सुरक्षा सेटिंग का इस्तेमाल करके, ऐसे जवाब मिलने की संभावना को कम या ज़्यादा करें जो हानिकारक माने जा सकते हों. इनमें नफ़रत फैलाने वाली भाषा और साफ़ तौर पर सेक्शुअल ऐक्ट दिखाने वाला कॉन्टेंट शामिल है.
- मॉडल के व्यवहार को कंट्रोल करने के लिए, सिस्टम से जुड़े निर्देश सेट करें. यह सुविधा, "प्रीऐब्सटेंस" की तरह है. इसे मॉडल को असली उपयोगकर्ता से मिलने वाले निर्देशों के ज़रिए इस्तेमाल करने से पहले जोड़ा जाता है.
Vertex AI in Firebase के साथ अपने अनुभव के बारे में सुझाव/राय दें या शिकायत करें