টেমপ্লেটের জন্য সেরা অনুশীলন এবং বিবেচনা


এই পৃষ্ঠায় সার্ভার প্রম্পট টেমপ্লেটের জন্য কিছু সেরা অনুশীলন এবং বিবেচ্য বিষয় বর্ণনা করা হয়েছে, যার মধ্যে এখনও অসমর্থিত বৈশিষ্ট্যগুলোও অন্তর্ভুক্ত রয়েছে। উল্লেখ্য যে, সার্ভার প্রম্পট টেমপ্লেটের বিকাশের সাথে সাথে এই বৈশিষ্ট্যগুলোর অনেক কিছুই উপলব্ধ হবে, তাই আপডেটের জন্য রিলিজ নোট দেখুন!

সর্বোত্তম অনুশীলন

এই সেরা অনুশীলনগুলির মধ্যে অনেকগুলি 'আপনার টেমপ্লেট পরিচালনা করুন' অংশেও বিস্তারিতভাবে বর্ণনা করা হয়েছে।

আপনার টেমপ্লেটগুলির সংস্করণ তৈরি করুন

  • সিমান্টিক ভার্সনিং (semver) ব্যবহার করে এমন একটি ভার্সন যুক্ত টেমপ্লেট আইডি তৈরি করুন।

  • Firebase Remote Config ব্যবহার করুন, যাতে আপনি আপনার অনুরোধের টেমপ্লেট এবং অন্যান্য মান সহজেই পরিবর্তন করতে পারেন।

আপনার টেমপ্লেট সুরক্ষিত করুন

  • প্রোডাকশনে ব্যবহৃত টেমপ্লেট সম্পাদনা করা থেকে বিরত থাকুন, যদি না আপনি পরিবর্তনটি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করে থাকেন।

  • প্রোডাকশনে যাওয়ার আগে আপনার টেমপ্লেটটি লক করুন।

    • একটি টেমপ্লেট লক করা অনিচ্ছাকৃত সম্পাদনার বিরুদ্ধে সুরক্ষা হিসেবে কাজ করে, কিন্তু লক করা সম্পাদনাকে সম্পূর্ণরূপে বন্ধ করে না । উপযুক্ত অনুমতিসম্পন্ন একজন প্রকল্প সদস্য যেকোনো সময় একটি টেমপ্লেট আনলক করে তা সম্পাদনা করতে পারেন।

    • যে টেমপ্লেটগুলো কোড দ্বারা সক্রিয়ভাবে ব্যবহৃত হচ্ছে – বিশেষ করে প্রোডাকশন কোড দ্বারা – সেগুলোকে লক করার পরামর্শ দেওয়া হয়।

জেমিনি এপিআই- এর ব্যবহার সুরক্ষিত করুন

  • আপনার ইনপুট ভেরিয়েবলগুলোর জন্য শক্তিশালী ইনপুট ভ্যালিডেশন লিখুন, যা নিম্নলিখিত বিষয়গুলোতে সাহায্য করতে পারে:

    • দ্রুত ইনজেকশনের বিরুদ্ধে সুরক্ষা দিতে পারে।
    • অনুরোধগুলো সফল হয় এবং প্রতিক্রিয়া প্রত্যাশিত হয়, তা নিশ্চিত করতে সাহায্য করতে পারে।
  • আপনার Firebase প্রোজেক্টের জন্য টেমপ্লেট-অনলি মোড প্রয়োগ করুন, যাতে Firebase AI Logic- এর মাধ্যমে করা সমস্ত Gemini API অনুরোধ অবশ্যই একটি সার্ভার প্রম্পট টেমপ্লেট ব্যবহার করে।

সার্ভার প্রম্পট টেমপ্লেট দ্বারা এখনও সমর্থিত নয় এমন বৈশিষ্ট্যসমূহ

সার্ভার প্রম্পট টেমপ্লেটগুলোর বিবর্তনের সাথে সাথে এই বৈশিষ্ট্যগুলোর অনেকগুলোই উপলব্ধ হবে, তাই আপডেটের জন্য রিলিজ নোট দেখুন!

ফায়ারবেস এআই লজিকের এমন কিছু সক্ষমতা যা টেমপ্লেট দ্বারা এখনও সমর্থিত নয়

ফায়ারবেস এআই লজিকের নিম্নলিখিত স্ট্যান্ডার্ড সক্ষমতাগুলি এখনও সার্ভার প্রম্পট টেমপ্লেটের মাধ্যমে সমর্থিত নয়:

  • দ্বিমুখী স্ট্রিমিং ( 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 ইউআরএল (যা ইনপুট ভেরিয়েবল হিসেবে প্রদান করা যেতে পারে) ব্যতীত এটি আপনার ফায়ারবেস প্রজেক্টের অন্যান্য সার্ভার-সাইড রিসোর্সের (যেমন ডেটাবেস) সাথে সরাসরি যোগাযোগ করতে পারে না।