इस पेज पर, सर्वर प्रॉम्प्ट टेंप्लेट के लिए कुछ सबसे सही तरीके और ध्यान देने वाली बातें बताई गई हैं. इनमें ऐसी सुविधाएं भी शामिल हैं जो फ़िलहाल उपलब्ध नहीं हैं. ध्यान दें कि इनमें से कई सुविधाएं, सर्वर प्रॉम्प्ट टेंप्लेट के बेहतर होने के साथ उपलब्ध होंगी. इसलिए, अपडेट के लिए रिलीज़ नोट देखें!
सबसे सही तरीके
इनमें से कई सबसे सही तरीकों के बारे में, अपने टेंप्लेट मैनेज करें लेख में भी बताया गया है.
अपने टेंप्लेट का वर्शन बनाना
सिमैंटिक वर्शनिंग (semver) का इस्तेमाल करने वाले वर्शन के साथ टेंप्लेट आईडी बनाएं.
Firebase Remote Config का इस्तेमाल करें, ताकि आप अपने अनुरोध में टेंप्लेट और अन्य वैल्यू को आसानी से बदल सकें.
अपने टेंप्लेट को सुरक्षित रखना
प्रोडक्शन में इस्तेमाल किए जा रहे टेंप्लेट में तब तक बदलाव न करें, जब तक आपने बदलाव की अच्छी तरह से जांच न कर ली हो.
प्रोडक्शन में जाने से पहले, अपने टेंप्लेट को लॉक करें.
किसी टेंप्लेट को लॉक करने से, उसमें अनजाने में होने वाले बदलावों को रोका जा सकता है. हालांकि, लॉक करने से उसमें बदलाव करने की सुविधा पूरी तरह से ब्लॉक नहीं होती. प्रोजेक्ट का कोई सदस्य, जिसके पास ज़रूरी अनुमतियां हैं, वह टेंप्लेट में बदलाव करने के लिए उसे कभी भी अनलॉक कर सकता है.
हमारा सुझाव है कि उन टेंप्लेट को लॉक कर दें जिनका इस्तेमाल कोड में किया जा रहा है. खास तौर पर, प्रोडक्शन कोड में इस्तेमाल किए जा रहे टेंप्लेट को लॉक कर दें.
Gemini API के इस्तेमाल को सुरक्षित रखना
अपने इनपुट वैरिएबल के लिए, इनपुट की पुष्टि करने का बेहतर तरीका अपनाएं. इससे आपको ये काम करने में मदद मिल सकती है:
- इससे प्रॉम्प्ट इंजेक्शन से बचने में मदद मिल सकती है.
- इससे यह पक्का करने में मदद मिल सकती है कि अनुरोध पूरे हों और जवाब उम्मीद के मुताबिक हों.
अपने Firebase प्रोजेक्ट के लिए, सिर्फ़ टेंप्लेट मोड लागू करें, ताकि Firebase AI Logic के ज़रिए किए जाने वाले सभी Gemini API अनुरोधों के लिए, सर्वर प्रॉम्प्ट टेंप्लेट का इस्तेमाल करना ज़रूरी हो.
सर्वर प्रॉम्प्ट टेंप्लेट के साथ काम न करने वाली सुविधाएं
इनमें से कई सुविधाएं, सर्वर प्रॉम्प्ट टेंप्लेट के बेहतर होने के साथ उपलब्ध होंगी. इसलिए, अपडेट के लिए रिलीज़ नोट देखें!
टेंप्लेट में, Firebase AI Logic की सुविधाएं अब तक उपलब्ध नहीं हैं
Firebase AI Logic की ये स्टैंडर्ड सुविधाएं, फ़िलहाल सर्वर प्रॉम्प्ट टेंप्लेट के ज़रिए इस्तेमाल नहीं की जा सकतीं:
- बिडाइरेक्शनल स्ट्रीमिंग (Gemini Live API)
- हाइब्रिड या ऑन-डिवाइस इन्फ़्रेंस
- आउटपुट को enum की सूची तक सीमित करना
यह भी ध्यान रखें कि अगर Firebase कंसोल में एआई मॉनिटरिंग का इस्तेमाल किया जाता है, तो टेंप्लेट आईडी अब तक किसी भी रिकॉर्ड में नहीं भरा गया है.
Dotprompt के सामान्य एलिमेंट, जो फ़िलहाल टेंप्लेट के साथ काम नहीं करते
सर्वर प्रॉम्प्ट टेंप्लेट में जल्द ही Dotprompt के ये सामान्य एलिमेंट इस्तेमाल किए जा सकेंगे:
अपने फ़्रंटमैटर में इनपुट और आउटपुट स्कीमा के लिए, JSON स्कीमा स्पेसिफ़िकेशन का इस्तेमाल करना.
- ध्यान दें कि यह स्पेसिफ़िकेशन, नॉन-सर्वर टेंप्लेट अनुरोधों के साथ भी काम नहीं करता. फ़िलहाल, हम सिर्फ़ OpenAPI स्कीमा स्पेसिफ़िकेशन के साथ काम करते हैं.
*का इस्तेमाल करके, वाइल्डकार्ड फ़ील्ड की परिभाषा तय करना.@keyका इस्तेमाल करना या आम तौर पर, किसी ऑब्जेक्ट इनपुट के फ़ील्ड को बार-बार दोहराना (यह वह मामला है जहां@keyकाम का है).@rootका इस्तेमाल करके, मौजूदाthisके बावजूद रूट वैरिएबल कॉन्टेक्स्ट का रेफ़रंस दिया जा सकता है.
सर्वर प्रॉम्प्ट टेंप्लेट में, Dotprompt के ये सामान्य एलिमेंट शायद काम न करें:
- पार्शियल का इस्तेमाल करना. ये फिर से इस्तेमाल किए जा सकने वाले टेंप्लेट स्निपेट होते हैं. इन्हें अन्य टेंप्लेट में शामिल किया जा सकता है.
दूसरी ज़रूरी बातें
डिफ़ॉल्ट रूप से, Firebase कंसोल में गाइडेड यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने पर, हम Firebase AI Logic के लिए उपलब्धता वाले सभी देशों या इलाकों में टेंप्लेट उपलब्ध कराते हैं. अगर Agent Platform Gemini API (formerly Vertex AI) का इस्तेमाल किया जाता है और आपके इस्तेमाल के उदाहरण के लिए जगह के हिसाब से पाबंदियां ज़रूरी हैं, तो REST API का इस्तेमाल करके अपने टेंप्लेट के लिए जगह की जानकारी दी जा सकती है.
अगर आपको Firebase कंसोल के गाइडेड यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करने के बजाय, सर्वर प्रॉम्प्ट टेंप्लेट को फ़ाइल के तौर पर उपलब्ध कराना है, तो REST API का इस्तेमाल करें. ध्यान दें कि सर्वर प्रॉम्प्ट टेंप्लेट, ऐप्लिकेशन कोड में तय किए गए और टेंप्लेट में पास किए गए स्कीमा के साथ काम नहीं करते.
टेंप्लेट सर्वर पर मौजूद होने के बावजूद, यह आपके Firebase प्रोजेक्ट के अन्य सर्वर-साइड संसाधनों (जैसे, डेटाबेस) के साथ सीधे इंटरैक्ट नहीं कर सकता. हालांकि, Cloud Storage for Firebase यूआरएल के साथ ऐसा किया जा सकता है. इन्हें इनपुट वैरिएबल के तौर पर दिया जा सकता है.