इस पेज पर, सर्वर प्रॉम्प्ट टेंप्लेट के लिए कुछ सबसे सही तरीकों और ज़रूरी बातों के बारे में बताया गया है. इसमें उन सुविधाओं के बारे में भी बताया गया है जो फ़िलहाल उपलब्ध नहीं हैं. ध्यान दें कि इनमें से कई सुविधाएं, सर्वर प्रॉम्प्ट टेंप्लेट के अपडेट होने पर उपलब्ध होंगी. इसलिए, अपडेट के लिए रिलीज़ नोट देखें!
सबसे सही तरीके
इनमें से कई सबसे सही तरीकों के बारे में, टेंप्लेट मैनेज करना लेख में भी बताया गया है.
अपने टेंप्लेट के वर्शन बनाना
ऐसे टेंप्लेट आईडी बनाएं जिनमें वर्शन जोड़ा गया हो. इसके लिए, सिमैंटिक वर्शनिंग (सेमवर) का इस्तेमाल करें.
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 कंसोल में गाइडेड यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करते हैं, तो हम सभी उपलब्ध देशों/इलाकों में Firebase AI Logic के लिए टेंप्लेट उपलब्ध कराते हैं. अगर Agent Platform Gemini API (formerly Vertex AI) का इस्तेमाल किया जाता है और आपके इस्तेमाल के उदाहरण के लिए जगह के हिसाब से पाबंदियां ज़रूरी हैं, तो REST API का इस्तेमाल करके, अपने टेंप्लेट की जगह तय की जा सकती है.
अगर आपको सर्वर प्रॉम्प्ट टेंप्लेट को फ़ाइल के तौर पर उपलब्ध कराना है, तो Firebase console के गाइडेड यूज़र इंटरफ़ेस (यूआई) के बजाय, REST API का इस्तेमाल किया जा सकता है. ध्यान दें कि सर्वर प्रॉम्प्ट टेंप्लेट, ऐप्लिकेशन कोड में तय किए गए और टेंप्लेट में पास किए गए स्कीमा के साथ काम नहीं करते.
भले ही, टेंप्लेट सर्वर पर हो, लेकिन यह आपके Firebase प्रोजेक्ट के अन्य सर्वर-साइड रिसॉर्स (जैसे, डेटाबेस) के साथ सीधे इंटरैक्ट नहीं कर सकता. सिर्फ़ Cloud Storage for Firebase यूआरएल के साथ इंटरैक्ट कर सकता है. इन्हें इनपुट वैरिएबल के तौर पर उपलब्ध कराया जा सकता है.