Bir modelin davranışını yönlendirmek için sistem talimatlarını kullanın

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.

Kod örneklerine git


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