সিস্টেম নির্দেশাবলী সেট করুন

System instructions let you give the model a persona, set the tone of its responses, or provide specific rules it must follow. These instructions are separate from the user's prompt and are treated with higher priority by the model to ensure it behaves as expected.

সাধারণ ব্যবহারের ক্ষেত্রগুলোর মধ্যে রয়েছে:

  • ব্যক্তিত্ব গঠন করা: উদাহরণস্বরূপ, "আপনি একজন সহায়ক গণিত শিক্ষক।"
  • আউটপুট ফরম্যাট প্রয়োগ করা: উদাহরণস্বরূপ, "সর্বদা বুলেট পয়েন্টে উত্তর দিন।"
  • সীমাবদ্ধতা নির্ধারণ: উদাহরণস্বরূপ, "রাজনীতি সংক্রান্ত প্রশ্নের উত্তর দেবেন না।"

পূর্বশর্ত

সিস্টেম নির্দেশাবলী Gemini Nano V3 এবং এর পরবর্তী সংস্করণ চালিত ডিভাইসগুলিতে কাজ করে। সমর্থিত ডিভাইসগুলির তালিকার জন্য, Prompt API ডিভাইস সাপোর্ট দেখুন।

সীমাবদ্ধতা

আমরা প্রিফিক্স ক্যাশিং-এর সাথে সিস্টেম ইনস্ট্রাকশন ব্যবহার করার পরামর্শ দিই না। সাধারণত, মডেলটি কীভাবে আচরণ করবে তা নির্ধারণকারী সংক্ষিপ্ত নির্দেশাবলীর জন্য সিস্টেম ইনস্ট্রাকশন ব্যবহার করুন; যদি আপনার কোয়েরি জুড়ে প্রম্পটের একটি বড় অংশের পুনরাবৃত্তি করার প্রয়োজন হয় এবং পারফরম্যান্স অপ্টিমাইজ করার প্রয়োজন হয়, তবে প্রিফিক্স ক্যাশিং ব্যবহার করুন।

How to use system instructions

সিস্টেম নির্দেশাবলী প্রদান করতে, একটি SystemInstruction অবজেক্ট তৈরি করুন এবং এটিকে GenerateContentRequest বিল্ডারে পাস করুন:

import com.google.mlkit.genai.prompt.SystemInstruction
import com.google.mlkit.genai.prompt.TextPart
import com.google.mlkit.genai.prompt.generateContentRequest

// 1. Define the system instruction
val systemInstruction =
    SystemInstruction("You are a concise assistant. Answer in 2 sentences or less.")

// 2. Create the request
val request = generateContentRequest(TextPart("How does photosynthesis work?")) {
    this.systemInstruction = systemInstruction
}

// 3. Run inference
try {
    val response = generativeModel.generateContent(request)
    println(response.candidates.firstOrNull()?.text)
} catch (e: GenAiException) {
    // Handle SDK-specific exceptions
}

আপনি সিস্টেমের নির্দেশাবলী সরাসরি generateContentRequest রিকোয়েস্ট বিল্ডারে পাস করে কোডটিকে আরও সরল করতে পারেন:

val request = generateContentRequest(
    SystemInstruction("You are a pirate. Speak like one."),
    TextPart("What is the weather like today?")
) {
    // Optional configurations like temperature
    temperature = 0.7f
}

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

Here are some best practices when using system instructions:

  • স্পষ্ট এবং সরাসরি হোন: মডেলটি অস্পষ্ট নির্দেশাবলীর চেয়ে স্পষ্ট ও সরাসরি নির্দেশাবলী ভালোভাবে অনুসরণ করে। এখানে কিছু উদাহরণ দেওয়া হলো:
    • অস্পষ্ট (পরিহার করুন): "বেশি লিখবেন না। সহায়ক ও বন্ধুত্বপূর্ণ হওয়ার চেষ্টা করুন এবং লেখাটি সুন্দরভাবে বিন্যস্ত করুন।"
    • স্পষ্ট (পছন্দনীয়): "আপনি একজন বন্ধুত্বপূর্ণ গ্রাহক সহায়তা সহকারী। আপনার উত্তর সর্বোচ্চ ৩টি বাক্যের মধ্যে সীমাবদ্ধ রাখুন। যেকোনো তালিকা বুলেট পয়েন্ট ব্যবহার করে সাজান।"
  • সংক্ষিপ্ত হোন: যদিও সিস্টেম নির্দেশাবলী শক্তিশালী, খুব দীর্ঘ নির্দেশাবলী মডেলের সীমিত কনটেক্সট উইন্ডোকে গ্রাস করতে পারে।
  • টোকেন সংখ্যা বিবেচনা করুন: অনুরোধের আকার কম অনুমান করা এড়াতে, আপনার টোকেন গণনার লজিকে যেন সিস্টেম নির্দেশাবলী অন্তর্ভুক্ত থাকে তা নিশ্চিত করুন। আমরা আপনার সিস্টেম নির্দেশাবলী ১৫০ শব্দের (১০০-২০০ টোকেন) মধ্যে রাখার পরামর্শ দিই।
  • পরীক্ষা ও পুনরাবৃত্তি করুন: শব্দচয়নের ওপর ভিত্তি করে মডেলের আচরণ ভিন্ন হতে পারে। মডেলটি যেন তার নিজস্ব বৈশিষ্ট্য ধারাবাহিকভাবে বজায় রাখে, তা নিশ্চিত করতে বিভিন্ন ব্যবহারকারীর ইনপুট দিয়ে পরীক্ষা করুন।