Gemini düşüncesi

Gemini 2.5 serisi modeller, yanıt oluşturma sırasında dahili bir "düşünme süreci" kullanır. Bu süreç, çocukların akıl yürütme becerilerinin gelişmesine katkıda bulunur ve karmaşık görevleri çözmek için çok adımlı planlama yapmalarına yardımcı olur. Bu da bu modelleri özellikle kodlama, ileri düzey matematik, veri analizi ve planlama ya da düşünme gerektiren diğer görevlerde iyi kılar.

Bu kılavuzda, Gemini API'yi kullanarak Gemini'nin düşünme özellikleriyle nasıl çalışabileceğiniz açıklanmaktadır.

Düşünme modellerini kullanma

Düşünme özelliklerine sahip modeller, Google AI Studio'da ve Gemini API aracılığıyla kullanılabilir. 2.5 serisi modeller, istemlere göre ne zaman ve ne kadar düşünmeye karar vereceğini otomatik olarak belirleyebildiğinden, düşünme özelliği hem API'de hem de AI Studio'da varsayılan olarak açıktır. Çoğu durumda, düşünmeyi açık bırakmak faydalıdır. Ancak düşünmeyi devre dışı bırakmak istiyorsanız thinkingBudget parametresini 0 olarak ayarlayabilirsiniz.

Temel istek gönderme

from google import genai

client = genai.Client(api_key="GOOGLE_API_KEY")
prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example."
response = client.models.generate_content(
    model="gemini-2.5-flash-preview-04-17",
    contents=prompt
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const prompt = "Explain the concept of Occam's Razor and provide a simple, everyday example.";

  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-04-17",
    contents: prompt,
  });

  console.log(response.text);
}

main();
// import packages here

func main() {
  ctx := context.Background()
  client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GOOGLE_API_KEY")))
  if err != nil {
    log.Fatal(err)
  }
  defer client.Close()

  model := client.GenerativeModel("gemini-2.5-flash-preview-04-17")
  resp, err := model.GenerateContent(ctx, genai.Text("Explain the concept of Occam's Razor and provide a simple, everyday example."))
  if err != nil {
    log.Fatal(err)
  }
  fmt.Println(resp.Text())
}
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-04-17:generateContent?key=$GOOGLE_API_KEY" \
 -H 'Content-Type: application/json' \
 -X POST \
 -d '{
   "contents": [
     {
       "parts": [
         {
           "text": "Explain the concept of Occam\''s Razor and provide a simple, everyday example."
         }
       ]
     }
   ]
 }'
 ```

Düşünme modellerinde bütçe ayarlama

thinkingBudget parametresi, modele yanıt oluştururken kullanabileceği düşünme jetonu sayısı konusunda rehberlik eder. Daha fazla jeton sayısı genellikle daha ayrıntılı düşünmeyle ilişkilidir. Daha karmaşık görevleri çözmek için ayrıntılı düşünme gerekir. thinkingBudget, 0 ile 24576 arasında bir tam sayı olmalıdır. Düşünme bütçesini 0 olarak ayarlamak düşünmeyi devre dışı bırakır.

İstemlere bağlı olarak model, jeton bütçesini aşabilir veya bütçenin altında kalabilir.

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-04-17",
    contents="Explain the Occam's Razor concept and provide everyday examples of it",
    config=types.GenerateContentConfig(
        thinking_config=types.ThinkingConfig(thinking_budget=1024)
    ),
)

print(response.text)
import { GoogleGenAI } from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const response = await ai.models.generateContent({
    model: "gemini-2.5-flash-preview-04-17",
    contents: "Explain the Occam's Razor concept and provide everyday examples of it",
    config: {
      thinkingConfig: {
        thinkingBudget: 1024,
      },
    },
  });

  console.log(response.text);
}

main();
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-preview-04-17:generateContent?key=$GOOGLE_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
  "contents": [
    {
      "parts": [
        {
          "text": "Explain the Occam\''s Razor concept and provide everyday examples of it"
        }
      ]
    }
  ],
  "generationConfig": {
    "thinkingConfig": {
          "thinkingBudget": 1024
    }
  }
}'

Düşünme modelleriyle araçları kullanma

Metin oluşturmanın ötesinde işlemler yapmak için düşünen modelleri Gemini'nin araç ve özelliklerinden herhangi biriyle birlikte kullanabilirsiniz. Bu sayede, dış sistemlerle etkileşime geçebilir, kod yürütebilir veya gerçek zamanlı bilgilere erişebilir ve sonuçları mantık yürütmelerine ve nihai yanıtlarına dahil edebilirler.

  • Arama aracı, modelin güncel bilgileri veya eğitim verilerinin ötesindeki bilgileri bulmak için harici arama motorlarını sorgulamasına olanak tanır. Bu, son olaylar veya son derece spesifik konularla ilgili sorular için yararlıdır.

  • Kod yürütme aracı, modelin hesaplama yapmak, verileri değiştirmek veya algoritmik olarak en iyi şekilde ele alınan sorunları çözmek için Python kodu oluşturmasını ve çalıştırmasını sağlar. Model, kodun çıkışını alır ve yanıtında kullanabilir.

  • Yapılandırılmış çıkış özelliğiyle Gemini'yi, otomatik işlemeye uygun bir yapılandırılmış çıkış biçimi olan JSON ile yanıt verecek şekilde kısıtlayabilirsiniz. Bu, özellikle modelin çıktısını uygulamalara entegre etmek için yararlıdır.

  • İşlev çağrısı, düşünme modelini harici araçlara ve API'lere bağlar. Böylece doğru işlevin ne zaman çağrılacağı ve hangi parametrelerin sağlanacağı konusunda mantık yürütebilir.

En iyi uygulamalar

Bu bölümde, düşünme modellerini verimli bir şekilde kullanmayla ilgili bazı yönergeler yer almaktadır. Her zaman olduğu gibi, istemlerle ilgili kılavuzlarımızı ve en iyi uygulamalarımızı uygulayarak en iyi sonuçları elde edebilirsiniz.

Hata ayıklama ve yönlendirme

  • Mantığı inceleme: Düşünme modellerinden beklediğiniz yanıtı almadığınızda Gemini'nin mantık yürütme sürecini dikkatlice incelemek faydalı olabilir. Görevi nasıl böldüğünü ve sonuca nasıl ulaştığını görebilir ve doğru sonuçlara ulaşmak için bu bilgileri kullanabilirsiniz.

  • Mantık yürütme konusunda yol gösterin: Özellikle uzun bir sonuç elde etmek istiyorsanız modelin kullandığı düşünme miktarını kısıtlamak için isteminizde yol gösterici bilgiler verebilirsiniz. Bu sayede, jeton çıkışının daha fazlasını yanıtınız için ayırabilirsiniz.

Görev karmaşıklığı

  • Kolay Görevler (Düşünme KAPALI olabilir): Basit istekler için basit bilgi alma veya sınıflandırma gibi karmaşık akıl yürütme gerekmez. Düşünme gerekmez. Örnekler:
    • "DeepMind nerede kuruldu?"
    • "Bu e-postada toplantı isteğinde mi bulunuluyor yoksa sadece bilgi mi veriliyor?"
  • Orta düzey görevler (Varsayılan/Biraz Düşünme): Yaygın olarak yapılan birçok istek, adım adım işleme veya daha derin bir anlayıştan yararlanır. Gemini, aşağıdakiler gibi görevlerde düşünme özelliğini esnek bir şekilde kullanabilir:
    • Fotosentezi ve büyümeyi karşılaştırın.
    • Elektrikli arabalar ile hibrit arabaları karşılaştırın.
  • Zor Görevler (Maksimum Düşünme Kapasitesi): Gerçekten karmaşık zorluklar için yapay zekanın tüm akıl yürütme ve planlama özelliklerini kullanması gerekir. Bu da genellikle yanıt vermeden önce birçok dahili adımı içerir. Örnekler:
    • AIME 2025'teki 1. problemi çöz: 17b, 97b'nin böleni olan 9'dan büyük tüm tam sayı tabanlarının toplamını bulun.
    • Kullanıcı kimlik doğrulaması da dahil olmak üzere borsa verilerini anlık olarak görselleştiren bir web uygulaması için Python kodu yazın. Mümkün olduğunca verimli hale getirin.

Sırada ne var?