คำสั่งของระบบเป็นเหมือน "ข้อความนำ" ที่คุณเพิ่มก่อนที่โมเดลจะได้รับคำสั่งเพิ่มเติมจากผู้ใช้ปลายทาง ซึ่งช่วยให้คุณควบคุมลักษณะการทำงานของโมเดลตามความต้องการและ 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 แต่ก็ใช้สำหรับงานการแยกประเภทได้เช่นกัน (เช่น เมื่อต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)