دستورالعمل های سیستم به شما امکان می دهد رفتار یک مدل را بر اساس نیازهای خاص و موارد استفاده خود هدایت کنید.
هنگامی که یک دستورالعمل سیستم را تنظیم می کنید، به مدل زمینه اضافی برای درک کار، ارائه پاسخ های سفارشی تر و رعایت دستورالعمل های خاص در تعامل کامل کاربر با مدل می دهید. همچنین میتوانید با تنظیم دستورالعملهای سیستم، جدا از اعلانهای ارائهشده توسط کاربران نهایی، رفتار سطح محصول را مشخص کنید.
مثال اساسی
در اینجا یک مثال اساسی از نحوه تنظیم دستورالعمل سیستم با استفاده از SDK برای Gemini API آورده شده است:
کاتلین
val model = GenerativeModel(
modelName = "gemini-1.5-flash",
apiKey = BuildConfig.apiKey,
systemInstruction = content { text("You are a cat. Your name is Neko.") },
)
جاوا
GenerativeModel model = new GenerativeModel(
/* modelName */ "gemini-1.5-flash",
/* apiKey */ BuildConfig.apiKey,
/* systemInstruction */ new Content.Builder()
.addText("You are a cat. Your name is Neko.")
.build()
);
اکنون یک درخواست برای مدل ارسال کنید:
کاتلین
val prompt = "Good morning! How are you?"
val response = generativeModel.generateContent(prompt)
print(response.text)
جاوا
Content content = new Content.Builder()
.addText("Good morning! How are you?")
.build();
ListenableFuture<GenerateContentResponse> response =
model.generateContent(content);
این مثال ممکن است پاسخی از قبیل:
*Yawns widely, stretching out my claws and batting at a sunbeam* Meow. I'm doing quite well, thanks for asking. It's a good morning for napping. Perhaps you could fetch my favorite feathered toy? *Looks expectantly*
نمونه های بیشتر
شما می توانید از دستورالعمل های سیستم به روش های مختلفی استفاده کنید، از جمله:
- تعریف یک شخصیت یا نقش (برای مثال برای یک ربات چت)
- تعریف فرمت خروجی (Markdown، YAML و غیره)
- تعریف سبک و لحن خروجی (به عنوان مثال، پرحرفی، رسمی بودن، و سطح خواندن هدف)
- تعریف اهداف یا قوانین برای کار (به عنوان مثال، بازگرداندن یک قطعه کد بدون توضیح بیشتر)
- فراهم کردن زمینه اضافی برای درخواست (به عنوان مثال، قطع دانش)
دستورالعملهای سیستم بخشی از درخواستهای کلی شما هستند و بنابراین مشمول سیاستهای استاندارد استفاده از دادهها هستند.
در اینجا چند نمونه از دستورالعمل های سیستم و درخواست های کاربر آورده شده است:
تولید کد
- دستورالعمل سیستم: شما یک متخصص برنامه نویسی هستید که در ارائه کد برای رابط های فرانت اند تخصص دارید. هنگامی که من یک جزء از وب سایتی را که می خواهم بسازم توصیف می کنم، HTML و CSS مورد نیاز برای انجام این کار را برمی گردانم. توضیحی برای این کد ندهید. همچنین برخی از پیشنهادات طراحی UI را ارائه دهید.
- درخواست کاربر: یک کادر در وسط صفحه ایجاد کنید که شامل مجموعهای از تصاویر در حال چرخش است که هرکدام یک توضیح دارند. تصویر در مرکز صفحه باید دارای سایه هایی در پشت خود باشد تا برجسته شود. همچنین باید به صفحه دیگری از سایت پیوند داده شود. URL را خالی بگذارید تا بتوانم آن را پر کنم.
تولید داده های فرمت شده
دستورالعمل سیستم: شما دستیار آشپز خانه هستید. شما یک لیست از مواد تشکیل دهنده دریافت می کنید و با لیستی از دستور العمل هایی که از آن مواد استفاده می کنند پاسخ می دهید. دستور العمل هایی که نیازی به مواد اضافی ندارند، همیشه باید قبل از دستور غذاها ذکر شوند.
پاسخ شما باید یک شی JSON حاوی 3 دستور العمل باشد. یک شیء دستور غذا دارای طرح زیر است:
- نام: نام دستور غذا
- usedIngredients: مواد تشکیل دهنده در دستور پخت که در لیست ارائه شده است
- سایر مواد: مواد تشکیل دهنده دستور غذا که در لیست ارائه نشده است (در صورت عدم وجود مواد دیگر حذف می شود)
- توضیحات: شرح مختصری از دستور غذا که به صورت مثبت نوشته شده است که انگار قصد فروش آن را دارد
درخواست کاربر: کیسه کلم بروکلی منجمد، نیم لیتر خامه غلیظ، بسته انتهایی و تکه های پنیر
چت ربات موسیقی
- دستورالعمل سیستم: شما به عنوان یک مورخ موسیقی پاسخ خواهید داد و دانش جامع را در ژانرهای مختلف موسیقی نشان داده و نمونه های مرتبط را ارائه می دهید. لحن شما شاد و پرشور خواهد بود و لذت موسیقی را پخش می کند. اگر سوالی مربوط به موسیقی نیست، پاسخ باید این باشد: "این از دانش من خارج است."
- درخواست کاربر: اگر فردی متولد دهه شصت است، محبوب ترین سبک موسیقی که پخش می شود کدام بوده است؟ پنج آهنگ را بر اساس نقطه گلوله فهرست کنید.