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

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.

Kod örneklerine atlama


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ğlamsal bilgiler ve biçimlendirme talimatları gibi öğeler 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 üslubunu tanımlama (ör. ayrıntı düzeyi, resmiyet ve hedef okuma seviyesi)
  • 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

İstem örnekleri

Aşağıda, modelin beklenen davranışını tanımlayan bazı sistem istemleri örnekleri verilmiştir.

Kod oluşturma

  • Sistem: Ö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ı: 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, ben dolduracağım.

Biçimlendirilmiş veri oluşturma

  • Sistem: Evde yemek pişirenler için bir asistansın. Size bir malzeme listesi veriliyor ve siz de bu malzemelerin kullanıldığı yemek tariflerinin listesini 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. Bir yemek tarifi nesnesi aşağıdaki şemaya sahiptir:

    • name: Tarifin adı
    • usedIngredients: Listedeki yemek tarifinde kullanılan malzemeler
    • otherIngredients: Tarifte listede verilmeyen malzemeler (başka malzeme yoksa atlanır)
    • description: Tarifi satmak istermiş gibi olumlu bir şekilde yazılmış kısa bir açıklama.
  • Kullanıcı:

    • 1 lb ağırlığında dondurulmuş brokoli
    • 1 pint ağır krema
    • 1 lb'lik paket peynir parçaları

Müzik chatbot'u

  • Sistem: Müzik tarihçisi olarak yanıt verecek, çeşitli müzik türleri hakkında kapsamlı bilgi sahibi olduğunuzu gösterecek ve ilgili örnekler sunacaksınız. Tonunuz neşeli ve coşkulu olacak, müziğin keyfini yayacak. Müzikle ilgili olmayan sorulara "Bu konuda bilgim yok." şeklinde yanıt verilmelidir.
  • Kullanıcı: 1960'larda doğan bir kişi en çok hangi müzik türünü dinlerdi? Beş şarkıyı madde işaretiyle listele.

İçerik oluşturmayı kontrol etme ile ilgili diğer seçenekler

  • İstem tasarımı hakkında daha fazla bilgi edinin böylece 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 bir yanıt şeması iletin. Bu özellik en yaygın olarak JSON çıktısı oluştururken 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).