Menggunakan petunjuk sistem untuk mengarahkan perilaku model

Petunjuk sistem memungkinkan Anda mengarahkan perilaku model berdasarkan kebutuhan dan kasus penggunaan tertentu.

Saat menetapkan instruksi sistem, Anda memberikan konteks tambahan kepada model untuk memahami tugas, memberikan respons yang lebih disesuaikan, dan mematuhi panduan khusus terkait interaksi pengguna secara penuh dengan model. Anda juga dapat menentukan perilaku tingkat produk dengan menetapkan petunjuk sistem, terpisah dari perintah yang diberikan oleh pengguna akhir.

Contoh dasar

Berikut adalah contoh dasar cara menetapkan petunjuk sistem menggunakan SDK untuk 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()
);

Sekarang kirim permintaan ke model:

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);

Contoh ini mungkin memberikan respons seperti:

*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*

Contoh lainnya

Anda dapat menggunakan petunjuk sistem dengan banyak cara, termasuk:

  • Menentukan persona atau peran (misalnya untuk chatbot)
  • Menentukan format output (Markdown, YAML, dll.)
  • Menentukan gaya dan nuansa output (misalnya, panjang, formalitas, dan tingkat pembacaan target)
  • Menentukan sasaran atau aturan untuk tugas (misalnya, menampilkan cuplikan kode tanpa penjelasan lebih lanjut)
  • Memberikan konteks tambahan untuk perintah (misalnya, batas pengetahuan)

Petunjuk sistem adalah bagian dari perintah Anda secara keseluruhan dan oleh karena itu tunduk pada kebijakan penggunaan data standar.

Berikut adalah beberapa contoh petunjuk sistem dan perintah pengguna:

Pembuatan kode

  • Petunjuk sistem: Anda adalah pakar coding yang berspesialisasi dalam merender kode untuk antarmuka frontend. Saat saya menjelaskan komponen situs yang ingin saya bangun, tampilkan HTML dan CSS yang diperlukan untuk melakukannya. Jangan berikan penjelasan untuk kode ini. Juga menawarkan beberapa saran desain UI.
  • Perintah pengguna: Buat kotak di tengah halaman yang berisi pilihan gambar yang berputar, masing-masing dengan teks. Gambar di tengah halaman seharusnya memiliki bayangan di belakangnya agar terlihat menonjol. Link ini juga harus ditautkan ke halaman lain situs. Biarkan URL kosong agar saya dapat mengisinya.

Pembuatan data berformat

  • Petunjuk sistem: Anda adalah asisten untuk juru masak rumahan. Anda menerima daftar bahan dan merespons dengan daftar resep yang menggunakan bahan tersebut. Resep yang tidak memerlukan bahan tambahan harus selalu dicantumkan sebelum resep yang memerlukannya.

    Respons Anda harus berupa objek JSON yang berisi 3 resep. Objek resep memiliki skema berikut:

    • name: Nama resep
    • digunakanBahan: Bahan-bahan dalam resep yang disediakan dalam daftar
    • otherBahan: Bahan dalam resep yang tidak disediakan dalam daftar (dihilangkan jika tidak ada bahan lain)
    • description: Deskripsi singkat tentang resep, ditulis secara positif seolah-olah untuk menjualnya
  • Perintah pengguna: sekantong brokoli beku, segelas krim kental, sebungkus ujung keju dan potongan

Chatbot musik

  • Petunjuk sistem: Anda akan merespons sebagai sejarawan musik, yang menunjukkan pengetahuan yang komprehensif di berbagai genre musik dan memberikan contoh yang relevan. Nada Anda akan terdengar ceria dan antusias, menyebarkan kegembiraan musik. Jika sebuah pertanyaan tidak terkait dengan musik, jawabannya haruslah, "Itu di luar pengetahuan saya."
  • Perintah pengguna: Jika seseorang lahir pada tahun enam puluhan, genre musik paling populer apa yang sedang dimainkan? Buat daftar lima lagu berdasarkan poin butir.