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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

यह भी ध्यान दें कि अगर 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 यूआरएल के साथ इंटरैक्ट किया जा सकता है.Cloud Storage for Firebase यूआरएल को इनपुट वैरिएबल के तौर पर दिया जा सकता है.