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


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

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

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

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

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

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

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

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

  • प्रोडक्शन के लिए रिलीज़ करने से पहले, अपने टेंप्लेट को लॉक करें.

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

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

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

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

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

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

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

Firebase AI Logic की सुविधाएँ, फ़िलहाल टेंप्लेट के साथ काम नहीं करती हैं

Firebase AI Logic की ये स्टैंडर्ड सुविधाएं, फ़िलहाल सर्वर प्रॉम्प्ट टेंप्लेट के ज़रिए उपलब्ध नहीं हैं:

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

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

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

सर्वर प्रॉम्प्ट टेंप्लेट में, Dotprompt के इन सामान्य एलिमेंट के लिए जल्द ही सहायता उपलब्ध होगी:

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

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

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

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

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

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

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

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

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

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