Flex çıkarımı
Gemini Flex API, değişken gecikme süresi ve en iyi çaba ile kullanılabilirlik karşılığında standart ücretlere kıyasla% 50 maliyet düşüşü sunan bir çıkarım katmanıdır. Bu API, eşzamanlı işlem gerektiren ancak standart API'nin gerçek zamanlı performansına ihtiyaç duymayan, gecikmeye toleranslı iş yükleri için tasarlanmıştır.
Flex nasıl kullanılır?
Esnek katmanı kullanmak için isteğinizde service_tier değerini flex olarak belirtin. Varsayılan olarak, bu alan atlanırsa isteklerde standart katman kullanılır.
Python
from google import genai
client = genai.Client()
try:
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="Analyze this dataset for trends...",
service_tier='flex'
)
print(interaction.steps[-1].content[0].text)
except Exception as e:
print(f"Flex request failed: {e}")
JavaScript
import { GoogleGenAI } from '@google/genai';
const client = new GoogleGenAI({});
async function main() {
try {
const interaction = await client.interactions.create({
model: 'gemini-3-flash-preview',
input: 'Analyze this dataset for trends...',
serviceTier: 'flex'
});
console.log(interaction.steps.at(-1).content[0].text);
} catch (e) {
console.log(`Flex request failed: ${e}`);
}
}
await main();
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"model": "gemini-3-flash-preview",
"input": "Analyze this dataset for trends...",
"service_tier": "flex"
}'
Flex çıkarımının işleyiş şekli
Gemini Flex çıkarımı, standart API ile Toplu API'nin 24 saatlik yanıt süresi arasındaki boşluğu doldurur. Arka plan görevleri ve sıralı iş akışları için uygun maliyetli bir çözüm sunmak üzere yoğun olmayan zamanlardaki, "kullanılmayan" bilgi işlem kapasitesinden yararlanır.
| Özellik | Yaratıcılığınızı | Öncelik | Standart | Toplu |
|---|---|---|---|---|
| Fiyatlandırma | %50 indirim | Standart'tan% 75-100 daha fazla | Tam fiyat | %50 indirim |
| Gecikme | Dakikalar (1-15 dakika hedef) | Düşük (saniye) | Saniyelerden dakikalara | En fazla 24 saat |
| Güvenilirlik | En iyi sonuç (Sheddable) | Yüksek (tüy dökmeyen) | Yüksek / Biraz yüksek | Yüksek (işleme hızı için) |
| Arayüz | Senkronize | Senkronize | Senkronize | Eşzamansız |
Temel avantajlar
- Maliyet verimliliği: Üretim dışı değerlendirmeler, arka plan aracıları ve veri zenginleştirme için önemli ölçüde tasarruf sağlar.
- Kolaylık: Mevcut isteklerinize tek bir parametre eklemeniz yeterlidir.
- Eşzamanlı iş akışları: Bir sonraki isteğin bir öncekinin çıkışına bağlı olduğu sıralı API zincirleri için idealdir. Bu nedenle, aracı iş akışları için toplu iş akışlarından daha esnektir.
Kullanım alanları
- Çevrimdışı değerlendirmeler: "LLM-as-a-judge" regresyon testleri veya skor tabloları çalıştırma.
- Arka plan aracıları: CRM güncellemeleri, profil oluşturma veya içerik denetleme gibi sıralı görevlerde birkaç dakikalık gecikme kabul edilebilir.
- Bütçe kısıtlamalı araştırma: Sınırlı bir bütçeyle yüksek jeton hacmi gerektiren akademik deneyler.
Hız sınırları
Esnek çıkarım trafiği, genel hız sınırlarınıza dahil edilir. Toplu İşlem API'si gibi genişletilmiş hız sınırları sunmaz.
Sökülebilir kapasite
Esnek trafik daha düşük öncelikli olarak değerlendirilir. Standart trafikte ani bir artış olursa yüksek öncelikli kullanıcılar için kapasite sağlamak amacıyla esnek istekler öncelikli olarak işlenebilir veya çıkarılabilir. Yüksek öncelikli çıkarım arıyorsanız Öncelikli çıkarım bölümüne bakın.
Hata kodları
Esnek kapasite kullanılamadığında veya sistemde yoğunluk olduğunda API, standart hata kodlarını döndürür:
- 503 Hizmet Kullanılamıyor: Sistem şu anda kapasitesinin üzerinde çalışıyor.
- 429 Çok Fazla İstek Var: Sıklık sınırları veya kaynak tükenmesi.
Müşterinin sorumluluğu
- Sunucu tarafında yedekleme yok: Beklenmedik ücretleri önlemek için Flex kapasitesi doluysa sistem, Flex isteğini otomatik olarak Standart katmana yükseltmez.
- Yeniden denemeler: Eksponansiyel geri yükleme ile kendi istemci tarafı yeniden deneme mantığınızı uygulamanız gerekir.
- Zaman aşımları: Esnek istekler bir kuyrukta bekleyebileceğinden, bağlantının erken kapatılmasını önlemek için istemci tarafı zaman aşımlarını 10 dakika veya daha fazla olacak şekilde artırmanızı öneririz.
Zaman aşımı aralıklarını ayarlama
REST API ve istemci kitaplıkları için istek başına zaman aşımlarını yapılandırabilirsiniz. İstemci tarafı zaman aşımınızın her zaman amaçlanan sunucu bekleme süresini (ör. Flex bekleme sıraları için 600 saniye ve üzeri) kapsadığından emin olun. SDK'lar, zaman aşımı değerlerini milisaniye cinsinden bekler.
İstek başına zaman aşımı
Python
from google import genai
client = genai.Client()
try:
interaction = client.interactions.create(
model="gemini-3-flash-preview",
input="why is the sky blue?",
service_tier="flex",
http_options={"timeout": 900000}
)
except Exception as e:
print(f"Flex request failed: {e}")
JavaScript
import { GoogleGenAI } from '@google/genai';
const client = new GoogleGenAI({});
async function main() {
try {
const interaction = await client.interactions.create({
model: "gemini-3-flash-preview",
input: "why is the sky blue?",
serviceTier: "flex",
httpOptions: {timeout: 900000}
});
} catch (e) {
console.log(`Flex request failed: ${e}`);
}
}
await main();
Yeniden denemeleri uygulama
Flex, ayrılabilir olduğundan ve 503 hatalarıyla başarısız olduğundan, başarısız isteklerle devam etmek için isteğe bağlı olarak yeniden deneme mantığı uygulama örneğini aşağıda bulabilirsiniz:
Python
import time
from google import genai
client = genai.Client()
def call_with_retry(max_retries=3, base_delay=5):
for attempt in range(max_retries):
try:
return client.interactions.create(
model="gemini-3-flash-preview",
input="Analyze this batch statement.",
service_tier="flex",
)
except Exception as e:
if attempt < max_retries - 1:
delay = base_delay * (2 ** attempt) # Exponential Backoff
print(f"Flex busy, retrying in {delay}s...")
time.sleep(delay)
else:
# Fallback to standard on last strike (Optional)
print("Flex exhausted, falling back to Standard...")
return client.interactions.create(
model="gemini-3-flash-preview",
input="Analyze this batch statement."
)
# Usage
interaction = call_with_retry()
print(interaction.steps[-1].content[0].text)
JavaScript
import { GoogleGenAI } from '@google/genai';
const ai = new GoogleGenAI({});
async function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function callWithRetry(maxRetries = 3, baseDelay = 5) {
for (let attempt = 0; attempt < maxRetries; attempt++) {
try {
console.log(`Attempt ${attempt + 1}: Calling Flex tier...`);
const interaction = await ai.interactions.create({
model: "gemini-3-flash-preview",
input: "Analyze this batch statement.",
serviceTier: 'flex',
});
return interaction;
} catch (e) {
if (attempt < maxRetries - 1) {
const delay = baseDelay * (2 ** attempt);
console.log(`Flex busy, retrying in ${delay}s...`);
await sleep(delay * 1000);
} else {
console.log("Flex exhausted, falling back to Standard...");
return await ai.interactions.create({
model: "gemini-3-flash-preview",
input: "Analyze this batch statement.",
});
}
}
}
}
async function main() {
const interaction = await callWithRetry();
console.log(interaction.steps.at(-1).content[0].text);
}
await main();
Fiyatlandırma
Esnek çıkarım, standart API fiyatının% 50'si üzerinden fiyatlandırılır ve jeton başına faturalandırılır.
Desteklenen modeller
Aşağıdaki modellerde Flex çıkarımı desteklenir:
| Model | Flex çıkarımı |
|---|---|
| Gemini 3.1 Flash-Lite | ✔️ |
| Gemini 3.1 Flash-Lite Önizlemesi | ✔️ |
| Gemini 3.1 Pro Önizlemesi | ✔️ |
| Gemini 3 Flash Önizlemesi | ✔️ |
| Gemini 2.5 Pro | ✔️ |
| Gemini 2.5 Flash | ✔️ |
| Gemini 2.5 Flash-Lite | ✔️ |
Sırada ne var?
- Ultra düşük gecikme için öncelikli çıkarım.
- Jetonlar: Jetonları anlayın.