ফ্লেক্স ইনফারেন্স
জেমিনি ফ্লেক্স এপিআই হলো একটি ইনফারেন্স টিয়ার যা ভ্যারিয়েবল ল্যাটেন্সি এবং বেস্ট-এফোর্ট অ্যাভেইলেবিলিটির বিনিময়ে স্ট্যান্ডার্ড রেটের তুলনায় ৫০% খরচ হ্রাস করে। এটি এমন ল্যাটেন্সি-সহনশীল ওয়ার্কলোডের জন্য ডিজাইন করা হয়েছে যেগুলোর সিনক্রোনাস প্রসেসিং প্রয়োজন, কিন্তু স্ট্যান্ডার্ড এপিআই-এর রিয়েল-টাইম পারফরম্যান্সের দরকার নেই।
Flex কীভাবে ব্যবহার করবেন
Flex টিয়ার ব্যবহার করতে, আপনার অনুরোধে service_tier হিসেবে flex উল্লেখ করুন। এই ফিল্ডটি উল্লেখ না করা হলে, ডিফল্টরূপে অনুরোধগুলি স্ট্যান্ডার্ড টিয়ার ব্যবহার করে।
পাইথন
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}")
জাভাস্ক্রিপ্ট
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();
বিশ্রাম
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 inference ট্র্যাফিক আপনার সাধারণ রেট লিমিটের অন্তর্ভুক্ত হয়; এটি Batch API-এর মতো বর্ধিত রেট লিমিট প্রদান করে না।
শেডযোগ্য ক্ষমতা
ফ্লেক্স ট্র্যাফিককে কম অগ্রাধিকার দেওয়া হয়। যদি স্ট্যান্ডার্ড ট্র্যাফিক হঠাৎ বেড়ে যায়, তাহলে উচ্চ-অগ্রাধিকারপ্রাপ্ত ব্যবহারকারীদের জন্য জায়গা নিশ্চিত করতে ফ্লেক্স অনুরোধগুলি বাতিল বা সরিয়ে দেওয়া হতে পারে। আপনি যদি উচ্চ-অগ্রাধিকার ইনফারেন্স খুঁজছেন, তাহলে 'প্রায়োরিটি ইনফারেন্স' দেখুন।
ত্রুটি কোড
যখন ফ্লেক্স ক্যাপাসিটি অনুপলব্ধ থাকে বা সিস্টেমে অতিরিক্ত চাপ থাকে, তখন API স্ট্যান্ডার্ড এরর কোডগুলো রিটার্ন করবে:
- ৫০৩ পরিষেবা অনুপলব্ধ : সিস্টেমটি বর্তমানে তার ধারণক্ষমতায় পূর্ণ।
- 429 অতিরিক্ত অনুরোধ : হারের সীমা বা সম্পদের নিঃশেষ।
ক্লায়েন্টের দায়িত্ব
- সার্ভার-সাইড ফলব্যাকের ব্যবস্থা নেই : অপ্রত্যাশিত চার্জ এড়ানোর জন্য, ফ্লেক্স ক্যাপাসিটি পূর্ণ হয়ে গেলে সিস্টেম কোনো ফ্লেক্স রিকোয়েস্টকে স্বয়ংক্রিয়ভাবে স্ট্যান্ডার্ড টায়ারে আপগ্রেড করবে না।
- পুনরায় চেষ্টা : আপনাকে অবশ্যই এক্সপোনেনশিয়াল ব্যাকঅফ সহ আপনার নিজস্ব ক্লায়েন্ট-সাইড রিট্রাই লজিক প্রয়োগ করতে হবে।
- টাইমআউট : যেহেতু Flex রিকোয়েস্টগুলো একটি কিউ-তে থাকতে পারে, তাই সংযোগ অকালে বন্ধ হয়ে যাওয়া এড়াতে আমরা ক্লায়েন্ট-সাইড টাইমআউট ১০ মিনিট বা তার বেশি করার পরামর্শ দিই।
টাইমআউট উইন্ডো সামঞ্জস্য করুন
আপনি REST API এবং ক্লায়েন্ট লাইব্রেরিগুলির জন্য প্রতি-অনুরোধ টাইমআউট কনফিগার করতে পারেন। সর্বদা নিশ্চিত করুন যে আপনার ক্লায়েন্ট-সাইড টাইমআউট সার্ভারের উদ্দিষ্ট ধৈর্যের সময়সীমাকে (যেমন, Flex ওয়েট কিউ-এর জন্য ৬০০ সেকেন্ড বা তার বেশি) অন্তর্ভুক্ত করে। SDK-গুলি মিলিসেকেন্ডে টাইমআউটের মান আশা করে।
প্রতি-অনুরোধ টাইমআউট
পাইথন
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}")
জাভাস্ক্রিপ্ট
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();
পুনরায় চেষ্টা বাস্তবায়ন করুন
যেহেতু Flex শেড করা যায় এবং 503 এরর দিয়ে ব্যর্থ হয়, তাই ব্যর্থ রিকোয়েস্টগুলো চালিয়ে যাওয়ার জন্য ঐচ্ছিকভাবে রিট্রাই লজিক প্রয়োগ করার একটি উদাহরণ এখানে দেওয়া হলো:
পাইথন
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)
জাভাস্ক্রিপ্ট
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();
মূল্য নির্ধারণ
ফ্লেক্স ইনফারেন্সের মূল্য স্ট্যান্ডার্ড এপিআই- এর ৫০% এবং এটি টোকেন প্রতি বিল করা হয়।
সমর্থিত মডেল
নিম্নলিখিত মডেলগুলি Flex ইনফারেন্স সমর্থন করে:
| মডেল | ফ্লেক্স ইনফারেন্স |
|---|---|
| জেমিনি ৩.১ ফ্ল্যাশ-লাইট | ✔️ |
| জেমিনি ৩.১ ফ্ল্যাশ-লাইট প্রিভিউ | ✔️ |
| জেমিনি ৩.১ প্রো প্রিভিউ | ✔️ |
| জেমিনি ৩ ফ্ল্যাশ প্রিভিউ | ✔️ |
| জেমিনি ২.৫ প্রো | ✔️ |
| জেমিনি ২.৫ ফ্ল্যাশ | ✔️ |
| জেমিনি ২.৫ ফ্ল্যাশ-লাইট | ✔️ |
এরপর কী?
- অত্যন্ত কম লেটেন্সির জন্য প্রায়োরিটি ইনফারেন্স ।
- টোকেন : টোকেন সম্পর্কে জানুন।