এই পৃষ্ঠায় সার্ভার প্রম্পট টেমপ্লেটের জন্য কিছু সেরা অনুশীলন এবং বিবেচ্য বিষয় বর্ণনা করা হয়েছে, যার মধ্যে এখনও অসমর্থিত বৈশিষ্ট্যগুলোও অন্তর্ভুক্ত রয়েছে। উল্লেখ্য যে, এই বৈশিষ্ট্যগুলোর অনেকগুলোই সার্ভার প্রম্পট টেমপ্লেটের প্রাথমিক সংস্করণে উপলব্ধ নয়, তাই আপডেটের জন্য রিলিজ নোট দেখুন!
সর্বোত্তম অনুশীলন
এই সেরা অনুশীলনগুলির মধ্যে অনেকগুলি 'আপনার টেমপ্লেট পরিচালনা করুন' অংশেও বিস্তারিতভাবে বর্ণনা করা হয়েছে।
আপনার টেমপ্লেটগুলির সংস্করণ তৈরি করুন
সিমান্টিক ভার্সনিং (semver) ব্যবহার করে এমন একটি ভার্সন যুক্ত টেমপ্লেট আইডি তৈরি করুন।
Firebase Remote Config ব্যবহার করুন, যাতে আপনি আপনার অনুরোধের টেমপ্লেট এবং অন্যান্য মান সহজেই পরিবর্তন করতে পারেন।
আপনার টেমপ্লেট সুরক্ষিত করুন
প্রোডাকশনে যাওয়ার আগে আপনার টেমপ্লেটটি লক করুন। এবং প্রোডাকশনে ব্যবহৃত টেমপ্লেটগুলো সম্পাদনা করা থেকে বিরত থাকুন।
একটি টেমপ্লেট লক করা অনিচ্ছাকৃত সম্পাদনার বিরুদ্ধে সুরক্ষা হিসেবে কাজ করে, কিন্তু লক করা সম্পাদনাকে সম্পূর্ণরূপে বন্ধ করে না । উপযুক্ত অনুমতিসম্পন্ন একজন প্রকল্প সদস্য যেকোনো সময় একটি টেমপ্লেট আনলক করে তা সম্পাদনা করতে পারেন।
যে টেমপ্লেটগুলো কোড দ্বারা সক্রিয়ভাবে ব্যবহৃত হচ্ছে – বিশেষ করে প্রোডাকশন কোড দ্বারা – সেগুলোকে লক করার পরামর্শ দেওয়া হয়।
আপনার ইনপুট ভেরিয়েবলগুলোর জন্য শক্তিশালী ইনপুট ভ্যালিডেশন লিখুন, যা নিম্নলিখিত বিষয়গুলোতে সাহায্য করতে পারে:
- দ্রুত ইনজেকশনের বিরুদ্ধে সুরক্ষা দিতে পারে।
- অনুরোধগুলো সফল হয় এবং প্রতিক্রিয়া প্রত্যাশিত হয়, তা নিশ্চিত করতে সাহায্য করতে পারে।
এখনো সমর্থিত নয় এমন বৈশিষ্ট্য
এখনও সমর্থিত নয় এমন অনেক ফিচার শুধুমাত্র প্রাথমিক রিলিজেই পাওয়া যাচ্ছে না, তাই আপডেটের জন্য রিলিজ নোট দেখুন!
Firebase AI Logic- এর এখনও অসমর্থিত সক্ষমতাসমূহ
সার্ভার প্রম্পট টেমপ্লেটগুলো এখনও Firebase AI Logic- এর নিম্নলিখিত সক্ষমতাগুলো সমর্থন করে না । এই সক্ষমতাগুলোর মধ্যে বেশ কয়েকটি শীঘ্রই আসছে!
- চ্যাট
- ফাংশন কলিং
- জেমিনি মডেলদের সাথে ছবির পুনরাবৃত্তিমূলক সম্পাদনা (চ্যাট আবশ্যক)
- দ্বিমুখী স্ট্রিমিং ( Gemini Live API )
- হাইব্রিড বা অন-ডিভাইস ইনফারেন্স
- আউটপুটকে এনামের একটি তালিকায় সীমাবদ্ধ করা
আরও মনে রাখবেন যে, আপনি যদি Firebase কনসোলে AI মনিটরিং ব্যবহার করেন, তাহলে টেমপ্লেট আইডিটি এখনও কোনো রেকর্ডে যুক্ত হয়নি।
ডটপ্রম্পটের এখনও অসমর্থিত সাধারণ উপাদানসমূহ
সার্ভার প্রম্পট টেমপ্লেটগুলো সম্ভবত শীঘ্রই ডটপ্রম্পটের নিম্নলিখিত সাধারণ উপাদানগুলো সমর্থন করবে :
আপনার ফ্রন্টম্যাটারে ইনপুট এবং আউটপুট স্কিমার জন্য JSON স্কিমা স্পেসিফিকেশন ব্যবহার করা।
- উল্লেখ্য যে, এই স্পেকটি নন-সার্ভার টেমপ্লেট রিকোয়েস্টের ক্ষেত্রেও সমর্থিত নয়। আমরা বর্তমানে শুধুমাত্র ওপেনএপিআই স্কিমা স্পেসিফিকেশন সমর্থন করি।
*ব্যবহার করে ওয়াইল্ডকার্ড ফিল্ডের সংজ্ঞা ঘোষণা করা।@keyব্যবহার করে অথবা সাধারণভাবে কোনো অবজেক্ট ইনপুটের ফিল্ডগুলোর ওপর পুনরাবৃত্তি করা (যে ক্ষেত্রে@keyপ্রাসঙ্গিক)।@rootব্যবহার করে, আপনি বর্তমানthisনির্বিশেষে রুট ভেরিয়েবল context-কে রেফারেন্স করতে পারেন।
সার্ভার প্রম্পট টেমপ্লেটগুলো সম্ভবত ডটপ্রম্পটের নিম্নলিখিত সাধারণ উপাদানগুলো সমর্থন করবে না :
- পার্সিয়াল ব্যবহার করা হয়, যা হলো পুনঃব্যবহারযোগ্য টেমপ্লেট স্নিপেট এবং যা অন্য টেমপ্লেটে অন্তর্ভুক্ত করা যায়।
অন্যান্য বিবেচ্য বিষয়
ডিফল্টরূপে, আপনি যখন Firebase কনসোলে গাইডেড UI ব্যবহার করেন, তখন আমরা Firebase AI Logic-এর জন্য উপলব্ধ সমস্ত অঞ্চলে টেমপ্লেটটি প্রোভিশন করি। আপনি যদি Vertex AI Gemini API ব্যবহার করেন এবং আপনার ব্যবহারের ক্ষেত্রে অবস্থান-ভিত্তিক সীমাবদ্ধতার প্রয়োজন হয়, তাহলে আপনি REST API ব্যবহার করে আপনার টেমপ্লেটের জন্য অবস্থান নির্দিষ্ট করে দিতে পারেন।
আপনি যদি Firebase কনসোলের নির্দেশিত UI ব্যবহার না করে একটি ফাইল হিসেবে সার্ভার প্রম্পট টেমপ্লেট প্রদান করতে চান, তাহলে আপনি REST API ব্যবহার করতে পারেন। মনে রাখবেন যে, সার্ভার প্রম্পট টেমপ্লেটগুলো অ্যাপ কোডে সংজ্ঞায়িত এবং টেমপ্লেটে পাঠানো স্কিমা সমর্থন করে না ।
টেমপ্লেটটি সার্ভারে থাকলেও, Cloud Storage for Firebase ইউআরএল (যা ইনপুট ভেরিয়েবল হিসেবে প্রদান করা যেতে পারে) ব্যতীত এটি আপনার ফায়ারবেস প্রজেক্টের অন্যান্য সার্ভার-সাইড রিসোর্সের (যেমন ডেটাবেস) সাথে সরাসরি যোগাযোগ করতে পারে না।