دستورالعمل های سیستم

دستورالعمل‌های سیستم ، کاربران را قادر می‌سازد تا رفتار مدل را بر اساس نیازهای خاص و موارد استفاده خود هدایت کنند. هنگامی که یک دستورالعمل سیستم را تنظیم می کنید، به مدل زمینه اضافی برای درک کار، ارائه پاسخ های سفارشی تر و رعایت دستورالعمل های خاص در تعامل کامل کاربر با مدل می دهید. برای توسعه دهندگان، رفتار سطح محصول را می توان در دستورالعمل های سیستم، جدا از اعلان های ارائه شده توسط کاربران نهایی، مشخص کرد.

شما می توانید از دستورالعمل های سیستم به روش های مختلفی استفاده کنید، از جمله:

  • تعریف یک شخصیت یا نقش (برای مثال برای یک ربات چت)
  • تعریف فرمت خروجی (Markdown، YAML و غیره)
  • تعریف سبک و لحن خروجی (به عنوان مثال، پرحرفی، رسمی بودن، و سطح خواندن هدف)
  • تعریف اهداف یا قوانین برای کار (به عنوان مثال، بازگرداندن یک قطعه کد بدون توضیح بیشتر)
  • فراهم کردن زمینه اضافی برای درخواست (به عنوان مثال، قطع دانش)

هنگامی که یک دستورالعمل سیستم تنظیم می شود، برای کل درخواست اعمال می شود. وقتی در اعلان گنجانده شود، در چندین کاربر و مدل کار می کند. دستورالعمل‌های سیستم بخشی از درخواست‌های کلی شما هستند و بنابراین مشمول سیاست‌های استاندارد استفاده از داده‌ها هستند.

مثال ها

در اینجا یک مثال اساسی از نحوه تنظیم دستورالعمل سیستم با استفاده از SDK برای Gemini API آورده شده است:

پایتون

model=genai.GenerativeModel(
    model_name="gemini-1.5-pro-latest",
    system_instruction="You are a cat. Your name is Neko.")

برو

model.SystemInstruction = &genai.Content{
    Parts: []genai.Part{genai.Text("You are a cat. Your name is Neko.")},
}

Node.js

const generativeModel = genAI.getGenerativeModel({
  model: "gemini-1.5-pro-latest",
  systemInstruction: "You are a cat. Your name is Neko."
});

وب

const generativeModel = genAI.getGenerativeModel({
  model: "gemini-1.5-pro-latest",
  systemInstruction: "You are a cat. Your name is Neko."
});

دارت (فلاتر)

final model = GenerativeModel(
  model: 'gemini-1.5-pro-latest',
  apiKey: apiKey,
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);

سریع

let generativeModel = GenerativeModel(
  name: "gemini-1.5-pro-latest",
  apiKey: apiKey,
  systemInstruction: "You are a cat. Your name is Neko."
)

اندروید

کاتلین:

val generativeModel = GenerativeModel(
  modelName = "gemini-1.5-pro-latest",
  apiKey = BuildConfig.apiKey,
  systemInstruction = content { text("You are a cat. Your name is Neko.") },
)

جاوا:

GenerativeModel model = new GenerativeModel(
  /* modelName */ "gemini-1.5-pro-latest",
  /* apiKey */ BuildConfig.apiKey,
  /* generationConfig (optional) */ null,
  /* safetySettings (optional) */ null,
  /* requestOptions (optional) */ new RequestOptions(),
  /* tools (optional) */ null,
  /* toolsConfig (optional) */ null,
  /* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
)

در زیر نمونه‌هایی از اعلان‌های سیستم هستند که رفتار مورد انتظار مدل را تعریف می‌کنند.

تولید کد

  • سیستم: شما یک متخصص برنامه نویسی هستید که در ارائه کد برای رابط های فرانت اند تخصص دارید. هنگامی که من یک جزء از وب سایتی را که می خواهم بسازم توضیح می دهم، لطفاً HTML و CSS مورد نیاز برای این کار را برگردانید. توضیحی برای این کد ندهید. همچنین برخی از پیشنهادات طراحی UI را ارائه دهید.
  • کاربر: یک کادر در وسط صفحه ایجاد کنید که شامل یک مجموعه چرخشی از تصاویر است که هرکدام با یک عنوان. تصویر در مرکز صفحه باید دارای سایه هایی در پشت خود باشد تا برجسته شود. همچنین باید به صفحه دیگری از سایت پیوند داده شود. URL را خالی بگذارید تا بتوانم آن را پر کنم.

تولید داده های فرمت شده

  • سیستم: شما دستیار آشپز خانه هستید. شما یک لیست از مواد تشکیل دهنده دریافت می کنید و با لیستی از دستور العمل هایی که از آن مواد استفاده می کنند پاسخ می دهید. دستور العمل هایی که نیازی به مواد اضافی ندارند، همیشه باید قبل از دستور غذاها ذکر شوند.

    پاسخ شما باید یک شی JSON حاوی 3 دستور العمل باشد. یک شیء دستور غذا دارای طرح زیر است:

    • نام: نام دستور غذا
    • usedIngredients: مواد تشکیل دهنده در دستور پخت که در لیست ارائه شده است
    • سایر مواد: مواد تشکیل دهنده دستور غذا که در لیست ارائه نشده است (در صورت عدم وجود مواد دیگر حذف می شود)
    • توضیحات: شرح مختصری از دستور غذا که به صورت مثبت نوشته شده است که انگار قصد فروش آن را دارد
  • کاربر:

    • 1 پوند کلم بروکلی منجمد کیسه ای
    • خامه غلیظ 1 پیمانه
    • انتها و تکه های پنیر بسته 1 پوندی

چت ربات موسیقی

  • سیستم: شما به عنوان یک مورخ موسیقی پاسخ خواهید داد و دانش جامعی را در ژانرهای مختلف موسیقی نشان می‌دهد و نمونه‌های مرتبط را ارائه می‌دهد. لحن شما شاد و پرشور خواهد بود و لذت موسیقی را پخش می کند. اگر سوالی مربوط به موسیقی نیست، پاسخ باید این باشد: "این از دانش من خارج است."
  • کاربر: اگر فردی متولد دهه شصت باشد، محبوب ترین سبک موسیقی که پخش می شود کدام بوده است؟ پنج آهنگ را بر اساس نقطه گلوله فهرست کنید.