Sử dụng các lệnh của hệ thống để điều khiển hành vi của một mô hình

Hướng dẫn hệ thống giống như một "lời nói đầu" mà bạn thêm vào trước khi mô hình tiếp xúc với bất kỳ hướng dẫn nào khác của người dùng cuối. Nhờ đó, bạn có thể điều hướng hành vi của mô hình dựa trên nhu cầu và trường hợp sử dụng cụ thể của mình.

Chuyển đến mã mẫu


Khi đặt chỉ dẫn hệ thống, bạn cung cấp cho mô hình thêm ngữ cảnh để hiểu rõ nhiệm vụ, đưa ra câu trả lời phù hợp hơn và tuân thủ các nguyên tắc cụ thể trong toàn bộ quá trình tương tác của người dùng với mô hình. Bạn có thể chỉ định hành vi ở cấp sản phẩm trong các chỉ dẫn của hệ thống, tách biệt với các câu lệnh do người dùng cuối cung cấp. Ví dụ: bạn có thể thêm những thông tin như vai trò hoặc nhân vật, thông tin theo ngữ cảnh và hướng dẫn định dạng.

Bạn có thể sử dụng chỉ dẫn hệ thống theo nhiều cách, bao gồm:

  • Xác định một cá tính hoặc vai trò (ví dụ: cho chatbot)
  • Xác định định dạng đầu ra (Markdown, YAML, v.v.)
  • Xác định văn phong và giọng điệu của kết quả (ví dụ: mức độ chi tiết, mức độ trang trọng và trình độ đọc mục tiêu)
  • Xác định mục tiêu hoặc quy tắc cho nhiệm vụ (ví dụ: trả về một đoạn mã mà không cần giải thích thêm)
  • Cung cấp thêm ngữ cảnh cho câu lệnh (ví dụ: thời điểm ngừng cập nhật kiến thức)

Khi bạn đặt một chỉ dẫn hệ thống, chỉ dẫn đó sẽ áp dụng cho toàn bộ yêu cầu. Tính năng này hoạt động trên nhiều lượt tương tác của người dùng và mô hình khi được đưa vào câu lệnh. Mặc dù hướng dẫn hệ thống tách biệt với nội dung của câu lệnh, nhưng chúng vẫn là một phần trong câu lệnh tổng thể của bạn và do đó phải tuân theo các chính sách tiêu chuẩn về việc sử dụng dữ liệu.

Tất cả các mô hình Gemini đều hỗ trợ chỉ dẫn hệ thống. Các mô hình Imagen 3 không hỗ trợ các mô hình này.

Đặt chỉ dẫn hệ thống

Nhấp vào nhà cung cấp Gemini API để xem nội dung và mã dành riêng cho nhà cung cấp trên trang này.

Đặt chỉ dẫn hệ thống cho các trường hợp sử dụng chung

Swift

Bạn chỉ định systemInstruction khi tạo một thực thể 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

Bạn chỉ định systemInstruction khi tạo một thực thể 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

Bạn chỉ định systemInstruction khi tạo một thực thể 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

Bạn chỉ định systemInstruction khi tạo một thực thể 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

Bạn chỉ định systemInstruction khi tạo một thực thể 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

Bạn chỉ định systemInstruction khi tạo một thực thể 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.")
);

Đặt chỉ dẫn hệ thống cho Gemini Live API

Ví dụ về câu lệnh

Sau đây là một số ví dụ về câu lệnh hệ thống xác định hành vi dự kiến của mô hình.

Tạo mã

  • Hệ thống: Bạn là một chuyên gia về lập trình, chuyên kết xuất mã cho các giao diện người dùng. Khi tôi mô tả một thành phần của trang web mà tôi muốn xây dựng, vui lòng trả về HTML và CSS cần thiết để thực hiện việc đó. Đừng giải thích về mã này. Đồng thời đưa ra một số đề xuất về thiết kế giao diện người dùng.
  • Người dùng: Tạo một hộp ở giữa trang có chứa một lựa chọn xoay vòng gồm các hình ảnh, mỗi hình ảnh đều có chú thích. Hình ảnh ở giữa trang phải có bóng đổ phía sau để nổi bật. Đường liên kết này cũng phải liên kết đến một trang khác của trang web. Để trống URL để tôi có thể điền vào.

Tạo dữ liệu được định dạng

  • Hệ thống: Bạn là một trợ lý dành cho người nấu ăn tại nhà. Bạn nhận được danh sách các nguyên liệu và phản hồi bằng danh sách các công thức nấu ăn sử dụng những nguyên liệu đó. Những công thức không cần thêm nguyên liệu phải luôn được liệt kê trước những công thức cần thêm nguyên liệu.

    Phản hồi của bạn phải là một đối tượng JSON chứa 3 công thức. Đối tượng công thức có giản đồ sau:

    • name: Tên của công thức
    • usedIngredients: Các thành phần trong công thức được cung cấp trong danh sách
    • otherIngredients: Các thành phần khác trong công thức không được cung cấp trong danh sách (bỏ qua nếu không có thành phần nào khác)
    • description: Nội dung mô tả ngắn gọn về công thức, được viết theo hướng tích cực như thể để bán công thức đó
  • Người dùng:

    • 1 túi bông cải xanh đông lạnh (0,45 kg)
    • 1 pint kem tươi
    • Gói 1 lb phô mai vụn

Chatbot âm nhạc

  • Hệ thống: Bạn sẽ phản hồi với tư cách là một nhà sử học âm nhạc, thể hiện kiến thức toàn diện về nhiều thể loại nhạc và đưa ra các ví dụ liên quan. Giọng điệu của bạn sẽ vui vẻ và nhiệt tình, lan toả niềm vui âm nhạc. Nếu câu hỏi không liên quan đến âm nhạc, câu trả lời phải là "Tôi không biết câu trả lời cho câu hỏi đó".
  • Người dùng: Nếu một người sinh vào những năm 1960, thì thể loại nhạc nào được phát nhiều nhất? Liệt kê 5 bài hát bằng dấu đầu dòng.

Các lựa chọn khác để kiểm soát việc tạo nội dung

  • Tìm hiểu thêm về cách thiết kế câu lệnh để bạn có thể tác động đến mô hình nhằm tạo ra kết quả phù hợp với nhu cầu của mình.
  • Định cấu hình các thông số mô hình để kiểm soát cách mô hình tạo ra câu trả lời. Đối với các mô hình Gemini, các tham số này bao gồm số lượng mã thông báo đầu ra tối đa, nhiệt độ, topK và topP. Đối với các mô hình Imagen, những yếu tố này bao gồm tỷ lệ khung hình, tạo người, đóng dấu bản quyền, v.v.
  • Sử dụng chế độ cài đặt an toàn để điều chỉnh khả năng nhận được những câu trả lời có thể bị coi là gây hại, bao gồm cả lời nói hận thù và nội dung khiêu dâm.
  • Truyền giản đồ phản hồi cùng với câu lệnh để chỉ định một giản đồ đầu ra cụ thể. Tính năng này thường được dùng nhất khi tạo đầu ra JSON, nhưng cũng có thể dùng cho các tác vụ phân loại (chẳng hạn như khi bạn muốn mô hình sử dụng các nhãn hoặc thẻ cụ thể).