คำสั่งของระบบ เปรียบเสมือน "คำนำ" ที่คุณเพิ่มก่อนที่โมเดลจะได้รับคำสั่งเพิ่มเติมจากผู้ใช้ ซึ่งช่วยให้คุณกำหนดลักษณะการทำงานของโมเดลตามความต้องการและกรณีการใช้งานที่เฉพาะเจาะจงได้
โมเดล Gemini ทั้งหมดรองรับคำสั่งของระบบ แต่โมเดล Imagen ไม่รองรับ
เมื่อตั้งค่าคำสั่งของระบบ คุณจะให้บริบทเพิ่มเติมแก่โมเดลเพื่อทำความเข้าใจงาน ให้คำตอบที่ปรับแต่งมากขึ้น และปฏิบัติตามหลักเกณฑ์ที่เฉพาะเจาะจงตลอดการโต้ตอบของผู้ใช้กับโมเดล คุณสามารถระบุลักษณะการทำงานระดับผลิตภัณฑ์ในคำสั่งของระบบแยกจากพรอมต์ที่ผู้ใช้ระบุได้ เช่น คุณสามารถใส่ข้อมูลต่างๆ เช่น บทบาทหรือลักษณะตัวตน ข้อมูลตามบริบท และคำแนะนำในการจัดรูปแบบ
คุณสามารถใช้คำสั่งของระบบได้หลายวิธี เช่น
- กำหนดลักษณะตัวตนหรือบทบาท (เช่น สำหรับแชทบ็อต)
- กำหนดรูปแบบเอาต์พุต (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 ว่างไว้เพื่อให้ฉันป้อน URL ได้
แชทบ็อตเกี่ยวกับเพลง
คำสั่งของระบบ:
คุณจะตอบกลับในฐานะนักประวัติศาสตร์ดนตรี โดยแสดงความรู้ที่ครอบคลุม เกี่ยวกับดนตรีหลากหลายแนวและยกตัวอย่างที่เกี่ยวข้อง โทนเสียงของคุณจะสดใสและกระตือรือร้น เพื่อเผยแพร่ความสุขของดนตรี หากคำถามไม่เกี่ยวข้องกับดนตรี คำตอบควรเป็น "คำถามนั้นอยู่นอกเหนือความรู้ของฉัน"พรอมต์ของผู้ใช้:
หากบุคคลเกิดในทศวรรษ 1960 เพลงแนวไหนที่ได้รับความนิยมมากที่สุด แสดงเพลง 5 เพลงเป็นหัวข้อย่อย
การสร้างข้อมูลที่จัดรูปแบบ
คำสั่งของระบบ:
คุณเป็นผู้ช่วยสำหรับผู้ที่ทำอาหารที่บ้าน คุณจะได้รับรายการส่วนผสมและตอบกลับด้วยรายการสูตรอาหารที่ใช้ส่วนผสมเหล่านั้น สูตรอาหารที่ไม่ต้องใช้ส่วนผสมเพิ่มเติมควรแสดงก่อนสูตรอาหารที่ต้องใช้เสมอการตอบกลับของคุณต้องเป็นออบเจ็กต์ JSON ที่มีสูตรอาหาร 3 รายการ ออบเจ็กต์สูตรอาหารมีสคีมาดังนี้
- name: ชื่อสูตรอาหาร
- usedIngredients: ส่วนผสมในสูตรอาหารที่ระบุไว้ในรายการ
- otherIngredients: ส่วนผสมในสูตรอาหารที่ไม่ได้ระบุไว้ในรายการ (ละเว้นหากไม่มีส่วนผสมอื่นๆ)
- description: คำอธิบายสั้นๆ เกี่ยวกับสูตรอาหารที่เขียนในเชิงบวกราวกับจะขายสูตรอาหารนั้น
พรอมต์ของผู้ใช้:
- บรอกโคลีแช่แข็ง 1 ปอนด์
- เฮฟวี่ครีม 1 ไพนต์
- ชีสแบบสำเร็จ 1 ปอนด์
ตัวเลือกอื่นๆ ในการควบคุมการสร้างเนื้อหา
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์ เพื่อให้คุณมีอิทธิพลต่อโมเดลในการสร้างเอาต์พุตที่เฉพาะเจาะจงตามความต้องการ
- กำหนดค่าพารามิเตอร์ของโมเดล เพื่อควบคุมวิธีที่โมเดลสร้างการตอบกลับ สำหรับโมเดล Gemini พารามิเตอร์เหล่านี้ ได้แก่ จำนวนโทเค็นเอาต์พุตสูงสุด อุณหภูมิ topK และ topP สำหรับโมเดล Imagen พารามิเตอร์เหล่านี้ ได้แก่ อัตราส่วนกว้างยาว การสร้างบุคคล การใส่ลายน้ำ ฯลฯ
- ใช้การตั้งค่าความปลอดภัย เพื่อปรับความน่าจะเป็นที่จะได้รับการตอบกลับที่อาจถือว่าเป็น อันตราย ซึ่งรวมถึงวาจาสร้างความเกลียดชังและเนื้อหาเกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง
- ส่ง สคีมาการตอบกลับ พร้อมกับพรอมต์เพื่อระบุสคีมาเอาต์พุตที่เฉพาะเจาะจง ฟีเจอร์นี้ใช้กันโดยทั่วไปเมื่อสร้างเอาต์พุต JSON แต่ก็ใช้กับงานการจัดประเภทได้ด้วย (เช่น เมื่อต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)