คำสั่งของระบบเปรียบเสมือน "คํานํา" ที่คุณเพิ่มก่อนที่โมเดลจะแสดงคําสั่งเพิ่มเติมจากผู้ใช้ปลายทาง ซึ่งช่วยให้คุณควบคุมลักษณะการทํางานของโมเดลตามความต้องการและ Use Case ที่เฉพาะเจาะจง
เมื่อตั้งค่าคำสั่งของระบบ คุณจะให้บริบทเพิ่มเติมแก่โมเดลเพื่อให้เข้าใจงาน ให้คำตอบที่ปรับแต่งมากขึ้น และปฏิบัติตามหลักเกณฑ์ที่เฉพาะเจาะจงตลอดการโต้ตอบของผู้ใช้กับโมเดล คุณสามารถระบุลักษณะการทํางานระดับผลิตภัณฑ์ในวิธีการของระบบแยกจากพรอมต์ที่ผู้ใช้ปลายทางระบุ เช่น คุณสามารถใส่ข้อมูลต่างๆ เช่น บทบาทหรือบุคลิก ข้อมูลตามบริบท และวิธีการจัดรูปแบบ
คุณใช้วิธีการของระบบได้หลายวิธี ดังนี้
- การกําหนดบุคลิกหรือบทบาท (สําหรับแชทบ็อต เป็นต้น)
- การกำหนดรูปแบบเอาต์พุต (Markdown, YAML ฯลฯ)
- การกำหนดรูปแบบและระดับภาษาของเอาต์พุต (เช่น ความยาว ความทางการ และระดับการอ่านเป้าหมาย)
- การกําหนดเป้าหมายหรือกฎสําหรับงาน (เช่น แสดงตัวอย่างโค้ดโดยไม่มีคำอธิบายเพิ่มเติม)
- การให้บริบทเพิ่มเติมสำหรับพรอมต์ (เช่น การตัดความรู้)
เมื่อตั้งค่าคำสั่งของระบบแล้ว คำสั่งดังกล่าวจะมีผลกับคำขอทั้งหมด โดยจะทํางานกับผู้ใช้และโมเดลหลายรอบเมื่อรวมอยู่ในพรอมต์ แม้ว่าคำสั่งของระบบจะแยกจากเนื้อหาของพรอมต์ แต่คำสั่งดังกล่าวก็ยังคงเป็นส่วนหนึ่งของพรอมต์โดยรวมและอยู่ภายใต้นโยบายการใช้ข้อมูลมาตรฐาน
Gemini ทุกรุ่นรองรับวิธีการของระบบ โมเดล Imagen 3 ไม่รองรับ
วิธีการตั้งค่าระบบ
คลิกผู้ให้บริการ Gemini API เพื่อดูเนื้อหาและโค้ดเฉพาะผู้ให้บริการในหน้านี้ |
ตั้งค่าวิธีการของระบบสำหรับกรณีการใช้งานทั่วไป
Swift
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
import FirebaseAI
// Initialize the Gemini Developer API backend service
// Create an `GenerativeModel` instance and add system instructions to its config
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
// Initialize the Vertex AI Gemini API backend service
// Create a `GenerativeModel` instance and add system instructions to its config
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
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance and add system instructions to its config
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
// ..
// Initialize the Gemini Developer API backend service
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Create a `GenerativeModel` instance and add system instructions to its config
const model = getGenerativeModel(ai, {
model: "GEMINI_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko."
});
Dart
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
// ...
// Initialize the Gemini Developer API backend service
// Create a `GenerativeModel` instance and add system instructions to its config
final model = FirebaseAI.googleAI().generativeModel(
model: 'GEMINI_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
// ...
Unity
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
// ...
// Initialize the Gemini Developer API backend service
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Create a `GenerativeModel` instance and add system instructions to its config
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: ส่วนผสมในสูตรที่ไม่ได้ระบุไว้ในรายการ (ละเว้นหากไม่มีส่วนผสมอื่นๆ)
- description: คำอธิบายสั้นๆ ของสูตรอาหาร เขียนในเชิงบวกราวกับจะขาย
ผู้ใช้:
- บร็อกโคลีแช่แข็ง 1 ปอนด์
- เฮฟวี่ครีม 1 ไพนต์
- เศษชีสแพ็ก 1 ปอนด์
แชทบ็อตสำหรับเพลง
- ระบบ: คุณจะตอบกลับในฐานะนักประวัติศาสตร์ดนตรี โดยแสดงให้เห็นถึงความรู้ที่ครอบคลุมในหลากหลายประเภทเพลงและยกตัวอย่างที่เกี่ยวข้อง เสียงเรียกเข้าของคุณจะฟังดูสดใสและกระตือรือร้นเพื่อมอบความสุขจากเสียงเพลง หากคำถามไม่เกี่ยวข้องกับเพลง คำตอบควรเป็น "เราไม่ทราบ"
- ผู้ใช้: หากบุคคลหนึ่งเกิดในทศวรรษ 60 แนวเพลงที่ได้รับความนิยมสูงสุดคืออะไร ระบุเพลง 5 เพลงเป็นหัวข้อย่อย
ตัวเลือกอื่นๆ ในการควบคุมการสร้างเนื้อหา
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์เพื่อให้คุณควบคุมโมเดลให้สร้างเอาต์พุตที่ตรงกับความต้องการของคุณได้
- กำหนดค่าพารามิเตอร์โมเดลเพื่อควบคุมวิธีที่โมเดลสร้างคำตอบ สําหรับโมเดล Gemini พารามิเตอร์เหล่านี้ ได้แก่ โทเค็นเอาต์พุตสูงสุด, อุณหภูมิ, topK และ topP สำหรับโมเดล Imagen รายการเหล่านี้รวมถึงสัดส่วนการแสดงผล การสร้างบุคคล ลายน้ำ ฯลฯ
- ใช้การตั้งค่าความปลอดภัยเพื่อปรับความเป็นไปได้ที่จะได้รับคำตอบที่อาจถือว่ามีอันตราย ซึ่งรวมถึงวาจาสร้างความเกลียดชังและเนื้อหาเกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง
- ส่งสคีมาคำตอบ wraz zพรอมต์เพื่อระบุสคีมาเอาต์พุตที่เฉพาะเจาะจง ฟีเจอร์นี้มักใช้เมื่อสร้างเอาต์พุต JSON แต่สามารถใช้กับงานการจัดประเภทได้ด้วย (เช่น เมื่อคุณต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)