| Bu sayfadaki örneklerde, Başlangıç: Apple'ın Foundation Models çerçevesi aracılığıyla Gemini API'a erişme başlıklı makaledeki adımları tamamladığınız varsayılır. |
Bir modele gönderdiğiniz her istekle birlikte, modelin nasıl yanıt oluşturacağını kontrol etmek için bazı yapılandırma ayarları gönderebilirsiniz. Her Gemini modeli farklı yapılandırma seçenekleri sunar.
Ayara bağlı olarak yapılandırma, geminiLanguageModel veya LanguageModelSession'nin kullanım ömrü boyunca korunur. Farklı bir yapılandırma kullanmak istiyorsanız bu yapılandırmayla yeni bir model veya oturum oluşturun.
Sayfada aşağıdaki yapılandırma seçenekleri açıklanmaktadır:
- Sistem talimatları
- Düşünme (diğer adıyla "akıl yürütme")
- Üretilen görüntü çıktısı
- Genel yapılandırma
Sistem talimatlarını belirtme
Sistem talimatları, modelin son kullanıcıdan başka talimatlar almadan önce eklediğiniz bir "giriş" gibidir. Bu sayede, modelin davranışını özel ihtiyaçlarınıza ve kullanım alanlarınıza göre yönlendirebilirsiniz.
LanguageModelSession üzerinde sistem talimatlarını belirtin:
// ...
// Make sure you initialize your chosen Gemini API backend service
let model = FirebaseAI.firebaseAI().geminiLanguageModel(name: "GEMINI_MODEL_NAME")
// Specify the system instructions as part of creating the session
let session = LanguageModelSession(
model: model,
instructions: "You are a cat. Your name is Neko."
)
// ...
Düşünme (diğer adıyla "akıl yürütme") özelliğini yapılandırma
Gemini modelinin yanıtını oluşturmak için yapabileceği düşünme (akıl yürütme olarak da adlandırılır) miktarını yapılandırabilirsiniz. Düşünme ile ilgili ayrıntılar, en iyi uygulamalar ve kullanım alanları için genel Düşünme rehberine bakın.
Apple, düşünme seviyesi yerine akıl yürütme seviyesi ifadesini kullanır. Her istekte ContextOptions içindeki reasoningLevel değerini LanguageModelSession aracılığıyla ayarlarsınız:
// ...
// Make sure you initialize your chosen Gemini API backend service.
let model = FirebaseAI.firebaseAI().geminiLanguageModel(name: "GEMINI_MODEL_NAME")
let session = LanguageModelSession(model: model)
// Specify the reasoning level when generating a response.
// Possible reasoningLevels: .light, .moderate, .deep, .custom("minimal").
let response = try await session.respond(
to: "Write a story about a magic backpack.",
contextOptions: ContextOptions(reasoningLevel: .REASONING_LEVEL)
)
// ...
Desteklenen düşünme seviyesi değerleri
Aşağıdakileri göz önünde bulundurun:
- Gemini 3.x modelleri her zaman düşünme özelliğini kullanır. Bu modellerde düşünme özelliğini devre dışı bırakamazsınız.
- Gemini 3.x modelleri her zaman dinamik düşünme özelliğini kullanır. Model, yapılandırılan tutara kadar ne zaman ve ne kadar düşüneceğine karar verir.
Aşağıdaki tabloda, her Gemini modeli için ayarlayabileceğiniz düşünme düzeyleri (reasoningLevel) listelenmektedir. Gemini değeri (MINIMAL, LOW, MEDIUM, HIGH) kullanırsanız bu değerin Apple sürümüne otomatik olarak eşleneceğini unutmayın.
Apple: .custom("minimal")Gemini: MINIMAL
|
Apple: .lightGemini: LOW
|
Apple: .moderateGemini: MEDIUM
|
Apple: .deepGemini: HIGH
|
|
|---|---|---|---|---|
|
Model, mümkün olduğunca az jeton kullanır ve düşünme süreci neredeyse hiç yoktur. Düşük karmaşıklıkta görevler |
Model daha az jeton kullanır, gecikmeyi ve maliyeti en aza indirir. Basit görevler ve yüksek işleme hızlı görevler |
Model dengeli bir yaklaşım kullanıyor Orta düzeyde karmaşık görevler |
Model, jetonları maksimum seviyeye kadar kullanır. Derin akıl yürütme gerektiren karmaşık istemler |
|
Gemini 3.x Progemini-3.1-pro-preview
|
(varsayılan) | |||
Gemini 3.x Flashgemini-3.8-flashgemini-3.7-flashgemini-3.6-flashgemini-3.5-flash
|
gemini-3.8-flashgemini-3.7-flash |
(varsayılan) | ||
Gemini 3.x Flash‑Litegemini-3.5-flash-litegemini-3.1-flash-lite
|
(varsayılan) | |||
Gemini 3.x Pro Imagegemini-3-pro-image("Nano Banana Pro") |
(varsayılan) | |||
Gemini 3.x Flash Imagegemini-3.1-flash-image("Nano Banana 2") |
(varsayılan) | |||
Gemini 3.x Flash‑Lite Imagegemini-3.1-flash-lite-image("Nano Banana 2 Lite") |
(varsayılan) |
1 gemini-3.8-flash ve gemini-3.7-flash
MINIMAL düşünme seviyesini desteklemez. Düşünme seviyesini MINIMAL olarak ayarlarsanız istek 400 hatasıyla
başarısız olur.