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