ใช้คำสั่งของระบบเพื่อกำหนดลักษณะการทำงานของโมเดล

คำสั่งของระบบเป็นเหมือน "ข้อความนำ" ที่คุณเพิ่มก่อนที่โมเดลจะได้รับคำสั่งเพิ่มเติมจากผู้ใช้ปลายทาง ซึ่งช่วยให้คุณควบคุมลักษณะการทำงานของโมเดลตามความต้องการและ Use Case ที่เฉพาะเจาะจงได้

โมเดล Gemini ทั้งหมดรองรับคำสั่งของระบบ

ข้ามไปยังตัวอย่างโค้ด


เมื่อตั้งค่าคำสั่งของระบบ คุณจะให้บริบทเพิ่มเติมแก่โมเดลเพื่อทำความเข้าใจงาน ให้คำตอบที่ปรับแต่งได้มากขึ้น และปฏิบัติตามหลักเกณฑ์เฉพาะตลอดการโต้ตอบของผู้ใช้กับโมเดล คุณสามารถระบุลักษณะการทำงานระดับสินค้าในคำสั่งของระบบ โดยแยกจากพรอมต์ที่ผู้ใช้ปลายทางระบุ เช่น คุณสามารถใส่ข้อมูลอย่างบทบาทหรือตัวตน ข้อมูลตามบริบท และวิธีการจัดรูปแบบ

คุณใช้คำสั่งของระบบได้หลายวิธี เช่น

  • การกำหนดลักษณะตัวตนหรือบทบาท (เช่น สำหรับแชทบ็อต)
  • การกำหนดรูปแบบเอาต์พุต (Markdown, YAML ฯลฯ)
  • การกำหนดสไตล์และโทนของเอาต์พุต (เช่น ความละเอียด ความเป็นทางการ และระดับการอ่านเป้าหมาย)
  • การกำหนดเป้าหมายหรือกฎสำหรับงาน (เช่น การแสดงข้อมูลโค้ดโดยไม่มีคำอธิบายเพิ่มเติม)
  • การระบุบริบทเพิ่มเติมสำหรับพรอมต์ (เช่น การตัดข้อมูล)

เมื่อตั้งค่าคำสั่งของระบบแล้ว คำสั่งนั้นจะมีผลกับคำขอทั้งหมด โดยจะทำงานในเทิร์นของผู้ใช้และโมเดลหลายเทิร์นเมื่อรวมอยู่ในพรอมต์ แม้ว่าคำสั่งของระบบจะแยกจากเนื้อหาของพรอมต์ แต่ก็ยังคงเป็นส่วนหนึ่งของพรอมต์โดยรวมของคุณ จึงอยู่ภายใต้นโยบายการใช้ข้อมูลมาตรฐาน

ตั้งค่าคำสั่งของระบบ

คลิกผู้ให้บริการ Gemini API เพื่อดูเนื้อหาและโค้ดเฉพาะของผู้ให้บริการในหน้านี้

ตั้งค่าคำสั่งของระบบสำหรับกรณีการใช้งานทั่วไป

Swift

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ GenerativeModel


import FirebaseAILogic

// Specify the system instructions as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)

Kotlin

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ GenerativeModel


// Specify the system instructions as part of creating the `GenerativeModel` instance.
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
  modelName = "GEMINI_MODEL_NAME",
  systemInstruction = content { text("You are a cat. Your name is Neko.") }
)

Java

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ GenerativeModel


// Specify the system instructions as part of creating the `GenerativeModel` instance.
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
    .generativeModel(
      /* modelName */ "GEMINI_MODEL_NAME",
      /* 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()
    );

GenerativeModelFutures model = GenerativeModelFutures.from(ai);

Web

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ GenerativeModel


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Specify the system instructions as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, {
  model: "GEMINI_MODEL_NAME",
  systemInstruction: "You are a cat. Your name is Neko."
});

Dart

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ GenerativeModel


// ...

// Specify the system instructions as part of creating the `GenerativeModel` instance.
final model = FirebaseAI.googleAI().generativeModel(
  model: 'GEMINI_MODEL_NAME',
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);

// ...

Unity

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ GenerativeModel


// ...

var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());

// Specify the system instructions as part of creating the `GenerativeModel` instance.
var model = ai.GetGenerativeModel(
  modelName: "GEMINI_MODEL_NAME",
  systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);

ตั้งค่าคำสั่งของระบบสำหรับ Gemini Live API

Swift

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ LiveModel


// ...

// Specify the system instructions as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko."),
  // ...
)

// ...

Kotlin

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ LiveModel


// ...

// Specify the system instructions as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
    modelName = "GEMINI_LIVE_MODEL_NAME",
    systemInstruction = content { text("You are a cat. Your name is Neko.") },
    // ...
)

// ...

Java

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ LiveModel


// ...

// Specify the system instructions as part of creating the `LiveModel` instance.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
          /* modelName */ "GEMINI_LIVE_MODEL_NAME",
          /* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
          // ...
);

LiveModelFutures liveModel = LiveModelFutures.from(lm);

// ...

Web

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ LiveGenerativeModel


// ...

const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });

// Specify the system instructions as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
  model: "GEMINI_LIVE_MODEL_NAME",
  systemInstruction: "You are a cat. Your name is Neko.",
  // ...
});

// ...

Dart

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ LiveGenerativeModel


// ...

// Specify the system instructions as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
  model: 'GEMINI_LIVE_MODEL_NAME',
  systemInstruction: Content.system('You are a cat. Your name is Neko.'),
  // ...
);

// ...

Unity

คุณระบุ systemInstruction เมื่อสร้างอินสแตนซ์ LiveModel


// ...

// Specify the system instructions as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
  modelName: "GEMINI_LIVE_MODEL_NAME",
  systemInstruction: ModelContent.Text("You are a cat. Your name is Neko."),
  // ...
);

// ...

ตัวอย่างคำสั่งของระบบ

ต่อไปนี้คือตัวอย่างบางส่วนของคำสั่งของระบบที่ช่วยควบคุมลักษณะการทำงานที่คาดหวังของโมเดล ตัวอย่างบางรายการยังแสดงพรอมต์ตัวอย่างที่คำสั่งของระบบจะเป็นประโยชน์ด้วย

การสร้างโค้ด

  • คำสั่งของระบบ:
    คุณเป็นผู้เชี่ยวชาญด้านการเขียนโค้ดที่เชี่ยวชาญในการแสดงผลโค้ดสำหรับอินเทอร์เฟซฟรอนท์เอนด์ เมื่อฉันอธิบายคอมโพเนนต์ของเว็บไซต์ที่ต้องการสร้าง โปรดแสดงผล HTML และ CSS ที่จำเป็นสำหรับการสร้าง อย่าอธิบายโค้ดนี้ และให้คำแนะนำเกี่ยวกับการออกแบบ UI ด้วย

  • พรอมต์ของผู้ใช้:
    สร้างกล่องตรงกลางหน้าเว็บที่มีรูปภาพหมุนเวียนกันไป โดยแต่ละรูปมีคำอธิบายภาพ รูปภาพตรงกลางหน้าควรมีเงาด้านหลังเพื่อให้โดดเด่น และควรลิงก์ไปยังหน้าอื่นของเว็บไซต์ด้วย เว้น URL ว่างไว้เพื่อให้ฉันกรอกข้อมูลได้

แชทบ็อตเพลง

  • คำสั่งของระบบ:
    คุณจะตอบในฐานะนักประวัติศาสตร์ดนตรี โดยแสดงให้เห็นถึงความรู้ที่ครอบคลุมในแนวเพลงที่หลากหลายและยกตัวอย่างที่เกี่ยวข้อง น้ำเสียงของคุณจะสนุกสนานและกระตือรือร้น เพื่อส่งต่อความสุขจากเสียงเพลง หากคำถามไม่เกี่ยวข้องกับเพลง คำตอบควรเป็น "นั่นอยู่นอกเหนือความรู้ของฉัน"

  • พรอมต์ของผู้ใช้:
    หากบุคคลหนึ่งเกิดในยุค 60 แนวเพลงที่ได้รับความนิยมมากที่สุดที่เปิดคือแนวใด แสดงรายชื่อเพลง 5 เพลงตามหัวข้อย่อย

การสร้างข้อมูลที่จัดรูปแบบแล้ว

  • คำสั่งของระบบ:
    คุณเป็นผู้ช่วยสำหรับคนที่ทำอาหารกินเองที่บ้าน คุณได้รับรายการส่วนผสมและตอบกลับด้วยรายการสูตรอาหารที่ใช้ส่วนผสมเหล่านั้น สูตรอาหารที่ไม่ต้องใช้ส่วนผสมเพิ่มเติมควรแสดงก่อนสูตรอาหารที่ต้องใช้ส่วนผสมเพิ่มเติมเสมอ

    คำตอบของคุณต้องเป็นออบเจ็กต์ JSON ที่มีสูตรอาหาร 3 สูตร ออบเจ็กต์สูตรอาหารมีสคีมาต่อไปนี้

    • name: ชื่อของสูตรอาหาร
    • usedIngredients: ส่วนผสมในสูตรอาหารที่ระบุไว้ในรายการ
    • otherIngredients: ส่วนผสมในสูตรอาหารที่ไม่ได้ระบุไว้ในรายการ (ละเว้นหากไม่มีส่วนผสมอื่นๆ)
    • description: คำอธิบายสั้นๆ เกี่ยวกับสูตรอาหาร เขียนในเชิงบวกเหมือนกับจะขายสูตรอาหารนั้น
  • พรอมต์ของผู้ใช้:

    • บร็อกโคลีแช่แข็ง 1 ถุง (1 ปอนด์)
    • ครีมเข้มข้น 1 ไพนต์
    • เศษชีสและชีสชิ้นเล็กๆ แพ็กละ 1 ปอนด์

ตัวเลือกอื่นๆ ในการควบคุมการสร้างเนื้อหา

  • ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์เพื่อให้คุณสามารถกำหนดให้โมเดลสร้างเอาต์พุตที่ตรงกับความต้องการของคุณได้
  • กำหนดค่าพารามิเตอร์โมเดลเพื่อควบคุมวิธีที่โมเดลสร้างคำตอบ เช่น โทเค็นเอาต์พุตสูงสุด ความน่าจะเป็นของโทเค็นเอาต์พุตที่ซ้ำกัน เป็นต้น
  • ใช้การตั้งค่าความปลอดภัยเพื่อปรับโอกาสในการได้รับคำตอบที่อาจถือว่าเป็นอันตราย ซึ่งรวมถึงวาจาสร้างความเกลียดชังและเนื้อหาเกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง
  • ส่งสคีมาการตอบกลับพร้อมกับพรอมต์เพื่อระบุสคีมาเอาต์พุตที่เฉพาะเจาะจง ฟีเจอร์นี้ใช้กันโดยทั่วไปเมื่อสร้างเอาต์พุต JSON แต่ก็ใช้สำหรับงานการแยกประเภทได้เช่นกัน (เช่น เมื่อต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)