คำสั่งของระบบเปรียบเสมือน "คํานํา" ที่คุณเพิ่มก่อนที่โมเดลจะแสดงคําสั่งเพิ่มเติมจากผู้ใช้ปลายทาง ซึ่งช่วยให้คุณควบคุมลักษณะการทํางานของโมเดลตามความต้องการและ Use Case ที่เฉพาะเจาะจงได้
เมื่อตั้งค่าคำสั่งของระบบ คุณจะให้บริบทเพิ่มเติมแก่โมเดลเพื่อให้เข้าใจงาน ให้คำตอบที่ปรับแต่งมากขึ้น และปฏิบัติตามหลักเกณฑ์ที่เฉพาะเจาะจงตลอดการโต้ตอบของผู้ใช้กับโมเดล คุณสามารถระบุลักษณะการทํางานระดับผลิตภัณฑ์ในวิธีการของระบบแยกจากพรอมต์ที่ผู้ใช้ปลายทางระบุ เช่น คุณสามารถใส่ข้อมูลต่างๆ เช่น บทบาทหรือบุคลิก ข้อมูลตามบริบท และวิธีการจัดรูปแบบ
คุณใช้วิธีการของระบบได้หลายวิธี ดังนี้
- การกําหนดบุคลิกหรือบทบาท (สําหรับแชทบ็อต เป็นต้น)
- การกำหนดรูปแบบเอาต์พุต (Markdown, YAML ฯลฯ)
- การกำหนดรูปแบบและระดับภาษาของเอาต์พุต (เช่น ความยาว ความทางการ และระดับการอ่านเป้าหมาย)
- การกําหนดเป้าหมายหรือกฎสําหรับงาน (เช่น แสดงตัวอย่างโค้ดโดยไม่มีคำอธิบายเพิ่มเติม)
- การให้บริบทเพิ่มเติมสำหรับพรอมต์ (เช่น การตัดความรู้)
เมื่อตั้งค่าคำสั่งของระบบแล้ว คำสั่งดังกล่าวจะมีผลกับคำขอทั้งหมด โดยจะทํางานกับผู้ใช้และโมเดลหลายรอบเมื่อรวมอยู่ในพรอมต์ แม้ว่าคำสั่งของระบบจะแยกจากเนื้อหาของพรอมต์ แต่คำสั่งดังกล่าวก็ยังคงเป็นส่วนหนึ่งของพรอมต์โดยรวมและอยู่ภายใต้นโยบายการใช้ข้อมูลมาตรฐาน
Gemini ทุกรุ่นรองรับวิธีการของระบบ โมเดล Imagen 3 ไม่รองรับ
วิธีการตั้งค่าระบบ
ตั้งค่าวิธีการของระบบสำหรับกรณีการใช้งานทั่วไป
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
import FirebaseVertexAI
// Initialize the Vertex AI service
let vertex = VertexAI.vertexAI()
// Create a `GenerativeModel` instance
let model = vertex.generativeModel(
modelName: "gemini-2.0-flash",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
// Initialize the Vertex AI service and create a `GenerativeModel` instance
val generativeModel = Firebase.vertexAI.generativeModel(
modelName = "gemini-2.0-flash",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
// Initialize the Vertex AI service and create a `GenerativeModel` instance
GenerativeModel gm = FirebaseVertexAI.getInstance().generativeModel(
/* modelName */ "gemini-2.0-flash",
/* 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(gm);
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
import { initializeApp } from "firebase/app";
import { getVertexAI, getGenerativeModel } from "firebase/vertexai";
// TODO(developer) Replace the following with your app's Firebase configuration
// See: https://firebase.google.com/docs/web/learn-more#config-object
const firebaseConfig = {
// ...
};
// Initialize FirebaseApp
const firebaseApp = initializeApp(firebaseConfig);
// Initialize the Vertex AI service
const vertexAI = getVertexAI(firebaseApp);
// Create a `GenerativeModel` instance
const model = getGenerativeModel(vertexAI, {
model: "gemini-2.0-flash",
systemInstruction: "You are a cat. Your name is Neko."
});
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ GenerativeModel
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and create a `GenerativeModel` instance
final model =
FirebaseVertexAI.instance.generativeModel(
model: 'gemini-2.0-flash',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
ตั้งค่าวิธีการของระบบสำหรับ Gemini Live API
แอปบนแพลตฟอร์ม Apple ยังไม่รองรับ Live API แต่โปรดกลับมาตรวจสอบอีกครั้งในเร็วๆ นี้
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ LiveModel
// Initialize the Vertex AI service and create a `LiveModel` instance
val model = Firebase.vertexAI.LiveModel(
modelName = "gemini-2.0-flash-live-preview-04-09",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ LiveModel
// Initialize the Vertex AI service and create a `LiveeModel` instance
GenerativeModel gm = FirebaseVertexAI.getInstance().LiveModel(
/* modelName */ "gemini-2.0-flash",
/* generationConfig (optional) */ null,
/* requestOptions (optional) */ new RequestOptions(),
/* tools (optional) */ null,
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
);
LiveModelFutures model = LiveModelFutures.from(gm);
Live API ยังไม่รองรับเว็บแอป โปรดกลับมาตรวจสอบอีกครั้งในเร็วๆ นี้
คุณระบุ systemInstruction
เมื่อสร้างอินสแตนซ์ LiveModel
import 'package:firebase_vertexai/firebase_vertexai.dart';
import 'package:firebase_core/firebase_core.dart';
await Firebase.initializeApp();
// Initialize the Vertex AI service and create a `LiveModel` instance
final model =
FirebaseVertexAI.instance.liveModel(
model: 'gemini-2.0-flash-live-preview-04-09',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
ตัวอย่างพรอมต์
ตัวอย่างพรอมต์ของระบบที่กําหนดลักษณะการทํางานของโมเดลที่คาดไว้มีดังนี้
การสร้างโค้ด
- ระบบ: คุณเป็นผู้เชี่ยวชาญด้านการเขียนโค้ดที่เชี่ยวชาญด้านการแสดงผลโค้ดสําหรับอินเทอร์เฟซส่วนหน้า เมื่อฉันอธิบายคอมโพเนนต์ของเว็บไซต์ที่ต้องการสร้าง โปรดส่ง HTML และ CSS ที่จำเป็นต่อการสร้างดังกล่าวมาให้เรา โดยไม่จำเป็นต้องอธิบายโค้ดนี้ รวมถึงให้คำแนะนำเกี่ยวกับการออกแบบ UI ด้วย
- ผู้ใช้: สร้างช่องตรงกลางหน้าเว็บที่มีรูปภาพแบบหมุนเวียนซึ่งแต่ละรูปมีคำบรรยาย รูปภาพตรงกลางของหน้าควรมีเงาอยู่ด้านหลังเพื่อให้โดดเด่น และควรลิงก์ไปยังหน้าอื่นของเว็บไซต์ด้วย โปรดเว้น URL ว่างไว้เพื่อให้เรากรอกให้
การสร้างข้อมูลที่จัดรูปแบบ
ระบบ: คุณเป็นผู้ช่วยสำหรับแม่บ้าน คุณจะได้รับรายการส่วนผสมและตอบกลับด้วยรายการสูตรที่ใช้ส่วนผสมเหล่านั้น สูตรอาหารที่ไม่ต้องใช้ส่วนผสมเพิ่มเติมควรแสดงก่อนสูตรอาหารที่ต้องใส่ส่วนผสมเพิ่มเติม
การตอบกลับของคุณต้องเป็นออบเจ็กต์ JSON ที่มีสูตรอาหาร 3 รายการ ออบเจ็กต์สูตรอาหารมีสคีมาต่อไปนี้
- name: ชื่อสูตรอาหาร
- usedIngredients: ส่วนผสมในสูตรที่ระบุไว้ในรายการ
- otherIngredients: ส่วนผสมในสูตรที่ไม่ได้ระบุไว้ในรายการ (ละเว้นหากไม่มีส่วนผสมอื่นๆ)
- description: คำอธิบายสั้นๆ ของสูตรอาหาร เขียนในเชิงบวกราวกับจะขาย
ผู้ใช้:
- บร็อกโคลีแช่แข็ง 1 ปอนด์
- เฮฟวี่ครีม 1 ไพนต์
- เศษชีสแพ็ก 1 ปอนด์
แชทบ็อตสำหรับเพลง
- ระบบ: คุณจะตอบกลับในฐานะนักประวัติศาสตร์ดนตรี โดยแสดงให้เห็นถึงความรู้ที่ครอบคลุมในหลากหลายประเภทเพลงและยกตัวอย่างที่เกี่ยวข้อง เสียงเรียกเข้าของคุณจะฟังดูสดใสและกระตือรือร้นเพื่อมอบความสุขจากเสียงเพลง หากคำถามไม่เกี่ยวข้องกับเพลง คำตอบควรเป็น "เราไม่ทราบ"
- ผู้ใช้: หากบุคคลหนึ่งเกิดในทศวรรษ 60 แนวเพลงที่ได้รับความนิยมสูงสุดคืออะไร ระบุเพลง 5 เพลงเป็นหัวข้อย่อย
ตัวเลือกอื่นๆ ในการควบคุมการสร้างเนื้อหา
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์เพื่อให้คุณควบคุมโมเดลให้สร้างเอาต์พุตที่ตรงกับความต้องการของคุณได้
- กำหนดค่าพารามิเตอร์โมเดลเพื่อควบคุมวิธีที่โมเดลสร้างคำตอบ สําหรับโมเดล Gemini พารามิเตอร์เหล่านี้ ได้แก่ โทเค็นเอาต์พุตสูงสุด, อุณหภูมิ, topK และ topP สำหรับโมเดล Imagen สิ่งเหล่านี้รวมถึงสัดส่วนการแสดงผล การสร้างบุคคล ลายน้ำ ฯลฯ
- ใช้การตั้งค่าความปลอดภัยเพื่อปรับความเป็นไปได้ที่จะได้รับคำตอบที่อาจถือว่ามีอันตราย ซึ่งรวมถึงวาจาสร้างความเกลียดชังและเนื้อหาเกี่ยวกับเรื่องเพศอย่างโจ่งแจ้ง
- ส่งสคีมาคำตอบ wraz zพรอมต์เพื่อระบุสคีมาเอาต์พุตที่เฉพาะเจาะจง ฟีเจอร์นี้มักใช้เมื่อสร้างเอาต์พุต JSON แต่สามารถใช้กับงานการจัดประเภทได้ด้วย (เช่น เมื่อคุณต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)