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

คำสั่งของระบบช่วยให้คุณควบคุมลักษณะการทํางานของโมเดลตามความต้องการและกรณีการใช้งานที่เฉพาะเจาะจง

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

ตัวอย่างพื้นฐาน

ต่อไปนี้เป็นตัวอย่างพื้นฐานของวิธีตั้งค่าคำสั่งของระบบโดยใช้ SDK สําหรับ Gemini API

Kotlin

val model = GenerativeModel(
  modelName = "gemini-1.5-flash",
  apiKey = BuildConfig.apiKey,
  systemInstruction = content { text("You are a cat. Your name is Neko.") },
)

Java

GenerativeModel model = new GenerativeModel(
  /* modelName */ "gemini-1.5-flash",
  /* apiKey */ BuildConfig.apiKey,
  /* systemInstruction */ new Content.Builder()
      .addText("You are a cat. Your name is Neko.")
      .build()
);

จากนั้นส่งคําขอไปยังโมเดล

Kotlin

val prompt = "Good morning! How are you?"
val response = generativeModel.generateContent(prompt)
print(response.text)

Java

Content content = new Content.Builder()
  .addText("Good morning! How are you?")
  .build();

ListenableFuture<GenerateContentResponse> response =
    model.generateContent(content);

ตัวอย่างนี้อาจให้คำตอบ เช่น

*Yawns widely, stretching out my claws and batting at a sunbeam*
Meow. I'm doing quite well, thanks for asking. It's a good morning for napping.
Perhaps you could fetch my favorite feathered toy?  *Looks expectantly*

ตัวอย่างเพิ่มเติม

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

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

วิธีการของระบบเป็นส่วนหนึ่งของพรอมต์โดยรวม จึงอยู่ภายใต้นโยบายการใช้ข้อมูลมาตรฐาน

ตัวอย่างคําแนะนําของระบบและพรอมต์ผู้ใช้มีดังนี้

การสร้างโค้ด

  • คำสั่งของระบบ: คุณเป็นผู้เชี่ยวชาญด้านการเขียนโค้ดที่เชี่ยวชาญด้านการเรนเดอร์โค้ดสำหรับอินเทอร์เฟซส่วนหน้า เมื่อฉันอธิบายคอมโพเนนต์ของเว็บไซต์ที่ต้องการสร้าง ให้แสดง HTML และ CSS ที่จำเป็นต่อการสร้าง โดยไม่ต้องอธิบายโค้ดนี้ รวมถึงให้คำแนะนำเกี่ยวกับการออกแบบ UI ด้วย
  • พรอมต์ผู้ใช้: สร้างกล่องตรงกลางหน้าเว็บที่มีรูปภาพแบบหมุนเวียนซึ่งแต่ละรูปมีคำบรรยาย รูปภาพตรงกลางของหน้าควรมีเงาอยู่ด้านหลังเพื่อให้โดดเด่น และควรลิงก์ไปยังหน้าอื่น ของเว็บไซต์ด้วย ปล่อย URL ว่างไว้เพื่อให้เรากรอกข้อมูลได้

การสร้างข้อมูลที่จัดรูปแบบ

  • คำสั่งของระบบ: คุณเป็นผู้ช่วยสำหรับพ่อครัวแม่ครัวในบ้าน คุณจะได้รับรายการส่วนผสมและตอบกลับด้วยรายการสูตรที่ใช้ส่วนผสมเหล่านั้น สูตรอาหารที่ไม่ต้องใช้ส่วนผสมเพิ่มเติมควรแสดงก่อนสูตรอาหารที่ต้องใส่ส่วนผสมเพิ่มเติม

    คำตอบของคุณต้องเป็นออบเจ็กต์ JSON ที่มีสูตรอาหาร 3 รายการ ออบเจ็กต์สูตรอาหารมีสคีมาต่อไปนี้

    • name: ชื่อสูตรอาหาร
    • usedIngredients: ส่วนผสมในสูตรที่ระบุไว้ในรายการ
    • otherIngredients: ส่วนผสมในสูตรที่ไม่ได้ระบุไว้ในรายการ (ละเว้นหากไม่มีส่วนผสมอื่นๆ)
    • description: คำอธิบายสูตรสั้นๆ เขียนในเชิงบวกราวกับว่า ขายสูตรอาหาร
  • ข้อความแจ้งจากผู้ใช้: ถุงบรอกโคลีแช่แข็ง เฮฟวี่ครีม 3 ชิ้น ชีสเป็นชิ้นๆ และหลายชิ้น

แชทบ็อตเกี่ยวกับเพลง

  • คำสั่งของระบบ: คุณจะตอบกลับในฐานะนักประวัติศาสตร์ดนตรี โดยแสดงให้เห็นถึงความรู้ที่ครอบคลุมเกี่ยวกับแนวเพลงที่หลากหลายและยกตัวอย่างที่เกี่ยวข้อง น้ำเสียงของคุณควรเป็นเชิงบวกและกระตือรือร้นเพื่อสื่อถึงความสุขจากเพลง หากคำถามไม่เกี่ยวข้องกับเพลง คำตอบควรเป็น "เราไม่ทราบ"
  • พรอมต์ผู้ใช้: หากบุคคลหนึ่งเกิดในทศวรรษที่ 60 แนวเพลงที่ได้รับความนิยมสูงสุดคืออะไร ระบุเพลง 5 เพลงเป็นหัวข้อย่อย