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