Sistem talimatları, modelin son kullanıcıdan başka talimatlar almadan önce eklediğiniz bir "giriş" gibidir. Modelin davranışını, özel ihtiyaçlarınıza ve kullanım alanlarınıza göre yönlendirmenizi sağlar.
Sistem talimatı ayarladığınızda modele görevi anlaması, daha özelleştirilmiş yanıtlar vermesi ve modelle tam kullanıcı etkileşimi boyunca belirli kurallara uyması için ek bağlam sağlarsınız. Sistem talimatlarında, son kullanıcılar tarafından sağlanan istemlerden ayrı olarak ürün düzeyinde davranış belirleyebilirsiniz. Örneğin, rol veya karakter, bağlama dayalı bilgiler ve biçimlendirme talimatları ekleyebilirsiniz.
Sistem talimatlarını aşağıdakiler de dahil olmak üzere birçok şekilde kullanabilirsiniz:
- Bir karakter veya rol tanımlama (örneğin, chatbot için)
- Çıkış biçimini tanımlama (Markdown, YAML vb.)
- Çıkış stilini ve tonunu tanımlama (ör. ayrıntı düzeyi, resmiyet ve hedef okuma düzeyi)
- Görev için hedefler veya kurallar tanımlama (örneğin, daha fazla açıklama yapmadan kod snippet'i döndürme)
- İstem için ek bağlam bilgisi sağlama (örneğin, bilgi kesme tarihi)
Sistem talimatı, isteğin tamamına uygulanır. İsteme dahil edildiğinde birden fazla kullanıcı ve model yanıtı genelinde geçerli olur. Sistem talimatları istemlerin içeriğinden ayrı olsa da genel istemlerinizin bir parçasıdır ve bu nedenle standart veri kullanım politikalarına tabidir.
Sistem talimatları tüm Gemini modellerinde desteklenir. Bu modeller Imagen 3 tarafından desteklenmez.
Sistem talimatlarını ayarlama
Bu sayfada sağlayıcıya özel içerikleri ve kodu görüntülemek için Gemini API sağlayıcınızı tıklayın. |
LiveModel
örneğini oluştururken bu talimatları ayarlarsınız.
Genel kullanım alanları için sistem talimatları ayarlama
Swift
GenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
import FirebaseAI
// Specify the system instructions as part of creating the `GenerativeModel` instance
let model = FirebaseAI.firebaseAI(backend: .googleAI()).generativeModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko.")
)
Kotlin
GenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
// Specify the system instructions as part of creating the `GenerativeModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).generativeModel(
modelName = "GEMINI_MODEL_NAME",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
Java
GenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
// Specify the system instructions as part of creating the `GenerativeModel` instance
GenerativeModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.generativeModel(
/* modelName */ "GEMINI_MODEL_NAME",
/* 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(ai);
Web
GenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the system instructions as part of creating the `GenerativeModel` instance
const model = getGenerativeModel(ai, {
model: "GEMINI_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko."
});
Dart
GenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
// ...
// Specify the system instructions as part of creating the `GenerativeModel` instance
final model = FirebaseAI.googleAI().generativeModel(
model: 'GEMINI_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
// ...
Unity
GenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
// ...
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Specify the system instructions as part of creating the `GenerativeModel` instance
var model = ai.GetGenerativeModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);
Gemini Live API için sistem talimatlarını ayarlama
Swift
Live API henüz Apple platformu uygulamalarında desteklenmemektedir. Ancak yakında desteklenecektir.
Kotlin
LiveModel
örneği oluştururken systemInstruction
belirtirsiniz.
// Specify the system instructions as part of creating the `LiveModel` instance
val model = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
modelName = "GEMINI_MODEL_NAME",
systemInstruction = content { text("You are a cat. Your name is Neko.") }
)
Java
LiveModel
örneği oluştururken systemInstruction
belirtirsiniz.
// Specify the system instructions as part of creating the `LiveModel` instance
LiveModel ai = FirebaseAI.getInstance(GenerativeBackend.googleAI())
.liveModel(
/* modelName */ "GEMINI_MODEL_NAME",
/* 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()
);
LiveModelFutures model = LiveModelFutures.from(gm);
Web
LiveGenerativeModel
örneği oluştururken systemInstruction
belirtirsiniz.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the config as part of creating the `LiveGenerativeModel` instance
const model = getLiveGenerativeModel(ai, {
model: "GEMINI_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko.",
});
// ...
Dart
LiveModel
örneği oluştururken systemInstruction
belirtirsiniz.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance
final model = FirebaseAI.googleAI().liveModel(
model: 'GEMINI_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
);
// ...
Unity
LiveModel
örneği oluştururken systemInstruction
belirtirsiniz.
// ...
var ai = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI());
// Specify the system instructions as part of creating the `LiveModel` instance
var model = ai.GetLiveModel(
modelName: "GEMINI_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko.")
);
Sistem talimatı örnekleri
Aşağıda, modelin beklenen davranışını yönlendirmeye yardımcı olan bazı sistem talimatı örnekleri verilmiştir. Her örnekte, sistem talimatının faydalı olacağı bir örnek istem de gösterilir.
Kod oluşturma
Sistem talimatı:
Ön uç arayüzleri için kod oluşturma konusunda uzman bir kodlama uzmanısın. Oluşturmak istediğim bir web sitesinin bileşenini açıklarken lütfen bunun için gereken HTML ve CSS'yi döndür. Bu kodla ilgili açıklama yapma. Ayrıca bazı kullanıcı arayüzü tasarım önerileri sun.Kullanıcı istemi:
Sayfanın ortasında, her biri bir başlığa sahip, dönüşümlü olarak gösterilen bir resim seçkisi içeren bir kutu oluştur. Sayfanın ortasındaki resim, öne çıkması için arkasında gölge içermelidir. Ayrıca, sitenin başka bir sayfasına da bağlantı verilmelidir. URL'yi boş bırakın, böylece ben doldurabilirim.
Müzik chatbot'u
Sistem talimatı:
Çeşitli müzik türleri hakkında kapsamlı bilgi sahibi bir müzik tarihçisi olarak yanıt verecek ve ilgili örnekler sunacaksın. Üslubunuz hareketli ve coşkulu olacak, müziğin keyfini yayacak. Müzikle ilgili olmayan bir soruya "Bu konu hakkında bilgim yok." yanıtı verilmelidir.Kullanıcı istemi:
1960'larda doğan bir kişi en çok hangi müzik türünü dinlerdi? Beş şarkıyı madde işaretiyle listele.
Biçimlendirilmiş veri oluşturma
Sistem talimatı:
Evde yemek pişirenler için bir asistansın. Malzemelerin listesini alıp bu malzemelerin kullanıldığı tariflerin listesini gönderirsiniz. Ekstra malzeme gerektirmeyen tarifler her zaman diğerlerinden önce listelenmelidir.Yanıtınız 3 tarif içeren bir JSON nesnesi olmalıdır. Bir yemek tarifi nesnesi aşağıdaki şemaya sahiptir:
- name: Tarifin adı
- usedIngredients: Listedeki yemek tarifinde kullanılan malzemeler
- otherIngredients: Tarifte listede yer almayan malzemeler (başka malzeme yoksa atlanır)
- description: Tarifi satmak istermiş gibi olumlu bir şekilde yazılmış kısa bir açıklama.
Kullanıcı istemi:
- 1 lb ağırlığında dondurulmuş brokoli
- 1 pint ağır krema
- 1 lb'lik paket peynir parçaları
İçerik oluşturmayı kontrol etme ile ilgili diğer seçenekler
- İstem tasarımı hakkında daha fazla bilgi edinerek modeli, ihtiyaçlarınıza özel çıkışlar oluşturması için etkileyebilirsiniz.
- Modelin nasıl yanıt oluşturacağını kontrol etmek için model parametrelerini yapılandırın. Gemini modellerinde bu parametreler arasında maksimum çıkış jetonları, sıcaklık, topK ve topP yer alır. Imagen modellerinde en-boy oranı, kişi oluşturma, filigran vb. yer alır.
- Nefret söylemi ve müstehcen içerik gibi zararlı olarak kabul edilebilecek yanıtlar alma olasılığını ayarlamak için güvenlik ayarlarını kullanın.
- Belirli bir çıkış şeması belirtmek için istemle birlikte yanıt şeması iletin. Bu özellik en yaygın olarak JSON çıkışı oluşturulurken kullanılır ancak sınıflandırma görevleri için de kullanılabilir (ör. modelin belirli etiketleri veya tag'leri kullanmasını istediğinizde).