الاستنتاج المرن

واجهة برمجة التطبيقات Gemini Flex API هي طبقة استنتاج تقدّم خصمًا بنسبة% 50 مقارنةً بالأسعار العادية، مقابل وقت استجابة متغيّر وتوفّر بأفضل جهد. تم تصميمها لأحمال العمل التي تتحمّل وقت الاستجابة والتي تتطلّب معالجة متزامنة ولكنّها لا تحتاج إلى الأداء في الوقت الفعلي الذي توفّره واجهة برمجة التطبيقات العادية.

كيفية استخدام Flex

لاستخدام طبقة Flex، حدِّد service_tier على أنّه flex في طلبك. تستخدم الطلبات تلقائيًا الطبقة العادية إذا تم حذف هذا الحقل.

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="Analyze this dataset for trends...",
    service_tier='flex'
)
print(interaction.output_text)

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

async function main() {
    const interaction = await client.interactions.create({
        model: 'gemini-3.8-flash',
        input: 'Analyze this dataset for trends...',
        service_tier: 'flex'
    });
    console.log(interaction.output_text);
}
await main();

جافا

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ServiceTier;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Process this batch job using Flex Tier."))
        .serviceTier(ServiceTier.FLEX)
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

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.8-flash",
      "input": "Analyze this dataset for trends...",
      "service_tier": "flex"
  }'

كيفية عمل الاستنتاج المرن

يسدّ الاستنتاج المرن الفجوة بين واجهة برمجة التطبيقات العادية ومدة المعالجة التي تبلغ 24 ساعة في واجهة برمجة التطبيقات المجمّعة. ويستخدِم قدرة الحوسبة "القابلة للتخفيض" في أوقات انخفاض الطلب لتوفير حلّ فعّال من حيث التكلفة للمهام في الخلفية وسير العمل المتسلسل.

الميزة التعبير الأولوية خطة "الرزمة العادية" مجمّعة
الأسعار خصم% 50 أعلى بنسبة %75 إلى %100 من الخطة "العادية" السعر الكامل خصم% 50
وقت الاستجابة دقائق (من دقيقة واحدة إلى 15 دقيقة كحدّ أقصى) منخفض (ثوانٍ) من ثوانٍ إلى دقائق ما يصل إلى 24 ساعة
الموثوقية بأفضل جهد (قابلة للتخفيض) عالية (غير قابلة للتخفيض) عالية / متوسطة إلى عالية عالية (بالنسبة إلى معدّل نقل البيانات)
الواجهة متزامن متزامن متزامن غير متزامن

المزايا الرئيسية

  • فعالية التكلفة: وفورات كبيرة لعمليات التقييم غير الإنتاجية والوكلاء في الخلفية وإثراء البيانات.
  • سهولة الاستخدام: ما عليك سوى إضافة مَعلمة واحدة إلى طلباتك الحالية.
  • سير العمل المتزامن: مثالي لسلاسل واجهات برمجة التطبيقات المتسلسلة حيث يعتمد الطلب التالي على ناتج الطلب السابق، ما يجعله أكثر مرونة من واجهة برمجة التطبيقات المجمّعة لسير عمل الوكلاء.

حالات الاستخدام

  • التقييمات بلا إنترنت: إجراء اختبارات الانحدار أو لوحات الصدارة "للنموذج اللغوي الكبير كحكم".
  • الوكلاء في الخلفية: مهام متسلسلة مثل تعديلات نظام إدارة علاقات العملاء أو إنشاء الملفات الشخصية أو الإشراف على المحتوى حيث تكون دقائق التأخير مقبولة.
  • الأبحاث المقيّدة بالميزانية: التجارب الأكاديمية التي تتطلّب حجمًا كبيرًا من الرموز المميّزة بميزانية محدودة.

حدود معدّل الاستخدام

يتم احتساب عدد الزيارات الناتجة عن الاستنتاج المرن ضمن حدود معدّل الاستخدام العامة، ولا يقدّم حدود معدّل استخدام ممتدة مثل واجهة برمجة التطبيقات المجمّعة.

القدرة القابلة للتخفيض

يتم التعامل مع عدد الزيارات الناتجة عن Flex بأولوية أقل. في حال حدوث ارتفاع في عدد الزيارات العادية، قد يتم إيقاف طلبات Flex أو إزالتها لضمان توفّر القدرة للمستخدمين ذوي الأولوية العالية. إذا كنت تبحث عن استنتاج ذي أولوية عالية، اطّلِع على الاستنتاج ذي الأولوية

رموز الخطأ

عندما تكون قدرة Flex غير متاحة أو يكون النظام مزدحمًا، ستعرض واجهة برمجة التطبيقات رموز الخطأ العادية:

  • ‫503 الخدمة غير متاحة: يتلقّى النظام عدد طلبات كبير جدًا في الوقت الحالي.
  • 429 Too Many Requests: حدود معدّل الاستخدام أو استنفاد الموارد.

مسؤولية العميل

  • لا يوجد حلّ احتياطي من جهة الخادم: لمنع حدوث رسوم غير متوقّعة، لن يرقّي النظام تلقائيًا طلب Flex إلى الطبقة العادية إذا كانت قدرة Flex ممتلئة.
  • إعادة المحاولة: عليك تنفيذ منطق إعادة المحاولة من جهة العميل باستخدام خوارزمية الرقود الأسي الثنائي.
  • مهلات الانتظار: بما أنّ طلبات Flex قد تبقى في قائمة الانتظار، ننصحك بـ زيادة مهلات الانتظار من جهة العميل إلى 10 دقائق أو أكثر لتجنُّب إغلاق الاتصال قبل الأوان.

تعديل فترات مهلة الانتظار

يمكنك ضبط مهلات الانتظار لكل طلب لواجهة برمجة تطبيقات REST ومكتبات العميل. احرص دائمًا على أن تغطي مهلة الانتظار من جهة العميل فترة الانتظار المقصودة من جهة الخادم (على سبيل المثال، 600 ثانية أو أكثر لقوائم انتظار Flex). تتوقّع حِزم تطوير البرامج (SDK) قيم مهلة الانتظار بالملّي ثانية.

مهلات الانتظار لكل طلب

Python

from google import genai

client = genai.Client(http_options={"timeout": 900000})

interaction = client.interactions.create(
    model="gemini-3.8-flash",
    input="why is the sky blue?",
    service_tier="flex",
)

JavaScript

import { GoogleGenAI } from '@google/genai';

const client = new GoogleGenAI({});

async function main() {
    const interaction = await client.interactions.create({
        model: "gemini-3.8-flash",
        input: "why is the sky blue?",
        service_tier: "flex",
    }, {timeout: 900000});
}

await main();

جافا

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ServiceTier;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Process this batch job using Flex Tier."))
        .serviceTier(ServiceTier.FLEX)
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

تنفيذ عمليات إعادة المحاولة

بما أنّ Flex قابل للتخفيض ويتعذّر إرسال طلباته مع ظهور أخطاء 503، إليك مثال على تنفيذ منطق إعادة المحاولة اختياريًا لمتابعة الطلبات التي تعذّر إرسالها:

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.8-flash",
                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:
                print("Flex exhausted, falling back to Standard...")
                return client.interactions.create(
                    model="gemini-3.8-flash",
                    input="Analyze this batch statement."
                )

interaction = call_with_retry()
print(interaction.output_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.8-flash",
        input: "Analyze this batch statement.",
        service_tier: '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.8-flash",
          input: "Analyze this batch statement.",
        });
      }
    }
  }
}

async function main() {
    const interaction = await callWithRetry();
    console.log(interaction.output_text);
}

await main();

جافا

import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.ServiceTier;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;

Client client = new Client();

CreateModelInteraction params =
    CreateModelInteraction.builder()
        .model(Model.of("gemini-3.8-flash"))
        .input(InteractionsInput.of("Process this batch job using Flex Tier."))
        .serviceTier(ServiceTier.FLEX)
        .build();

Interaction interaction =
    client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();

System.out.println(interaction.outputText().orElse(""));

الأسعار

يتم تسعير الاستنتاج المرن بنسبة% 50 من واجهة برمجة التطبيقات العادية ويتم تحصيل الرسوم لكل رمز مميّز.

النماذج المتوافقة

تتوافق النماذج التالية مع الاستنتاج المرن:

الطراز الاستنتاج المرن
Gemini 3.8 Flash ✔️
Gemini 3.7 Flash ✔️
Gemini 3.6 Flash ✔️
Gemini 3.5 Flash-Lite ✔️
Gemini 3.5 Flash ✔️
Gemini 3.1 Flash-Lite ✔️
Gemini 3.1 Pro Preview ✔️
Gemini 3 Flash Preview ✔️
Gemini 2.5 Pro ✔️
Gemini 2.5 Flash ✔️
Gemini 2.5 Flash-Lite ✔️

الخطوات التالية