ใช้คำสั่งของระบบเพื่อกำหนดลักษณะการทำงานของโมเดล

คำสั่งของระบบเปรียบเสมือน "คํานํา" ที่คุณเพิ่มก่อนที่โมเดลจะแสดงคําสั่งเพิ่มเติมจากผู้ใช้ปลายทาง ซึ่งช่วยให้คุณควบคุมลักษณะการทํางานของโมเดลตามความต้องการและ Use Case ที่เฉพาะเจาะจงได้

ข้ามไปยังตัวอย่างโค้ด


เมื่อตั้งค่าคำสั่งของระบบ คุณจะให้บริบทเพิ่มเติมแก่โมเดลเพื่อให้เข้าใจงาน ให้คำตอบที่ปรับแต่งมากขึ้น และปฏิบัติตามหลักเกณฑ์ที่เฉพาะเจาะจงตลอดการโต้ตอบของผู้ใช้กับโมเดล คุณสามารถระบุลักษณะการทํางานระดับผลิตภัณฑ์ในวิธีการของระบบแยกจากพรอมต์ที่ผู้ใช้ปลายทางระบุ เช่น คุณสามารถใส่ข้อมูลต่างๆ เช่น บทบาทหรือบุคลิก ข้อมูลตามบริบท และวิธีการจัดรูปแบบ

คุณใช้วิธีการของระบบได้หลายวิธี ดังนี้

  • การกําหนดบุคลิกหรือบทบาท (สําหรับแชทบ็อต เป็นต้น)
  • การกำหนดรูปแบบเอาต์พุต (Markdown, YAML ฯลฯ)
  • การกำหนดรูปแบบและระดับภาษาของเอาต์พุต (เช่น ความยาว ความทางการ และระดับการอ่านเป้าหมาย)
  • การกําหนดเป้าหมายหรือกฎสําหรับงาน (เช่น แสดงตัวอย่างโค้ดโดยไม่มีคำอธิบายเพิ่มเติม)
  • การให้บริบทเพิ่มเติมสำหรับพรอมต์ (เช่น การตัดความรู้)

เมื่อตั้งค่าคำสั่งของระบบแล้ว คำสั่งดังกล่าวจะมีผลกับคำขอทั้งหมด โดยจะทํางานกับผู้ใช้และโมเดลหลายรอบเมื่อรวมอยู่ในพรอมต์ แม้ว่าคำสั่งของระบบจะแยกจากเนื้อหาของพรอมต์ แต่คำสั่งดังกล่าวก็ยังคงเป็นส่วนหนึ่งของพรอมต์โดยรวมและอยู่ภายใต้นโยบายการใช้ข้อมูลมาตรฐาน

Gemini ทุกรุ่นรองรับวิธีการของระบบ โมเดล Imagen 3 ไม่รองรับ

วิธีการตั้งค่าระบบ

ตั้งค่าวิธีการของระบบสำหรับกรณีการใช้งานทั่วไป

Swift KotlinJavaWebDart

คุณระบุ 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

Swift KotlinJavaWebDart

แอปบนแพลตฟอร์ม 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 แต่สามารถใช้กับงานการจัดประเภทได้ด้วย (เช่น เมื่อคุณต้องการให้โมเดลใช้ป้ายกำกับหรือแท็กที่เฉพาะเจาะจง)