Bağlamı önbelleğe alma

Tipik bir yapay zeka iş akışında, aynı giriş jetonlarını bir modele tekrar tekrar iletebilirsiniz. Gemini API iki farklı önbelleğe alma mekanizması sunar:

  • Örtülü önbelleğe alma (Gemini 2.5 modellerinde otomatik olarak etkinleştirilir, maliyet tasarrufu garantisi yoktur)
  • Açık önbelleğe alma (Çoğu modelde manuel olarak etkinleştirilebilir, maliyet tasarrufu garantisi)

Açık önbelleğe alma, maliyet tasarrufu sağlamak istediğiniz ancak biraz daha fazla geliştirici çalışması yapmanız gereken durumlarda faydalıdır.

Örtülü önbelleğe alma

Örtülü önbelleğe alma, tüm Gemini 2.5 modellerinde varsayılan olarak etkindir. İsteğiniz önbelleklere isabet ederse maliyet tasarruflarını otomatik olarak aktarırız. Bu özelliği etkinleştirmek için herhangi bir işlem yapmanız gerekmez. 8 Mayıs 2025 itibarıyla geçerlidir. Bağlam önbelleğe alma için minimum giriş jetonu sayısı 2.5 Flash'te 1.024, 2.5 Pro'da ise 4.096'dır.

Örtülü önbellek isabeti olasılığını artırmak için:

  • Büyük ve yaygın içerikleri isteminizin başına koymayı deneyin.
  • Kısa süre içinde benzer öneklere sahip istekler göndermeye çalışıyorsunuz.

Yanıt nesnesinin usage_metadata alanında, önbellek isabeti olan jetonların sayısını görebilirsiniz.

Açık önbelleğe alma

Gemini API'nin açık önbelleğe alma özelliğini kullanarak bazı içerikleri modele bir kez iletebilir, giriş jetonlarını önbelleğe alabilir ve ardından sonraki istekler için önbelleğe alınan jetonlara başvurabilirsiniz. Belirli hacimlerde, önbelleğe alınmış jetonları kullanmak, aynı jeton gövdesini tekrar tekrar iletmeye kıyasla daha düşük maliyetlidir.

Bir dizi jetonu önbelleğe aldığınızda, jetonlar otomatik olarak silinmeden önce önbelleğin ne kadar süre boyunca var olmasını istediğinizi seçebilirsiniz. Bu önbelleğe alma süresine geçerlilik süresi (TTL) adı verilir. Ayarlanmazsa TTL varsayılan olarak 1 saat olur. Önbelleğe alma maliyeti, giriş jetonunun boyutuna ve jetonların ne kadar süreyle kalıcı olmasını istediğinize bağlıdır.

Bu bölümde, bir Gemini SDK'sını yüklediğiniz (veya curl'ü yüklediğiniz) ve hızlı başlangıç bölümünde gösterildiği gibi bir API anahtarı yapılandırdığınız varsayılır.

OpenAI kitaplığını kullanarak açık önbelleğe alma

OpenAI kitaplığı kullanıyorsanız extra_body üzerinde cached_content özelliğini kullanarak açık önbelleğe almayı etkinleştirebilirsiniz.

Açık önbelleğe alma ne zaman kullanılır?

Bağlamı önbelleğe alma, özellikle kısa istekler tarafından tekrar tekrar başvurulan önemli bir ilk bağlamın olduğu senaryolar için uygundur. Aşağıdaki gibi kullanım alanlarında bağlamı önbelleğe alma özelliğini kullanabilirsiniz:

  • Kapsamlı sistem talimatları içeren chatbot'lar
  • Uzun video dosyalarının tekrar tekrar analiz edilmesi
  • Büyük doküman kümelerine karşı yinelenen sorgular
  • Sık kod deposu analizi veya hata düzeltme

Açık önbelleğe alma maliyetleri nasıl azaltır?

Bağlam önbelleğe alma, genel işletme maliyetlerini azaltmak için tasarlanmış ücretli bir özelliktir. Faturalandırma aşağıdaki faktörlere göre yapılır:

  1. Önbelleğe alınan jeton sayısı: Önbelleğe alınan giriş jetonlarının sayısı. Bu jetonlar, sonraki istemlere dahil edildiğinde daha düşük bir ücretle faturalandırılır.
  2. Depolama süresi: Önbelleğe alınan jetonların depolandığı süre (TTL), önbelleğe alınan jeton sayısının TTL süresine göre faturalandırılır. TTL için minimum veya maksimum sınır yoktur.
  3. Diğer faktörler: Giriş ve çıkış jetonları gibi önbelleğe alınmamış jetonlar için diğer ücretler geçerlidir.

En güncel fiyatlandırma ayrıntıları için Gemini API fiyatlandırma sayfasını inceleyin. Jetonları nasıl sayacağınızı öğrenmek için Jeton kılavuzuna bakın.

Göz önünde bulundurulacak diğer noktalar

Bağlamı önbelleğe alma özelliğini kullanırken aşağıdaki hususları göz önünde bulundurun:

  • Bağlam önbelleğe alma için minimum giriş jetonu sayısı 2.5 Flash için 1.024, 2.5 Pro için 2.048'dir. Maksimum, söz konusu model için maksimum değerle aynıdır. (Jeton sayımı hakkında daha fazla bilgi için Jeton kılavuzu başlıklı makaleyi inceleyin.)
  • Model, önbelleğe alınmış jetonlar ile normal giriş jetonları arasında herhangi bir ayrım yapmaz. Önbelleğe alınmış içerik, istemin ön ekidir.
  • Bağlam önbelleğe alma konusunda özel bir oran veya kullanım sınırı yoktur. GenerateContent için standart oran sınırları geçerlidir ve jeton sınırlarına önbelleğe alınmış jetonlar da dahildir.
  • Önbelleğe alınan jeton sayısı, önbellek hizmetinin oluşturma, alma ve listeleme işlemlerinden usage_metadata içinde, önbellek kullanılırken de GenerateContent içinde döndürülür.