การอนุมานแบบยืดหยุ่น

Gemini Flex API เป็นระดับการอนุมานที่ช่วยลดค่าใช้จ่ายลง 50% เมื่อเทียบกับอัตรามาตรฐาน แลกกับการตอบสนองที่ผันแปรและพร้อมให้บริการอย่างเต็มที่ API นี้ออกแบบมาสำหรับภาระงานที่ยอมรับการตอบสนองที่ช้าได้ ซึ่งต้องมีการประมวลผลแบบซิงโครนัส แต่ไม่จำเป็นต้องมีประสิทธิภาพแบบเรียลไทม์เหมือน API มาตรฐาน

วิธีใช้ Flex

หากต้องการใช้ระดับ Flex ให้ระบุ service_tier เป็น flex ในคำขอ โดยค่าเริ่มต้น คำขอจะใช้ระดับมาตรฐานหากละเว้นช่องนี้

Python

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3.5-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.5-flash',
        input: 'Analyze this dataset for trends...',
        service_tier: 'flex'
    });
    console.log(interaction.output_text);
}
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.5-flash",
      "input": "Analyze this dataset for trends...",
      "service_tier": "flex"
  }'

วิธีการทำงานของการอนุมาน Flex

การอนุมาน Gemini Flex ช่วยลดช่องว่างระหว่าง API มาตรฐานกับ API แบบกลุ่มที่ใช้เวลาดำเนินการ 24 ชั่วโมง ของ Batch API โดยใช้ความสามารถในการประมวลผล "ที่ลดได้" ในช่วงเวลาที่ไม่ใช่ช่วงเวลาที่มีการใช้งานสูงสุด เพื่อมอบโซลูชันที่คุ้มค่าสำหรับงานเบื้องหลังและเวิร์กโฟลว์แบบลำดับ

ฟีเจอร์ Flex ลำดับความสำคัญ มาตรฐาน กลุ่ม
การกำหนดราคา ส่วนลด 50% มากกว่ามาตรฐาน 75-100% ราคาเต็ม ส่วนลด 50%
เวลาในการตอบสนอง นาที (เป้าหมาย 1-15 นาที) ต่ำ (วินาที) วินาทีถึงนาที สูงสุด 24 ชั่วโมง
ความเชื่อถือได้ อย่างเต็มที่ (ลดได้) สูง (ลดไม่ได้) สูง / สูงปานกลาง สูง (สำหรับปริมาณงาน)
อินเทอร์เฟซ แบบซิงโครนัส แบบซิงโครนัส แบบซิงโครนัส แบบอะซิงโครนัส

ประโยชน์สำคัญ

  • ความคุ้มค่า: ประหยัดค่าใช้จ่ายได้มากสำหรับการประเมินที่ไม่ใช่การใช้งานจริง, เอเจนต์เบื้องหลัง และการเพิ่มคุณค่าของข้อมูล
  • ความยุ่งยากต่ำ: เพียงเพิ่มพารามิเตอร์เดียวลงในคำขอที่มีอยู่
  • เวิร์กโฟลว์แบบซิงโครนัส: เหมาะอย่างยิ่งสำหรับเชน API แบบลำดับที่คำขอถัดไปขึ้นอยู่กับเอาต์พุตของคำขอก่อนหน้า ซึ่งทำให้มีความยืดหยุ่นมากกว่าแบบกลุ่มสำหรับเวิร์กโฟลว์แบบเอเจนต์

กรณีการใช้งาน

  • การประเมินแบบออฟไลน์: การทดสอบการถดถอยหรือลีดเดอร์บอร์ด "LLM-as-a-judge"
  • เอเจนต์เบื้องหลัง: งานแบบลำดับ เช่น การอัปเดต CRM, การสร้างโปรไฟล์ หรือการกลั่นกรองเนื้อหาที่ยอมรับความล่าช้าได้เป็นนาที
  • การวิจัยที่มีงบประมาณจำกัด: การทดลองทางวิชาการที่ต้องใช้โทเค็นจำนวนมากแต่มีงบประมาณจำกัด

ขีดจำกัดอัตรา

การเข้าชมการอนุมาน Flex จะนับรวมในขีดจำกัดอัตราทั่วไป โดยไม่ มีขีดจำกัดอัตราที่ขยายออกไปเหมือน Batch API

ความสามารถที่ลดได้

ระบบจะถือว่าการเข้าชม Flex มีลำดับความสำคัญต่ำกว่า หากมีการเข้าชมมาตรฐานเพิ่มขึ้นอย่างรวดเร็ว ระบบอาจขัดจังหวะหรือนำคำขอ Flex ออกเพื่อให้มีความสามารถสำหรับผู้ใช้ที่มีลำดับความสำคัญสูง หากต้องการการอนุมานที่มีลำดับความสำคัญสูง โปรดดู การอนุมานที่มีลำดับความสำคัญ

รหัสข้อผิดพลาด

เมื่อความสามารถ Flex ไม่พร้อมใช้งานหรือระบบมีการใช้งานหนาแน่น API จะแสดงรหัสข้อผิดพลาดมาตรฐานดังนี้

  • 503 ไม่พร้อมให้บริการ: ขณะนี้ระบบมีผู้ใช้เต็มแล้ว
  • 429 มีคำขอมากเกินไป: ขีดจำกัดอัตราหรือทรัพยากรหมด

ความรับผิดชอบของไคลเอ็นต์

  • ไม่มีการย้อนกลับฝั่งเซิร์ฟเวอร์: ระบบจะไม่ ยกระดับคำขอ Flex เป็นระดับมาตรฐานโดยอัตโนมัติหากความสามารถ Flex เต็ม เพื่อป้องกันการเรียกเก็บเงินที่ไม่คาดคิด
  • การลองซ้ำ: คุณต้องใช้ตรรกะการลองซ้ำฝั่งไคลเอ็นต์ของคุณเองด้วย Exponential Backoff
  • ระยะหมดเวลา: เนื่องจากคำขอ Flex อาจอยู่ในคิว เราจึงแนะนำให้ เพิ่มระยะหมดเวลาฝั่งไคลเอ็นต์เป็น 10 นาทีขึ้นไปเพื่อหลีกเลี่ยงการ ปิดการเชื่อมต่อก่อนเวลา

ปรับกรอบเวลาระยะหมดเวลา

คุณสามารถกำหนดค่าระยะหมดเวลาต่อคำขอสำหรับ REST API และไลบรารีของไคลเอ็นต์ได้ ตรวจสอบเสมอว่าระยะหมดเวลาฝั่งไคลเอ็นต์ครอบคลุมกรอบเวลาที่เซิร์ฟเวอร์รอได้ตามที่ต้องการ (เช่น 600 วินาทีขึ้นไปสำหรับคิวรอ Flex) SDK คาดหวังค่าระยะหมดเวลาเป็นมิลลิวินาที

ระยะหมดเวลาต่อคำขอ

Python

from google import genai

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

interaction = client.interactions.create(
    model="gemini-3.5-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.5-flash",
        input: "why is the sky blue?",
        service_tier: "flex",
    }, {timeout: 900000});
}

await main();

ใช้การลองซ้ำ

เนื่องจาก 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.5-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.5-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.5-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.5-flash",
          input: "Analyze this batch statement.",
        });
      }
    }
  }
}

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

await main();

การกำหนดราคา

การอนุมาน Flex มีราคาอยู่ที่ 50% ของ API มาตรฐาน และเรียกเก็บเงินต่อโทเค็น

โมเดลที่รองรับ

โมเดลต่อไปนี้รองรับการอนุมาน Flex

โมเดล การอนุมาน Flex
Gemini 3.5 Flash ✔️
Gemini 3.1 Flash-Lite ✔️
Gemini 3.1 Pro เวอร์ชันทดลอง ✔️
Gemini 3 Flash เวอร์ชันทดลอง ✔️
Gemini 2.5 Pro ✔️
Gemini 2.5 Flash ✔️
Gemini 2.5 Flash-Lite ✔️

ขั้นตอนถัดไป