टेंप्लेट के लिए सबसे सही तरीके और ज़रूरी बातें


इस पेज पर, सर्वर प्रॉम्प्ट टेंप्लेट के लिए कुछ सबसे सही तरीकों और ज़रूरी बातों के बारे में बताया गया है. इसमें, फ़िलहाल काम न करने वाली सुविधाओं के बारे में भी जानकारी दी गई है. ध्यान दें कि इनमें से कई सुविधाएं, सर्वर प्रॉम्प्ट टेंप्लेट के अपडेट होने पर उपलब्ध होंगी. इसलिए, अपडेट के लिए रिलीज़ नोट देखें!

सबसे सही तरीके

इनमें से कई सबसे सही तरीकों के बारे में, अपने टेंप्लेट मैनेज करना लेख में भी जानकारी दी गई है.

अपने टेंप्लेट के वर्शन बनाना

  • सेमैंटिक वर्शनिंग (सेमवर) का इस्तेमाल करने वाले वर्शन के साथ टेंप्लेट आईडी बनाएं.

  • Firebase Remote Config का इस्तेमाल करें, ताकि अनुरोध में टेंप्लेट और अन्य वैल्यू आसानी से बदली जा सकें.

अपने टेंप्लेट को सुरक्षित रखना

  • प्रोडक्शन में इस्तेमाल किए जाने वाले टेंप्लेट में तब तक बदलाव न करें, जब तक आपने बदलाव की अच्छी तरह से जांच न कर ली हो.

  • प्रोडक्शन में जाने से पहले, अपने टेंप्लेट को लॉक करें.

    • टेंप्लेट को लॉक करने से, अनजाने में होने वाले बदलावों से सुरक्षा मिलती है. हालांकि, लॉक करने पर भी बदलाव करने से पूरी तरह से नहीं रोका जा सकता. ज़रूरी अनुमतियां पाने वाला प्रोजेक्ट का सदस्य, टेंप्लेट में बदलाव करने के लिए उसे कभी भी अनलॉक कर सकता है.

    • हमारा सुझाव है कि कोड में इस्तेमाल किए जा रहे टेंप्लेट को लॉक करें. खास तौर पर, प्रोडक्शन कोड में इस्तेमाल किए जा रहे टेंप्लेट को.

Gemini API के इस्तेमाल को सुरक्षित रखना

  • अपने इनपुट वैरिएबल के लिए, मज़बूत इनपुट की पुष्टि करने की सुविधा लिखें. इससे इन कामों में मदद मिल सकती है:

    • प्रॉम्प्ट इंजेक्शन से सुरक्षा मिल सकती है.
    • यह पक्का किया जा सकता है कि अनुरोध पूरे हों और जवाब उम्मीद के मुताबिक हों.
  • अपने Firebase प्रोजेक्ट के लिए, सिर्फ़ टेंप्लेट मोड लागू करें, ताकि Gemini API अनुरोधों में, Firebase AI Logic सर्वर प्रॉम्प्ट टेंप्लेट का इस्तेमाल करना ज़रूरी हो.

ऐसी सुविधाएं जो फ़िलहाल सर्वर प्रॉम्प्ट टेंप्लेट के साथ काम नहीं करतीं

इनमें से कई सुविधाएं, सर्वर प्रॉम्प्ट टेंप्लेट के अपडेट होने पर उपलब्ध होंगी, इसलिए अपडेट के लिए रिलीज़ नोट देखें!

Firebase AI Logic की ऐसी क्षमताएं जो फ़िलहाल टेंप्लेट के साथ काम नहीं करतीं

Firebase AI Logic की ये स्टैंडर्ड क्षमताएं, फ़िलहाल सर्वर प्रॉम्प्ट टेंप्लेट के साथ काम नहीं करतीं:

  • दोनों दिशाओं में स्ट्रीमिंग (Gemini Live API)
  • हाइब्रिड या डिवाइस पर इन्फ़रेंस
  • आउटपुट को एनम की सूची तक सीमित करना

इसके अलावा, ध्यान दें कि अगर Firebase console में एआई मॉिटिरंग का इस्तेमाल किया जाता है, तो टेंप्लेट आईडी फ़िलहाल किसी भी रिकॉर्ड में नहीं दिखता.

Dotprompt के ऐसे सामान्य एलिमेंट जो फ़िलहाल टेंप्लेट के साथ काम नहीं करते

सर्वर प्रॉम्प्ट टेंप्लेट, Dotprompt के इन सामान्य एलिमेंट के साथ शायद जल्द ही काम करेंगे:

  • अपने फ़्रंटमैटर में, इनपुट और आउटपुट स्कीमा के लिए JSON स्कीमा स्पेसिफ़िकेशन का इस्तेमाल करना.

    • ध्यान दें कि यह स्पेसिफ़िकेशन, सर्वर के अलावा अन्य टेंप्लेट के अनुरोधों में भी काम नहीं करता. फ़िलहाल, सिर्फ़ OpenAPI स्कीमा स्पेसिफ़िकेशन काम करता है.
  • * का इस्तेमाल करके, वाइल्डकार्ड फ़ील्ड की परिभाषा तय करना.

  • @key का इस्तेमाल करना या आम तौर पर, किसी ऑब्जेक्ट इनपुट के फ़ील्ड पर इटरेट करना (यह तब होता है, जब @key काम का होता है).

  • @root का इस्तेमाल करना. इससे, मौजूदा this के बावजूद, रूट वैरिएबल के कॉन्टेक्स्ट को रेफ़र किया जा सकता है.

सर्वर प्रॉम्प्ट टेंप्लेट, Dotprompt के इन सामान्य एलिमेंट के साथ शायद काम नहीं करेंगे:

  • पार्शियल का इस्तेमाल करना. ये टेंप्लेट के ऐसे स्निपेट होते हैं जिन्हें दोबारा इस्तेमाल किया जा सकता है और अन्य टेंप्लेट में शामिल किया जा सकता है.

दूसरी ज़रूरी बातें

  • डिफ़ॉल्ट रूप से, Firebase console में गाइडेड यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने पर, हम सभी उपलब्ध देशों/इलाकों में Firebase AI Logic के लिए टेंप्लेट उपलब्ध कराते हैं. अगर Agent Platform Gemini API (formerly Vertex AI) का इस्तेमाल किया जाता है और आपके इस्तेमाल के उदाहरण के लिए जगह के हिसाब से पाबंदियां ज़रूरी हैं, तो REST API का इस्तेमाल करके, अपने टेंप्लेट की जगह तय की जा सकती है.

  • अगर आपको सर्वर प्रॉम्प्ट टेंप्लेट को फ़ाइल के तौर पर उपलब्ध कराना है (Firebase console के गाइडेड यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने के बजाय), तो REST API का इस्तेमाल किया जा सकता है. ध्यान दें कि सर्वर प्रॉम्प्ट टेंप्लेट, ऐप्लिकेशन कोड में तय किए गए और टेंप्लेट में पास किए गए स्कीमा के साथ काम नहीं करते.

  • भले ही, टेंप्लेट सर्वर पर हो, लेकिन यह आपके Firebase प्रोजेक्ट के अन्य सर्वर-साइड रिसॉर्स (जैसे, डेटाबेस) के साथ सीधे इंटरैक्ट नहीं कर सकता. सिर्फ़ Cloud Storage for Firebase यूआरएल के साथ इंटरैक्ट कर सकता है. इन्हें इनपुट वैरिएबल के तौर पर उपलब्ध कराया जा सकता है.