Hướng dẫn cho hệ thống cho phép bạn tạo tính cách cho mô hình, đặt giọng điệu cho câu trả lời hoặc cung cấp các quy tắc cụ thể mà mô hình phải tuân theo. Các chỉ dẫn này tách biệt với câu lệnh của người dùng và được mô hình xử lý với mức độ ưu tiên cao hơn để đảm bảo mô hình hoạt động như mong đợi.
Các trường hợp sử dụng phổ biến bao gồm:
- Thiết lập tính cách: Ví dụ: "Bạn là một gia sư toán học hữu ích".
- Áp dụng định dạng đầu ra: Ví dụ: "Luôn trả lời bằng dấu đầu dòng".
- Đặt các ràng buộc: Ví dụ: "Không trả lời các câu hỏi về chính trị".
Điều kiện tiên quyết
Chỉ dẫn hệ thống hoạt động trên các thiết bị chạy Gemini Nano phiên bản 3 trở lên. Để xem danh sách các thiết bị được hỗ trợ, hãy xem phần Hỗ trợ thiết bị cho Prompt API.
Các điểm hạn chế
Bạn không nên sử dụng chỉ dẫn hệ thống với hoạt động lưu vào bộ nhớ đệm theo tiền tố. Nhìn chung, hãy sử dụng chỉ dẫn hệ thống cho chỉ dẫn ngắn để xác định cách mô hình nên hoạt động; sử dụng tính năng lưu trữ tiền tố vào bộ nhớ đệm nếu bạn cần lặp lại một phần lớn của câu lệnh trên các truy vấn và cần tối ưu hoá hiệu suất.
Cách sử dụng chỉ dẫn hệ thống
Để cung cấp hướng dẫn cho hệ thống, hãy tạo một đối tượng SystemInstruction và truyền đối tượng đó đến trình tạo GenerateContentRequest:
import com.google.mlkit.genai.prompt.SystemInstruction
import com.google.mlkit.genai.prompt.TextPart
import com.google.mlkit.genai.prompt.generateContentRequest
// 1. Define the system instruction
val systemInstruction =
SystemInstruction("You are a concise assistant. Answer in 2 sentences or less.")
// 2. Create the request
val request = generateContentRequest(TextPart("How does photosynthesis work?")) {
this.systemInstruction = systemInstruction
}
// 3. Run inference
try {
val response = generativeModel.generateContent(request)
println(response.candidates.firstOrNull()?.text)
} catch (e: GenAiException) {
// Handle SDK-specific exceptions
}
Bạn có thể đơn giản hoá thêm mã bằng cách truyền trực tiếp các chỉ dẫn của hệ thống vào trình tạo yêu cầu generateContentRequest:
val request = generateContentRequest(
SystemInstruction("You are a pirate. Speak like one."),
TextPart("What is the weather like today?")
) {
// Optional configurations like temperature
temperature = 0.7f
}
Các phương pháp hay nhất
Sau đây là một số phương pháp hay nhất khi sử dụng chỉ dẫn hệ thống:
- Rõ ràng và trực tiếp: Mô hình sẽ làm theo các chỉ dẫn rõ ràng và trực tiếp tốt hơn so với các chỉ dẫn mơ hồ. Dưới đây là một số ví dụ:
- Mơ hồ (tránh): "Đừng viết quá nhiều. Hãy cố gắng hữu ích và thân thiện, đồng thời định dạng đầu ra một cách gọn gàng."
- Rõ ràng (nên dùng): "Bạn là một trợ lý hỗ trợ khách hàng thân thiện. Giới hạn câu trả lời của bạn ở mức tối đa 3 câu. Định dạng mọi danh sách bằng dấu đầu dòng."
- Ngắn gọn: Mặc dù chỉ dẫn hệ thống rất mạnh mẽ, nhưng chỉ dẫn quá dài có thể tiêu tốn cửa sổ ngữ cảnh có hạn của mô hình.
- Tính đến số lượng mã thông báo: Đảm bảo rằng logic đếm mã thông báo của bạn bao gồm cả chỉ dẫn hệ thống để tránh đánh giá thấp kích thước yêu cầu. Bạn nên giới hạn chỉ dẫn hệ thống trong khoảng 150 từ (100 đến 200 mã thông báo).
- Thử nghiệm và lặp lại: Hành vi của mô hình có thể khác nhau tuỳ theo cách diễn đạt. Thử nghiệm với nhiều dữ liệu đầu vào của người dùng để đảm bảo mô hình duy trì tính cách nhất quán.