Flex PayGo

‫Flex pay-as-you-go (Flex PayGo) היא אפשרות חסכונית לגישה למודלים של Gemini עבור עומסי עבודה לא קריטיים שיכולים להסתדר עם זמני תגובה ארוכים יותר והגבלות תעבורה גבוהות יותר. ב-Flex PayGo מקבלים 50% הנחה בהשוואה ל-Standard PayGo.

מתי כדאי להשתמש ב-Flex PayGo

‫Flex PayGo מתאים למשימות סינכרוניות, לא קריטיות, שלא רגישות לזמן או לעיכובים. הנה כמה תרחישים לדוגמה:

  • ניתוח אופליין של טקסט, מסמכים, תמונות, קובצי אודיו וקובצי וידאו

  • הערכת איכות המודלים

  • הוספת הערות ותיוג של נתונים

  • תרגום מסמכים

  • יצירת קטלוג מוצרים

מודלים ומיקומים נתמכים

המודלים הבאים של Gemini תומכים ב-Flex PayGo רק בנקודת הקצה global. ב-Flex PayGo אין תמיכה בנקודות קצה אזוריות או במספר אזורים.

מגבלת המטען הייעודי (payload) של הבקשה

בבקשות Flex PayGo יש מגבלה של 20MB על הגודל הכולל של המטען הייעודי (payload) בבקשות שבהן המטען הייעודי נכלל ישירות בגוף הבקשה. כדי לעבד קבצים גדולים יותר, צריך לציין בבקשה URI של Cloud Storage.

שימוש ב-Flex PayGo

כדי לשלוח בקשות ל-Gemini API באמצעות Flex PayGo, צריך לכלול את הכותרת X-Vertex-AI-LLM-Shared-Request-Type בבקשה. יש שתי דרכים להשתמש ב-Flex PayGo:

  • שימוש במכסת "הקצאת משאבים לפי התפוקה שנקבעה" (אם היא זמינה) ואז שימוש ב-Flex PayGo.

  • שימוש רק ב-Flex PayGo.

שימו לב שבקשות שמשתמשות ב-Flex PayGo צפויות להיות עם זמן אחזור ארוך יותר מאשר ב-Standard PayGo.

אפשר להגדיר את הזמן הקצוב לתפוגה של הבקשה ל-30 דקות לכל היותר.

שימוש ב-Flex PayGo כשברירת המחדל היא הקצאת משאבים לפי התפוקה שנקבעה

כדי לנצל את המכסה הזמינה של "הקצאת משאבים לפי התפוקה שנקבעה" לפני שמשתמשים ב-Flex PayGo, צריך לכלול את הכותרת X-Vertex-AI-LLM-Shared-Request-Type: flex בבקשות, כמו בדוגמאות הבאות.

Python

התקנה

pip install --upgrade google-genai

מידע נוסף זמין ב מאמרי העזרה של ה-SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

מאתחלים את לקוח ה-AI הגנרטיבי כדי להשתמש ב-Flex PayGo. אחרי שתבצעו את השלב הזה, לא תצטרכו לבצע שינויים נוספים בקוד כדי להשתמש ב-Gemini API באמצעות Flex PayGo באותו לקוח.

from google import genai
from google.genai.types import HttpOptions
client = genai.Client(
  vertexai=True, project='your_project_id', location='global',
  http_options=HttpOptions(
    api_version="v1",
      headers={
        "X-Vertex-AI-LLM-Shared-Request-Type": "flex"
      },
    # timeout = 600000  # Timeout in milliseconds
  )
)

REST

אחרי שמגדירים את הסביבה, אפשר להשתמש ב-REST כדי לבדוק פרומפט טקסטואלי. בדוגמה הבאה מוצגת שליחה של בקשה לנקודת הקצה של מודל בעל התוכן הדיגיטלי.

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫MODEL_ID: מזהה המודל שרוצים להפעיל בו את Flex PayGo. כאן מפורטים המודלים שתומכים ב-Flex PayGo.
  • PROMPT_TEXT: ההוראות בטקסט שצריך לכלול בהנחיה. JSON.
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "X-Server-Timeout: 600" \
  -H "X-Vertex-AI-LLM-Shared-Request-Type: flex" \
  "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID:generateContent" -d \
  $'{
      "contents": {
        "role": "model",
        "parts": { "text": "PROMPT_TEXT" }
    }
  }'

אתם אמורים לקבל תגובת JSON שדומה לזו:

‫
{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Response to sample request."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 3,
    "candidatesTokenCount": 900,
    "totalTokenCount": 1957,
    "trafficType": "ON_DEMAND_FLEX",
    "thoughtsTokenCount": 1054
  }
}
שימו לב לפרטים הבאים בכתובת ה-URL של הדוגמה הזו:
  • משתמשים בשיטה generateContent כדי לבקש שהתשובה תוחזר אחרי שהיא נוצרה במלואה. כדי להפחית את תפיסת זמן האחזור בקרב קהל אנושי, אפשר להעביר בסטרימינג את התשובה בזמן שהיא נוצרת באמצעות השיטה streamGenerateContent.
  • מזהה המודל הרב-אופני מופיע בסוף כתובת ה-URL לפני השיטה (לדוגמה, gemini-3.5-flash). יכול להיות שהדוגמה הזו תתמוך גם במודלים אחרים.
  • כשמשתמשים בנקודת קצה אזורית ל-API (לדוגמה, us-central1), האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד. המערכת מתעלמת מכל מיקום שמתנגש בנתיב המשאב.

שימוש ב-Flex PayGo בלבד

כדי להשתמש רק ב-Flex PayGo, צריך לכלול את הכותרות X-Vertex-AI-LLM-Request-Type: shared ו-X-Vertex-AI-LLM-Shared-Request-Type: flex בבקשות, כמו בדוגמאות הבאות.

Python

התקנה

pip install --upgrade google-genai

מידע נוסף מופיע ב מאמרי העזרה בנושא SDK.

מגדירים משתני סביבה כדי להשתמש ב-Google Gen AI SDK עם Vertex AI:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_ENTERPRISE=True

מאתחלים את לקוח ה-AI הגנרטיבי כדי להשתמש ב-Flex PayGo. אחרי שתבצעו את השלב הזה, לא תצטרכו לבצע שינויים נוספים בקוד כדי להשתמש ב-Gemini API באמצעות Flex PayGo באותו לקוח.

from google import genai
from google.genai.types import HttpOptions
client = genai.Client(
  vertexai=True, project='your_project_id', location='global',
  http_options=HttpOptions(
    api_version="v1",
      headers={
        "X-Vertex-AI-LLM-Request-Type": "shared",
        "X-Vertex-AI-LLM-Shared-Request-Type": "flex"
      },
    # timeout = 600000  # Timeout in milliseconds
  )
)

REST

לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫MODEL_ID: מזהה המודל שרוצים להפעיל בו את Flex PayGo. כאן מפורטים המודלים שתומכים ב-Flex PayGo.
  • ‫PROMPT_TEXT: הוראות הטקסט שרוצים לכלול בהנחיה. JSON.
curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -H "X-Server-Timeout: 600" \
  -H "X-Vertex-AI-LLM-Request-Type: shared" \
  -H "X-Vertex-AI-LLM-Shared-Request-Type: flex" \
  "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/MODEL_ID:generateContent" -d \
  $'{
      "contents": {
        "role": "model",
        "parts": { "text": "PROMPT_TEXT" }
    }
  }'

אתם אמורים לקבל תגובת JSON שדומה לזו:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Response to sample request."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 3,
    "candidatesTokenCount": 900,
    "totalTokenCount": 1957,
    "trafficType": "ON_DEMAND_FLEX",
    "thoughtsTokenCount": 1054
  }
}
שימו לב לפרטים הבאים בכתובת ה-URL של הדוגמה הזו:
  • משתמשים בשיטה generateContent כדי לבקש שהתשובה תוחזר אחרי שהיא נוצרה במלואה. כדי להפחית את תפיסת זמן האחזור בקרב קהל אנושי, אפשר להעביר בסטרימינג את התשובה בזמן שהיא נוצרת באמצעות השיטה streamGenerateContent.
  • המזהה של המודל המולטי-מודאלי נמצא בסוף כתובת ה-URL לפני ה-method (לדוגמה, gemini-3.5-flash). יכול להיות שהדוגמה הזו תומכת גם במודלים אחרים.
  • כשמשתמשים בנקודת קצה אזורית של API (לדוגמה, us-central1), האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד. המערכת מתעלמת מכל מיקום שמתנגש בנתיב המשאב.

אימות השימוש ב-Flex PayGo

כדי לבדוק אם הבקשה השתמשה ב-Flex PayGo, אפשר לעיין בסוג התנועה בתגובה, כמו בדוגמאות הבאות.

Python

כדי לבדוק אם נעשה שימוש ב-Flex PayGo בבקשה, אפשר לעיין בשדה traffic_type בתשובה. אם הבקשה שלכם עובדה באמצעות Flex PayGo, השדה traffic_type מוגדר לערך ON_DEMAND_FLEX.

sdk_http_response=HttpResponse(
  headers=
) candidates=[Candidate(
  avg_logprobs=-0.539712212302468,
  content=Content(
    parts=[
      Part(
        text="""Response to sample request.
        """
      ),
    ],
    role='model'
  ),
  finish_reason=<FinishReason.STOP: 'STOP'>
)] create_time=datetime.datetime(2025, 12, 3, 20, 32, 55, 916498, tzinfo=TzInfo(0)) model_version='gemini-2.5-flash' prompt_feedback=None response_id='response_id' usage_metadata=GenerateContentResponseUsageMetadata(
  candidates_token_count=1408,
  candidates_tokens_details=[
    ModalityTokenCount(
      modality=<MediaModality.TEXT: 'TEXT'>,
      token_count=1408
    ),
  ],
  prompt_token_count=5,
  prompt_tokens_details=[
    ModalityTokenCount(
      modality=<MediaModality.TEXT: 'TEXT'>,
      token_count=5
    ),
  ],
  thoughts_token_count=1356,
  total_token_count=2769,
  traffic_type=<TrafficType.ON_DEMAND_FLEX: 'ON_DEMAND_FLEX'>
) automatic_function_calling_history=[] parsed=None

REST

כדי לבדוק אם נעשה שימוש ב-Flex PayGo בבקשה, אפשר להשתמש בשדה trafficType בתשובה. אם הבקשה שלכם עובדה באמצעות Flex PayGo, השדה trafficType מוגדר לערך ON_DEMAND_FLEX.

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "Response to sample request."
          }
        ]
      },
      "finishReason": "STOP"
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 3,
    "candidatesTokenCount": 900,
    "totalTokenCount": 1957,
    "trafficType": "ON_DEMAND_FLEX",
    "thoughtsTokenCount": 1054
  }
}

מכסה נוספת ל-Flex PayGo

בנוסף למכסות הזמינות לבקשות ליצירת תוכן (כולל מכסת "הקצאת משאבים לפי התפוקה שנקבעה" לתנועה חורגת), בקשות שמשתמשות ב-Flex PayGo כפופות למכסה הבאה:

תיאור מספר השאילתות לדקה (QPM) לכל מודל בסיס בפרויקט
מכסת הבקשות לכל מודל בסיס בפרויקט שמשתמש ב-Flex PayGo 3000

המאמרים הבאים

משאב

מכסות ומגבלות שקשורות ספציפית ל-Agent Platform.

משאב

מכסות ומגבלות שקשורות לפלטפורמת הסוכנים, לא כולל מגבלות ספציפיות למוצרים.

סקירה כללית

מידע ולמידה על איך Google Cloud מגבילה את כמות המשאבים שאפשר להשתמש בהם בפרויקט בענן ב-Google Cloud, ואיך המכסות חלות על מגוון רחב של סוגי משאבים, כולל רכיבי חומרה, תוכנה ורשתות.