JavaScript: systemInstruction, gizli qayda
AI-ya kim olduğunu və nədən imtina edəcəyini systemInstruction ilə de.
Bütün dərslər · JavaScript dərsləri: sıfırdan öyrən
Gizli qayda
System prompt istifadəçinin görmədiyi qaydadır. Onu proqramçı yazır. contents isə istifadəçinin sualıdır. Qayda AI-ya deyir: kimdir, cavab nə qədər olsun, hansı mövzudan imtina etsin.
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 dəyişir, kod yox
Eyni funksiyada yalnız systemInstruction mətni dəyişir. Müəllim kənar suala imtina edir. Ərəb dili müəllimi isə sözü hərəkə ilə yazır və bir cümlə qurur, əlavə izah yazmır. Açar process.env-dən gəlir.
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);
}Suallar
Ad necə yazılır? systemInstruction. systeminstruction və system_instruction səhvdir. I böyükdür.
Qayda niyə pozulur? Təlimat özü ilə ziddiyyət təşkil edir. Həm uzun izah, həm bir cümlə demə. Qısa və aydın yaz.
Qaydanı contents içinə yazmaq olarmı? İşləyir, amma uzun söhbətdə unudulur. Qayda systemInstruction-dadır.
Güclü təlimatda nə olur? Kimlik, uzunluq, qadağa və çıxış forması. Dördü də bir-birinə zidd olmamalıdır.