Sistem talimatları, model son kullanıcıdan başka talimatlar almadan önce eklediğiniz "ön talimatlar" gibidir. Modelin davranışını özel ihtiyaçlarınıza ve kullanım alanlarınıza göre yönlendirmenize olanak tanır.
Sistem talimatları tüm Gemini modelleri tarafından desteklenir.
Sistem talimatı ayarladığınızda modele görevi anlaması, daha özelleştirilmiş yanıtlar vermesi ve modelle tüm kullanıcı etkileşimi boyunca belirli kurallara uyması için ek bağlam sağlamış olursunuz. Sistem talimatlarında, son kullanıcılar tarafından sağlanan istemlerden ayrı olarak ürün düzeyinde davranış belirtebilirsiniz. Örneğin, rol veya karakter, bağlama dayalı bilgiler ve biçimlendirme talimatları gibi bilgileri ekleyebilirsiniz.
Sistem talimatlarını birçok şekilde kullanabilirsiniz. Örneğin:
- Karakter veya rol tanımlama (örneğin, chatbot için)
- Çıkış biçimini (Markdown, YAML vb.) tanımlama
- Çıkış stilini ve üslubunu (ör. ayrıntı düzeyi, resmiyet ve hedef okuma düzeyi) tanımlama
- Görev için hedefler veya kurallar tanımlama (ör. daha fazla açıklama olmadan bir kod snippet'i döndürme)
- İstem için ek bağlam bilgisi sağlama (ör. son güncel bilgi 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ı, istemin 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ını ayarlama
|
Bu sayfada sağlayıcıya özel içerikleri ve kodları görüntülemek için Gemini API sağlayıcınızı tıklayın. |
Genel kullanım alanları için sistem talimatları ayarlama
Swift
GenerativeModel örneği oluştururken
systemInstruction
belirtirsiniz.
import FirebaseAILogic
// 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 değerini 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 değerini 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
LiveModel örneği oluştururken
systemInstruction
belirtirsiniz.
// ...
// Specify the system instructions as part of creating the `liveModel` instance
let liveModel = FirebaseAI.firebaseAI(backend: .googleAI()).liveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: ModelContent(role: "system", parts: "You are a cat. Your name is Neko."),
// ...
)
// ...
Kotlin
LiveModel örneği oluştururken
systemInstruction
belirtirsiniz.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
val liveModel = Firebase.ai(backend = GenerativeBackend.googleAI()).liveModel(
modelName = "GEMINI_LIVE_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.
LiveGenerativeModel lm = FirebaseAI.getInstance(GenerativeBackend.googleAI()).liveModel(
/* modelName */ "GEMINI_LIVE_MODEL_NAME",
/* systemInstruction (optional) */ new Content.Builder().addText("You are a cat. Your name is Neko.").build()
// ...
);
LiveModelFutures liveModel = LiveModelFutures.from(lm);
// ...
Web
LiveGenerativeModel örneği oluştururken
systemInstruction
belirtirsiniz.
// ...
const ai = getAI(firebaseApp, { backend: new GoogleAIBackend() });
// Specify the system instructions as part of creating the `LiveGenerativeModel` instance.
const liveModel = getLiveGenerativeModel(ai, {
model: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: "You are a cat. Your name is Neko.",
// ...
});
// ...
Dart
LiveGenerativeModel örneği oluştururken systemInstruction değerini belirtirsiniz.
// ...
// Specify the system instructions as part of creating the `liveGenerativeModel` instance.
final liveModel = FirebaseAI.googleAI().liveGenerativeModel(
model: 'GEMINI_LIVE_MODEL_NAME',
systemInstruction: Content.system('You are a cat. Your name is Neko.'),
// ...
);
// ...
Unity
LiveModel örneği oluştururken
systemInstruction
belirtirsiniz.
// ...
// Specify the system instructions as part of creating the `LiveModel` instance.
var liveModel = FirebaseAI.GetInstance(FirebaseAI.Backend.GoogleAI()).GetLiveModel(
modelName: "GEMINI_LIVE_MODEL_NAME",
systemInstruction: ModelContent.Text("You are a cat. Your name is Neko."),
// ...
);
// ...
Sistem talimatı örnekleri
Modelin beklenen davranışını yönlendirmeye yardımcı olan sistem talimatlarına dair bazı örnekleri aşağıda bulabilirsiniz. Bazı örneklerde, sistem talimatının faydalı olacağı örnek bir istem de gösterilir.
Kod oluşturma
Sistem talimatı:
Ön uç arayüzleri için kod oluşturma konusunda uzmanlaşmış bir kodlama uzmanısınız. Oluşturmak istediğim bir web sitesinin bileşenini açıkladığımda lütfen bunu yapmak için gereken HTML ve CSS kodlarını döndür. Bu kodla ilgili açıklama yapma. Ayrıca bazı kullanıcı arayüzü tasarımı önerileri de sunun.Kullanıcı istemi:
Sayfanın ortasında, her biri başlık içeren ve dönüşümlü olarak gösterilen resimlerin yer aldığı bir kutu oluştur. Sayfanın ortasındaki resmin arkasında gölge olmalı ve bu sayede resim öne çıkmalıdır. Ayrıca sitenin başka bir sayfasına bağlantı vermelidir. URL'yi boş bırakın, ben doldururum.
Müzik chatbot'u
Sistem talimatı:
Farklı müzik türleri hakkında kapsamlı bilgi sahibi olan ve alakalı örnekler veren bir müzik tarihçisi olarak yanıt vereceksiniz. Müziğin neşesini yaymak için neşeli ve coşkulu bir üslup kullanacaksınız. Müzikle ilgili olmayan sorulara "Bu konuda bilgim yok." yanıtı verilmelidir.Kullanıcı istemi:
Altmışlı yıllarda doğan birinin gençliğinde en popüler müzik türü hangisiydi? Beş şarkıyı madde işaretleriyle listele.
Biçimlendirilmiş veri oluşturma
Sistem talimatı:
Evde yemek yapanlara yardımcı olan bir asistansın. Size bir malzeme listesi veriliyor ve siz de bu malzemelerin kullanıldığı yemek tariflerinin listesini vererek yanıt veriyorsunuz. Ek malzeme gerektirmeyen tarifler her zaman ek malzeme gerektiren tariflerden önce listelenmelidir.Yanıtınız, 3 tarif içeren bir JSON nesnesi olmalıdır. Yemek tarifi nesnesi aşağıdaki şemaya sahiptir:
- name: Tarifin adı
- usedIngredients: Tarifte kullanılan ve listede belirtilen malzemeler
- otherIngredients: Tarifte yer alan ancak listede belirtilmeyen malzemeler (başka malzeme yoksa atlanır)
- description: Tarifin, sanki satılacakmış gibi olumlu bir dille yazılmış kısa açıklaması
Kullanıcı istemi:
- 1 paket dondurulmuş brokoli (yaklaşık 450 g)
- 1 pint ağır krema
- 450 g paket peynir parçaları
İçerik üretimini kontrol etmek için diğer seçenekler
- Modeli, ihtiyaçlarınıza özel çıktılar üretecek şekilde etkilemek için istem tasarımı hakkında daha fazla bilgi edinin.
- Modelin nasıl yanıt üreteceğini kontrol etmek için model parametrelerini yapılandırın (ör. maksimum çıkış jetonu sayısı, tekrarlanan çıkış jetonlarının olasılığı vb.).
- 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 bir yanıt şeması iletin. Bu özellik en yaygın olarak JSON çıkışı oluştururken kullanılır ancak sınıflandırma görevleri için de kullanılabilir (ör. modelin belirli etiketleri kullanmasını istediğinizde).