JavaScript: systemInstruction, gizli kural
AI'ya kim olduğunu ve neden geri çevireceğini systemInstruction ile söyle.
Tüm dersler · JavaScript dersleri: sıfırdan öğren
Gizli kural
System prompt kullanıcının görmediği kuraldır. Onu programcı yazar. contents ise kullanıcının sorusudur. Kural AI'ya der: kimdir, cevap ne kadar olsun, hangi konudan geri çevirsin.
const sorguMelumati = {
systemInstruction: {
parts: [{ text: "Sən Nibras Code müəllimisən. Yalnız qısa cümlə ilə cavab ver." }]
},
contents: [
{ parts: [{ text: "JavaScript nədir?" }] }
]
};Rol değişir, kod değil
Aynı fonksiyonda yalnız systemInstruction metni değişir. Öğretmen konu dışı soruyu geri çevirir. Arapça öğretmeni ise sözü harekeyle yazar ve bir cümle kurar, ek açıklama yazmaz. Anahtar process.env'den gelir.
const apiKey = process.env.GEMINI_API_KEY;
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=${apiKey}`;
async function muellimBot(istifadeciSuali) {
const sorguMelumati = {
systemInstruction: {
parts: [{
text: "Sən JavaScript müəllimisən. Yalnız proqramlaşdırma sualına cavab ver. Başqa mövzuda belə yaz: Üzr istəyirəm, mən yalnız proqramlaşdırma üzrə kömək edə bilərəm."
}]
},
contents: [{ parts: [{ text: istifadeciSuali }] }]
};
const cavab = await fetch(url, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(sorguMelumati)
});
const melumat = await cavab.json();
console.log(melumat.candidates[0].content.parts[0].text);
}Sorular
Ad nasıl yazılır? systemInstruction. systeminstruction ve system_instruction yanlıştır. I büyüktür.
Kural neden bozulur? Talimat kendiyle çelişir. Hem uzun açıklama hem bir cümle deme. Kısa ve açık yaz.
Kuralı contents içine yazmak olur mu? Çalışır, ama uzun sohbette unutulur. Kural systemInstruction'dadır.
Güçlü talimatta ne olur? Kimlik, uzunluk, yasak ve çıkış biçimi. Dördü de birbirine zıt olmamalıdır.