Flex pay-as-you-go (Flex PayGo) היא אפשרות חסכונית לגישה למודלים של Gemini עבור עומסי עבודה לא קריטיים שיכולים להסתדר עם זמני תגובה ארוכים יותר והגבלות תעבורה גבוהות יותר. ב-Flex PayGo מקבלים 50% הנחה בהשוואה ל-Standard PayGo.
מתי כדאי להשתמש ב-Flex PayGo
Flex PayGo מתאים למשימות סינכרוניות, לא קריטיות, שלא רגישות לזמן או לעיכובים. הנה כמה תרחישים לדוגמה:
ניתוח אופליין של טקסט, מסמכים, תמונות, קובצי אודיו וקובצי וידאו
הערכת איכות המודלים
הוספת הערות ותיוג של נתונים
תרגום מסמכים
יצירת קטלוג מוצרים
מודלים ומיקומים נתמכים
המודלים הבאים של Gemini תומכים ב-Flex PayGo רק בנקודת הקצה global.
ב-Flex PayGo אין תמיכה בנקודות קצה אזוריות או במספר אזורים.
gemini-3.8-flash-cybergemini-3.8-flashgemini-3.7-flashgemini-3.6-flashgemini-3.5-flash-litegemini-3.1-flash-lite-imagegemini-3-pro-imagegemini-3.1-flash-imagegemini-3.5-flashgemini-3.1-flash-litegemini-3.1-pro-previewgemini-3-flash-preview
מגבלת המטען הייעודי (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
}
}
- משתמשים בשיטה
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
}
}
- משתמשים בשיטה
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 מגבילה את כמות המשאבים שאפשר להשתמש בהם בפרויקט בענן ב-Google Cloud, ואיך המכסות חלות על מגוון רחב של סוגי משאבים, כולל רכיבי חומרה, תוכנה ורשתות.