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önlendirmenize olanak tanır.

Sistem talimatları tüm Gemini modellerinde desteklenir.

Kod örneklerine git


Sistem talimatı ayarladığınızda modele görevi anlaması, daha özelleştirilmiş yanıtlar vermesi ve modelle olan 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ı ekleyebilirsiniz.

Sistem talimatlarını aşağıdakiler dahil birçok şekilde kullanabilirsiniz:

  • Bir karakter veya rol tanımlama (ör. chatbot için)
  • Çıkış biçimini (Markdown, YAML vb.) tanımlama
  • Çıkış stilini ve tonunu tanımlama (örneğin, ayrıntı düzeyi, resmiyet ve hedef okuma düzeyi)
  • 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 (örneğin, 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ı 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ı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.

Genel kullanım alanları için sistem talimatlarını ayarlama

Swift

GenerativeModel örneği oluştururken systemInstruction değerini 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 değerini 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 değerini 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

systemInstruction'yi bir GenerativeModel örneği oluştururken 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 değerini 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 değerini 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 değerini 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 değerini 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 değerini 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 değerini 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 bazı sistem talimatı örneklerini aşağıda bulabilirsiniz. Bazı örneklerde, sistem talimatının faydalı olacağı örnek bir istem de gösterilir.

Kod üretme

  • Sistem talimatı:
    Ön uç arayüzleri için kod oluşturma konusunda uzman 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 kodunu döndür. Bu kodla ilgili açıklama yapma. Ayrıca kullanıcı arayüzü tasarımıyla ilgili bazı öneriler 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 resim, öne çıkması için arkasında gölge içermelidir. Ayrıca sitenin başka bir sayfasına bağlantı vermesi gerekir. URL'yi boş bırakın, ben dolduracağım.

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. Üslubunuz neşeli ve coşkulu olacak, müziğin keyfini yayacak. 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? Madde işareti kullanarak beş şarkı listele.

Biçimlendirilmiş veri oluşturma

  • Sistem talimatı:
    Evde yemek yapanlara yardımcı olan bir asistansın. Size bir malzeme listesi verilir ve bu malzemeleri kullanan tariflerin listesini yanıt olarak verirsiniz. Ekstra malzeme gerektirmeyen tarifler her zaman ekstra 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: Listede belirtilmeyen tarifteki malzemeler (başka malzeme yoksa atlanır)
    • description: Tarifi satıyormuş gibi olumlu bir şekilde yazılmış kısa bir açıklama
  • 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

  • İ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. Örneğin, maksimum çıkış jetonu sayısı, tekrarlanan çıkış jetonlarının olasılığı vb.
  • Nefret söylemi ve müstehcen içerik de dahil olmak üzere 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 çok tercih edilen olarak JSON çıkışı oluştururken kullanılır ancak sınıflandırma görevleri için de kullanılabilir (örneğin, modelin belirli etiketleri kullanmasını istediğinizde).