הבנת תמונות

אתם יכולים להוסיף תמונות לבקשות מ-Gemini כדי לבצע משימות שכוללות הבנה של התוכן בתמונות. בדף הזה נסביר איך להוסיף תמונות לבקשות ל-Gemini ב-Gemini Enterprise Agent Platform באמצעות מסוףGoogle Cloud ו-Agent Platform API.

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

בטבלה הבאה מפורטים המודלים שתומכים בהבנת תמונות:

מודלים פרטים על המדיה סוגי MIME

רשימת השפות שנתמכות במודלים של Gemini מופיעה במידע על המודלים מודלים של Google. מידע נוסף על עיצוב פרומפטים ל-multimodal אם אתם מחפשים דרך להשתמש ב-Gemini ישירות מהאפליקציות לנייד ומאפליקציות האינטרנט שלכם, כדאי לעיין בערכות ה-SDK של Firebase AI Logic ללקוחות עבור אפליקציות Swift,‏ Android,‏ Web,‏ Flutter ו-Unity.

הוספת תמונות לבקשה

אתם יכולים להוסיף לבקשה ל-Gemini תמונה אחת או כמה תמונות.

תמונה יחידה

בכל אחת מהכרטיסיות הבאות מופיע קוד לדוגמה שמציג דרך שונה לזיהוי התוכן בתמונה. הדוגמה הזו פועלת עם כל המודלים של Gemini multimodal.

המסוף

כדי לשלוח פרומפט מולטי-מודאלי באמצעות מסוף Google Cloud :

  1. בקטע Agent Platform במסוף Google Cloud , עוברים לדף Agent Studio.

    מעבר אל Agent Studio

  2. לוחצים על פתיחת צורה חופשית.

  3. אופציונלי: מגדירים את המודל והפרמטרים:

    • מודל: בוחרים מודל.
    • אזור: בוחרים את האזור שבו רוצים להשתמש.
    • טמפרטורה: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך לטמפרטורה.

      הטמפרטורה משמשת לדגימה במהלך יצירת התגובה, שמתרחשת כשמחילים את topP ואת topK. הטמפרטורה שולטת במידת האקראיות בבחירת האסימון. טמפרטורות נמוכות טובות להנחיות שדורשות תשובה פחות פתוחה או יצירתית, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. רמת אקראיות של 0 אומרת שתמיד נבחרים הטוקנים עם ההסתברות הכי גבוהה. במקרה כזה, התשובות להנחיה נתונה הן ברובן דטרמיניסטיות, אבל עדיין יכולות להיות וריאציות קלות.

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

      1.0 הוא הערך ההתחלתי המומלץ לרמת אקראיות.

    • מגבלת טוקנים בפלט: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך למגבלת הפלט המקסימלית.

      המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. טוקן הוא בערך ארבעה תווים. ‫100 טוקנים תואמים בערך ל-60 עד 80 מילים.

      כדי לקבל תשובות קצרות יותר, מציינים ערך נמוך יותר, וכדי לקבל תשובות ארוכות יותר, מציינים ערך גבוה יותר.

    • הוספת רצף עצירות: אופציונלי. מזינים רצף עצירה, שהוא סדרה של תווים שכוללת רווחים. אם המודל נתקל ברצף עצירה, תהליך יצירת התשובות נפסק. רצף העצירות לא נכלל בתגובה, ואפשר להוסיף עד חמישה רצפים של עצירות.

  4. אופציונלי: כדי להגדיר פרמטרים מתקדמים, לוחצים על מתקדם ומגדירים את הפרמטרים הבאים:

    לוחצים כדי להרחיב את ההגדרות המתקדמות

    • Top-K: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך ל-Top-K. (לא נתמך ב-Gemini 1.5).

      הפרמטר Top-K משנה את האופן שבו המודל בוחר אסימונים לפלט. ערך של 1 בפרמטר top-K אומר שהטוקן הבא שנבחר הוא הטוקן הסביר ביותר מבין כל הטוקנים באוצר המילים של המודל (נקרא גם פענוח חמדני), בעוד שערך של 3 אומר שהטוקן הבא נבחר מבין שלושת הטוקנים הסבירים ביותר באמצעות פרמטר רמת האקראיות.

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

      מציינים ערך נמוך יותר כדי לקבל תשובות פחות אקראיות, וערך גבוה יותר כדי לקבל תשובות יותר אקראיות.

    • Top-P: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך ל-Top-P. הטוקנים נבחרים מהסביר ביותר לסביר פחות עד שסכום ההסתברויות שלהם שווה לערך של top-P. כדי לקבל תוצאות עם הכי פחות שונות, מגדירים את top-P ל-0.
    • מספר מקסימלי של תשובות: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך למספר התשובות שרוצים ליצור.
    • הצגת התשובות כשהן מוכנות: אם מפעילים את ההגדרה הזו, התשובות יוצגו בזמן שהן נוצרות.
    • סף מסנן הבטיחות: בוחרים את הסף של הסבירות לקבלת תשובות שעלולות להיות מזיקות.
    • הפעלת Grounding: אין תמיכה ב-Grounding בהנחיות מולטימודאליות.

  5. לוחצים על הוספת מדיה ובוחרים מקור לקובץ.

    העלאה

    בוחרים את הקובץ שרוצים להעלות ולוחצים על פתיחה.

    לפי כתובת URL

    מזינים את כתובת ה-URL של הקובץ שבו רוצים להשתמש ולוחצים על הוספה.

    Cloud Storage

    בוחרים את הדלי ואז את הקובץ מהדלי שרוצים לייבא ולוחצים על בחירה.

    Google Drive

    1. בפעם הראשונה שבוחרים באפשרות הזו, צריך לבחור חשבון ולתת ל-Agent Studio הסכמה לגשת לחשבון. אפשר להעלות כמה קבצים בגודל כולל של עד 10MB. הגודל המקסימלי של כל קובץ הוא 7MB.
    2. לוחצים על הקובץ שרוצים להוסיף.
    3. לוחצים על בחירה.

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

  6. כותבים את הפרומפט הטקסטואלי בחלונית פרומפט.

  7. אופציונלי: כדי לראות את מזהה האסימון לטקסט ואת מזהי האסימונים, לוחצים על ספירת האסימונים בחלונית הנחיה.

  8. לוחצים על שליחה.

  9. אופציונלי: כדי לשמור את ההנחיה בההנחיות שלי, לוחצים על שמירה.

  10. אופציונלי: כדי לקבל את קוד Python או פקודת curl להנחיה, לוחצים על קבלת קוד.

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

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))
response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        "What is shown in this image?",
        Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/image/scones.jpg",
            mime_type="image/jpeg",
        ),
    ],
)
print(response.text)
# Example response:
# The image shows a flat lay of blueberry scones arranged on parchment paper. There are ...

Go

כאן מוסבר איך להתקין או לעדכן את Go.

מידע נוסף מופיע ב מאמרי העזרה בנושא 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

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithTextImage shows how to generate text using both text and image input
func generateWithTextImage(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.5-flash"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "What is shown in this image?"},
			{FileData: &genai.FileData{
				// Image source: https://storage.googleapis.com/cloud-samples-data/generative-ai/image/scones.jpg
				FileURI:  "gs://cloud-samples-data/generative-ai/image/scones.jpg",
				MIMEType: "image/jpeg",
			}},
		},
			Role: genai.RoleUser},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// The image shows an overhead shot of a rustic, artistic arrangement on a surface that ...

	return nil
}

Node.js

התקנה

npm install @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

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateContent(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const image = {
    fileData: {
      fileUri: 'gs://cloud-samples-data/generative-ai/image/scones.jpg',
      mimeType: 'image/jpeg',
    },
  };

  const response = await client.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: [image, 'What is shown in this image?'],
  });

  console.log(response.text);

  return response.text;
}

Java

כאן מוסבר איך להתקין או לעדכן את Java.

מידע נוסף מופיע ב מאמרי העזרה בנושא 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


import com.google.genai.Client;
import com.google.genai.types.Content;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import com.google.genai.types.Part;

public class TextGenerationWithTextAndImage {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    generateContent(modelId);
  }

  // Generates text with text and image input
  public static String generateContent(String modelId) {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      GenerateContentResponse response =
          client.models.generateContent(
              modelId,
              Content.fromParts(
                  Part.fromText("What is shown in this image?"),
                  Part.fromUri(
                      "gs://cloud-samples-data/generative-ai/image/scones.jpg", "image/jpeg")),
              null);

      System.out.print(response.text());
      // Example response:
      // The image shows a flat lay of blueberry scones arranged on parchment paper. There are ...
      return response.text();
    }
  }
}

REST

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

אפשר לכלול תמונות שמאוחסנות ב-Cloud Storage או להשתמש בנתוני תמונה שמקודדים ב-base64.

תמונה ב-Cloud Storage

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

  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫FILE_URI: ה-URI או כתובת ה-URL של הקובץ שרוצים לכלול בהנחיה. הערכים הקבילים כוללים את האפשרויות הבאות:
    • URI של קטגוריה ב-Cloud Storage: האובייקט צריך להיות ניתן לקריאה באופן ציבורי או להיות באותו פרויקט Google Cloud ששולח את הבקשה.
    • כתובת URL מסוג HTTP: כתובת ה-URL של הקובץ צריכה להיות ניתנת לקריאה על ידי כולם. אפשר לציין קובץ וידאו אחד, קובץ אודיו אחד ועד 10 קבצים של תמונות בכל בקשה. הגודל המקסימלי של קובצי אודיו, קובצי וידאו ומסמכים הוא 15 MB.
    • כתובת ה-URL של סרטון ב-YouTube: הסרטון ב-YouTube צריך להיות בבעלות החשבון שבו השתמשתם כדי להיכנס למסוף Google Cloud או להיות גלוי לכולם. אפשר לציין רק כתובת URL אחת של סרטון ב-YouTube לכל בקשה.

    כשמציינים fileURI, צריך לציין גם את סוג המדיה (mimeType) של הקובץ. אם VPC Service Controls מופעל, אי אפשר לציין כתובת URL של קובץ מדיה עבור fileURI.

    אם אין לכם קובץ תמונה ב-Cloud Storage, אתם יכולים להשתמש בקובץ הבא שזמין לציבור: gs://cloud-samples-data/generative-ai/image/scones.jpg עם סוג MIME של image/jpeg. כדי לראות את התמונה הזו, צריך לפתוח את קובץ התמונה לדוגמה.

  • ‫MIME_TYPE: סוג המדיה של הקובץ שצוין בשדות data או fileUri. הערכים הקבילים כוללים את האפשרויות הבאות:

    לחיצה להרחבת סוגי MIME

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • ‫TEXT: הוראות הטקסט שרוצים לכלול בהנחיה. לדוגמה: What is shown in this image?

כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content

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

נתוני תמונה בקידוד Base64

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

  • ‫LOCATION: האזור שבו תתבצע הבקשה. צריך להזין אזור נתמך. רשימת המיקומים הזמינים

    כאן אפשר לראות רשימה חלקית של האזורים הזמינים

    • us-central1
    • us-west4
    • northamerica-northeast1
    • us-east4
    • us-west1
    • asia-northeast3
    • asia-southeast1
    • asia-northeast1
  • ‫PROJECT_ID: מזהה הפרויקט. .
  • ‫
    B64_BASE_IMAGE
    קידוד base64 של התמונה, קובץ ה-PDF או הסרטון שרוצים לכלול בפרומפט. כשמצרפים מדיה בתוך השורה, צריך לציין גם את סוג המדיה (mimeType) של הנתונים.
  • ‫MIME_TYPE: סוג המדיה של הקובץ שצוין בשדות data או fileUri. הערכים הקבילים כוללים את האפשרויות הבאות:

    לחיצה להרחבת סוגי MIME

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
  • ‫TEXT: הוראות הטקסט שרוצים לכלול בהנחיה. לדוגמה: What is shown in this image?.

כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "inlineData": {
          "data": "B64_BASE_IMAGE",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
EOF

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "inlineData": {
          "data": "B64_BASE_IMAGE",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT"
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content

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

שימו לב לפרטים הבאים בכתובת ה-URL של הדוגמה הזו:
  • משתמשים בשיטה generateContent כדי לבקש שהתשובה תוחזר אחרי שהיא נוצרת במלואה. כדי לצמצם את תפיסת זמן האחזור בקרב קהל אנושי, אפשר להזרים את התשובה בזמן שהיא נוצרת באמצעות השיטה streamGenerateContent.
  • מזהה המודל הרב-אופני מופיע בסוף כתובת ה-URL לפני השיטה (לדוגמה, gemini-3.5-flash). יכול להיות שהדוגמה הזו תתמוך גם במודלים אחרים.
  • כשמשתמשים בנקודת קצה אזורית של API (לדוגמה, us-central1), האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד. המערכת מתעלמת מכל מיקום שמתנגש בנתיב המשאב.

כמה תמונות

בכל אחת מהכרטיסיות הבאות מוצגת דרך אחרת לכלול כמה תמונות בבקשת הנחיה. כל דוגמה מקבלת שתי קבוצות של הקלט הבא:

  • תמונה של ציון דרך פופולרי בעיר
  • סוג המדיה של התמונה
  • טקסט שמציין את העיר ואת נקודת הציון בתמונה

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

דוגמאות התמונות האלה פועלות עם כל המודלים של Gemini multimodal.

המסוף

כדי לשלוח פרומפט מולטי-מודאלי באמצעות מסוף Google Cloud :

  1. בקטע Agent Platform במסוף Google Cloud , עוברים לדף Agent Studio.

    מעבר אל Agent Studio

  2. לוחצים על פתיחת צורה חופשית.

  3. אופציונלי: מגדירים את המודל והפרמטרים:

    • מודל: בוחרים מודל.
    • אזור: בוחרים את האזור שבו רוצים להשתמש.
    • טמפרטורה: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך לטמפרטורה.

      הטמפרטורה משמשת לדגימה במהלך יצירת התגובה, שמתרחשת כשמחילים את topP ואת topK. הטמפרטורה שולטת במידת האקראיות בבחירת האסימון. טמפרטורות נמוכות טובות להנחיות שדורשות תשובה פחות פתוחה או יצירתית, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. רמת אקראיות של 0 אומרת שתמיד נבחרים הטוקנים עם ההסתברות הכי גבוהה. במקרה כזה, התשובות להנחיה נתונה הן ברובן דטרמיניסטיות, אבל עדיין יכולות להיות וריאציות קלות.

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

      1.0 הוא הערך ההתחלתי המומלץ לרמת אקראיות.

    • מגבלת טוקנים בפלט: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך למגבלת הפלט המקסימלית.

      המספר המקסימלי של טוקנים שאפשר ליצור בתשובה. טוקן הוא בערך ארבעה תווים. ‫100 טוקנים תואמים בערך ל-60 עד 80 מילים.

      כדי לקבל תשובות קצרות יותר, מציינים ערך נמוך יותר, וכדי לקבל תשובות ארוכות יותר, מציינים ערך גבוה יותר.

    • הוספת רצף עצירות: אופציונלי. מזינים רצף עצירה, שהוא סדרה של תווים שכוללת רווחים. אם המודל נתקל ברצף עצירה, תהליך יצירת התשובות נפסק. רצף העצירות לא נכלל בתגובה, ואפשר להוסיף עד חמישה רצפים של עצירות.

  4. אופציונלי: כדי להגדיר פרמטרים מתקדמים, לוחצים על מתקדם ומגדירים את הפרמטרים הבאים:

    לוחצים כדי להרחיב את ההגדרות המתקדמות

    • Top-K: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך ל-Top-K. (לא נתמך ב-Gemini 1.5).

      הפרמטר Top-K משנה את האופן שבו המודל בוחר אסימונים לפלט. ערך של 1 בפרמטר top-K אומר שהטוקן הבא שנבחר הוא הטוקן הסביר ביותר מבין כל הטוקנים באוצר המילים של המודל (נקרא גם פענוח חמדני), בעוד שערך של 3 אומר שהטוקן הבא נבחר מבין שלושת הטוקנים הסבירים ביותר באמצעות פרמטר רמת האקראיות.

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

      מציינים ערך נמוך יותר כדי לקבל תשובות פחות אקראיות, וערך גבוה יותר כדי לקבל תשובות יותר אקראיות.

    • Top-P: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך ל-Top-P. הטוקנים נבחרים מהסביר ביותר לסביר פחות עד שסכום ההסתברויות שלהם שווה לערך של top-P. כדי לקבל תוצאות עם הכי פחות שונות, מגדירים את top-P ל-0.
    • מספר מקסימלי של תשובות: משתמשים בפס ההזזה או בתיבת הטקסט כדי להזין ערך למספר התשובות שרוצים ליצור.
    • הצגת התשובות כשהן מוכנות: אם מפעילים את ההגדרה הזו, התשובות יוצגו בזמן שהן נוצרות.
    • סף מסנן הבטיחות: בוחרים את הסף של הסבירות לקבלת תשובות שעלולות להיות מזיקות.
    • הפעלת Grounding: אין תמיכה ב-Grounding בהנחיות מולטימודאליות.

  5. לוחצים על הוספת מדיה ובוחרים מקור לקובץ.

    העלאה

    בוחרים את הקובץ שרוצים להעלות ולוחצים על פתיחה.

    לפי כתובת URL

    מזינים את כתובת ה-URL של הקובץ שבו רוצים להשתמש ולוחצים על הוספה.

    Cloud Storage

    בוחרים את הדלי ואז את הקובץ מהדלי שרוצים לייבא ולוחצים על בחירה.

    Google Drive

    1. בפעם הראשונה שבוחרים באפשרות הזו, צריך לבחור חשבון ולתת ל-Agent Studio הסכמה לגשת לחשבון. אפשר להעלות כמה קבצים בגודל כולל של עד 10MB. הגודל המקסימלי של כל קובץ הוא 7MB.
    2. לוחצים על הקובץ שרוצים להוסיף.
    3. לוחצים על בחירה.

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

  6. כותבים את הפרומפט הטקסטואלי בחלונית פרומפט.

  7. אופציונלי: כדי לראות את מזהה האסימון לטקסט ואת מזהי האסימונים, לוחצים על ספירת האסימונים בחלונית הנחיה.

  8. לוחצים על שליחה.

  9. אופציונלי: כדי לשמור את ההנחיה בההנחיות שלי, לוחצים על שמירה.

  10. אופציונלי: כדי לקבל את קוד Python או פקודת curl להנחיה, לוחצים על קבלת קוד.

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

from google import genai
from google.genai.types import HttpOptions, Part

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Read content from GCS
gcs_file_img_path = "gs://cloud-samples-data/generative-ai/image/scones.jpg"

# Read content from a local file
with open("test_data/latte.jpg", "rb") as f:
    local_file_img_bytes = f.read()

response = client.models.generate_content(
    model="gemini-3.5-flash",
    contents=[
        "Generate a list of all the objects contained in both images.",
        Part.from_uri(file_uri=gcs_file_img_path, mime_type="image/jpeg"),
        Part.from_bytes(data=local_file_img_bytes, mime_type="image/jpeg"),
    ],
)
print(response.text)
# Example response:
# Okay, here's the list of objects present in both images:
# ...

Go

כאן מוסבר איך להתקין או לעדכן את Go.

מידע נוסף מופיע ב מאמרי העזרה בנושא 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

import (
	"context"
	"fmt"
	"io"
	"os"

	genai "google.golang.org/genai"
)

// generateWithMultiImg shows how to generate text using multiple image inputs.
func generateWithMultiImg(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	// TODO(Developer): Update the path to file (image source:
	//   https://storage.googleapis.com/cloud-samples-data/generative-ai/image/latte.jpg )
	imageBytes, err := os.ReadFile("./latte.jpg")
	if err != nil {
		return fmt.Errorf("failed to read image: %w", err)
	}

	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "Write an advertising jingle based on the items in both images."},
			{FileData: &genai.FileData{
				// Image source: https://storage.googleapis.com/cloud-samples-data/generative-ai/image/scones.jpg
				FileURI:  "gs://cloud-samples-data/generative-ai/image/scones.jpg",
				MIMEType: "image/jpeg",
			}},
			{InlineData: &genai.Blob{
				Data:     imageBytes,
				MIMEType: "image/jpeg",
			}},
		}},
	}
	modelName := "gemini-2.5-flash"

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, nil)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText := resp.Text()

	fmt.Fprintln(w, respText)

	// Example response:
	// Okay, here's an advertising jingle inspired by the blueberry scones, coffee, flowers, chocolate cake, and latte:
	//
	// (Upbeat, jazzy music)
	// ...

	return nil
}

Node.js

התקנה

npm install @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

const {GoogleGenAI} = require('@google/genai');

const GOOGLE_CLOUD_PROJECT = process.env.GOOGLE_CLOUD_PROJECT;
const GOOGLE_CLOUD_LOCATION = process.env.GOOGLE_CLOUD_LOCATION || 'global';

async function generateContent(
  projectId = GOOGLE_CLOUD_PROJECT,
  location = GOOGLE_CLOUD_LOCATION
) {
  const client = new GoogleGenAI({
    vertexai: true,
    project: projectId,
    location: location,
  });

  const image1 = {
    fileData: {
      fileUri: 'gs://cloud-samples-data/generative-ai/image/scones.jpg',
      mimeType: 'image/jpeg',
    },
  };

  const image2 = {
    fileData: {
      fileUri: 'gs://cloud-samples-data/generative-ai/image/fruit.png',
      mimeType: 'image/png',
    },
  };

  const response = await client.models.generateContent({
    model: 'gemini-2.5-flash',
    contents: [
      image1,
      image2,
      'Generate a list of all the objects contained in both images.',
    ],
  });

  console.log(response.text);

  return response.text;
}

Java

כאן מוסבר איך להתקין או לעדכן את Java.

מידע נוסף מופיע ב מאמרי העזרה בנושא 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


import com.google.genai.Client;
import com.google.genai.types.Content;
import com.google.genai.types.GenerateContentResponse;
import com.google.genai.types.HttpOptions;
import com.google.genai.types.Part;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class TextGenerationWithMultiImage {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String modelId = "gemini-2.5-flash";
    // Content from Google Cloud Storage
    String gcsFileImagePath = "gs://cloud-samples-data/generative-ai/image/scones.jpg";
    String localImageFilePath = "resources/latte.jpg";
    generateContent(modelId, gcsFileImagePath, localImageFilePath);
  }

  // Generates text with multiple images
  public static String generateContent(
      String modelId, String gcsFileImagePath, String localImageFilePath) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (Client client =
        Client.builder()
            .location("global")
            .vertexAI(true)
            .httpOptions(HttpOptions.builder().apiVersion("v1").build())
            .build()) {

      // Read content from a local file.
      byte[] localFileImgBytes = Files.readAllBytes(Paths.get(localImageFilePath));

      GenerateContentResponse response =
          client.models.generateContent(
              modelId,
              Content.fromParts(
                  Part.fromText("Generate a list of all the objects contained in both images"),
                  Part.fromBytes(localFileImgBytes, "image/jpeg"),
                  Part.fromUri(gcsFileImagePath, "image/jpeg")),
              null);

      System.out.print(response.text());
      // Example response:
      // Okay, here's the list of objects present in both images:
      //
      // **Image 1 (Scones):**
      //
      // *   Scones
      // *   Plate
      // *   Jam/Preserve
      // *   Cream/Butter
      // *   Table/Surface
      // *   Napkin/Cloth (possibly)
      //
      // **Image 2 (Latte):**
      //
      // *   Latte/Coffee cup
      // *   Saucer
      // *   Spoon
      // *   Table/Surface
      // *   Foam/Latte art
      //
      // **Objects potentially in both (depending on interpretation and specific items):**
      //
      // *   Plate/Saucer (both are serving dishes)
      // *   Table/Surface
      return response.text();
    }
  }
}

REST

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

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

  • PROJECT_ID: .
  • ‫FILE_URI1: ה-URI או כתובת ה-URL של הקובץ שרוצים לכלול בהנחיה. הערכים הקבילים כוללים את האפשרויות הבאות:
    • URI של קטגוריה ב-Cloud Storage: האובייקט צריך להיות ניתן לקריאה באופן ציבורי או להיות באותו פרויקט Google Cloud ששולח את הבקשה.
    • כתובת URL מסוג HTTP: כתובת ה-URL של הקובץ צריכה להיות ניתנת לקריאה על ידי כולם. אפשר לציין קובץ וידאו אחד, קובץ אודיו אחד ועד 10 קבצים של תמונות בכל בקשה. הגודל המקסימלי של קובצי אודיו, קובצי וידאו ומסמכים הוא 15 MB.
    • כתובת ה-URL של סרטון ב-YouTube: הסרטון ב-YouTube צריך להיות בבעלות החשבון שבו השתמשתם כדי להיכנס למסוף Google Cloud או להיות גלוי לכולם. אפשר לציין רק כתובת URL אחת של סרטון ב-YouTube לכל בקשה.

    כשמציינים fileURI, צריך לציין גם את סוג המדיה (mimeType) של הקובץ. אם VPC Service Controls מופעל, אי אפשר לציין כתובת URL של קובץ מדיה עבור fileURI.

    אם אין לכם קובץ תמונה ב-Cloud Storage, אתם יכולים להשתמש בקובץ הבא שזמין לציבור: gs://cloud-samples-data/vertex-ai/llm/prompts/landmark1.png עם סוג MIME של image/png. כדי לראות את התמונה הזו, צריך לפתוח את קובץ התמונה לדוגמה.

  • ‫MIME_TYPE: סוג המדיה של הקובץ שצוין בשדות data או fileUri. הערכים הקבילים כוללים את האפשרויות הבאות:

    לחיצה להרחבת סוגי MIME

    • application/pdf
    • audio/mpeg
    • audio/mp3
    • audio/wav
    • image/png
    • image/jpeg
    • image/webp
    • text/plain
    • video/mov
    • video/mpeg
    • video/mp4
    • video/mpg
    • video/avi
    • video/wmv
    • video/mpegps
    • video/flv
    כדי לפשט את התהליך, בדוגמה הזו נעשה שימוש באותו סוג מדיה לכל שלוש תמונות הקלט.
  • ‫TEXT1: הוראות הטקסט שרוצים לכלול בהנחיה. לדוגמה: city: Rome, Landmark: the Colosseum
  • ‫FILE_URI2: ה-URI או כתובת ה-URL של הקובץ שרוצים לכלול בהנחיה. הערכים הקבילים כוללים את האפשרויות הבאות:
    • URI של קטגוריה ב-Cloud Storage: האובייקט צריך להיות ניתן לקריאה באופן ציבורי או להיות באותו פרויקט Google Cloud ששולח את הבקשה.
    • כתובת URL מסוג HTTP: כתובת ה-URL של הקובץ צריכה להיות ניתנת לקריאה על ידי כולם. אפשר לציין קובץ וידאו אחד, קובץ אודיו אחד ועד 10 קבצים של תמונות בכל בקשה. הגודל המקסימלי של קובצי אודיו, קובצי וידאו ומסמכים הוא 15 MB.
    • כתובת ה-URL של סרטון ב-YouTube: הסרטון ב-YouTube צריך להיות בבעלות החשבון שבו השתמשתם כדי להיכנס למסוף Google Cloud או להיות גלוי לכולם. אפשר לציין רק כתובת URL אחת של סרטון ב-YouTube לכל בקשה.

    כשמציינים fileURI, צריך לציין גם את סוג המדיה (mimeType) של הקובץ. אם VPC Service Controls מופעל, אי אפשר לציין כתובת URL של קובץ מדיה עבור fileURI.

    אם אין לכם קובץ תמונה ב-Cloud Storage, אתם יכולים להשתמש בקובץ הבא שזמין לציבור: gs://cloud-samples-data/vertex-ai/llm/prompts/landmark2.png עם סוג MIME של image/png. כדי לראות את התמונה הזו, צריך לפתוח את קובץ התמונה לדוגמה.

  • ‫TEXT2: הוראות הטקסט שרוצים לכלול בהנחיה. לדוגמה: city: Beijing, Landmark: Forbidden City
  • ‫FILE_URI3: ה-URI או כתובת ה-URL של הקובץ שרוצים לכלול בהנחיה. הערכים הקבילים כוללים את האפשרויות הבאות:
    • URI של קטגוריה ב-Cloud Storage: האובייקט צריך להיות ניתן לקריאה באופן ציבורי או להיות באותו פרויקט Google Cloud ששולח את הבקשה.
    • כתובת URL מסוג HTTP: כתובת ה-URL של הקובץ צריכה להיות ניתנת לקריאה על ידי כולם. אפשר לציין קובץ וידאו אחד, קובץ אודיו אחד ועד 10 קבצים של תמונות בכל בקשה. הגודל המקסימלי של קובצי אודיו, קובצי וידאו ומסמכים הוא 15 MB.
    • כתובת ה-URL של סרטון ב-YouTube: הסרטון ב-YouTube צריך להיות בבעלות החשבון שבו השתמשתם כדי להיכנס למסוף Google Cloud או להיות גלוי לכולם. אפשר לציין רק כתובת URL אחת של סרטון ב-YouTube לכל בקשה.

    כשמציינים fileURI, צריך לציין גם את סוג המדיה (mimeType) של הקובץ. אם VPC Service Controls מופעל, אי אפשר לציין כתובת URL של קובץ מדיה עבור fileURI.

    אם אין לכם קובץ תמונה ב-Cloud Storage, אתם יכולים להשתמש בקובץ הבא שזמין לציבור: gs://cloud-samples-data/vertex-ai/llm/prompts/landmark3.png עם סוג MIME של image/png. כדי לראות את התמונה הזו, צריך לפתוח את קובץ התמונה לדוגמה.

כדי לשלוח את הבקשה אתם צריכים לבחור אחת מהאפשרויות הבאות:

curl

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

cat > request.json << 'EOF'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI1",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT1"
      },
      {
        "fileData": {
          "fileUri": "FILE_URI2",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT2"
      },
      {
        "fileData": {
          "fileUri": "FILE_URI3",
          "mimeType": "MIME_TYPE"
        }
      }
    ]
  }
}
EOF

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent"

PowerShell

שומרים את גוף הבקשה בקובץ בשם request.json. כדי ליצור או להחליף את הקובץ הזה בספרייה הנוכחית, מריצים את הפקודה הבאה בטרמינל:

@'
{
  "contents": {
    "role": "USER",
    "parts": [
      {
        "fileData": {
          "fileUri": "FILE_URI1",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT1"
      },
      {
        "fileData": {
          "fileUri": "FILE_URI2",
          "mimeType": "MIME_TYPE"
        }
      },
      {
        "text": "TEXT2"
      },
      {
        "fileData": {
          "fileUri": "FILE_URI3",
          "mimeType": "MIME_TYPE"
        }
      }
    ]
  }
}
'@  | Out-File -FilePath request.json -Encoding utf8

לאחר מכן מבצעים את הפקודה הבאה כדי לשלוח את בקשת ה-REST:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/global/publishers/google/models/gemini-3.5-flash:generateContent" | Select-Object -Expand Content

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

שימו לב לפרטים הבאים בכתובת ה-URL של הדוגמה הזו:
  • משתמשים בשיטה generateContent כדי לבקש שהתשובה תוחזר אחרי שהיא נוצרת במלואה. כדי לצמצם את תפיסת זמן האחזור בקרב קהל אנושי, אפשר להזרים את התשובה בזמן שהיא נוצרת באמצעות השיטה streamGenerateContent.
  • מזהה המודל הרב-אופני מופיע בסוף כתובת ה-URL לפני השיטה (לדוגמה, gemini-3.5-flash). יכול להיות שהדוגמה הזו תתמוך גם במודלים אחרים.
  • כשמשתמשים בנקודת קצה אזורית של API (לדוגמה, us-central1), האזור מכתובת ה-URL של נקודת הקצה קובע איפה הבקשה תעובד. המערכת מתעלמת מכל מיקום שמתנגש בנתיב המשאב.

הגדרת פרמטרים אופציונליים של המודל

לכל מודל יש קבוצה של פרמטרים אופציונליים שאפשר להגדיר. מידע נוסף זמין במאמר בנושא פרמטרים ליצירת תוכן.

טוקניזציה של תמונות

במודלים של Gemini 3, טוקניזציה של תמונות מתבצעת באמצעות רצף באורך משתנה, שמחליף את שיטת Pan and Scan ששימשה במודלים קודמים, כדי לשפר את האיכות ואת זמן האחזור.

אתם יכולים לציין רזולוציית מדיה לקלט של תמונות וקובצי PDF. הרזולוציה משפיעה על האופן שבו התמונות עוברות טוקניזציה ועל מספר הטוקנים שמשמשים לכל תמונה. אפשר להגדיר את media_resolution ב-generationConfig כדי להחיל רזולוציה של low, medium או high על כל המדיה בבקשה, או להגדיר רזולוציה לחלקי מדיה ספציפיים, וכך לשנות את ההגדרה ברמת העל. אפשר להגדיר את הרזולוציה ultra_high רק לחלקים נפרדים של מדיה.

הרזולוציות הבאות זמינות במודלים של Gemini 3:

  • ‫MEDIA_RESOLUTION_ULTRA_HIGH: 2,240 טוקנים לתמונות
  • ‫MEDIA_RESOLUTION_HIGH: 1,120 אסימונים לתמונות ולקובצי PDF
  • ‫MEDIA_RESOLUTION_MEDIUM: 560 אסימונים לתמונות ולקובצי PDF
  • ‫MEDIA_RESOLUTION_LOW: 280 אסימונים לתמונות ולקובצי PDF
  • ‫MEDIA_RESOLUTION_UNSPECIFIED: 1,120 אסימונים לתמונות ו-560 ל-PDF (ברירת מחדל)

מספר הטוקנים הבא רלוונטי ל-Gemini 3 Pro Image:

  • תמונות קלט: 560 טוקנים לכל תמונה
  • תמונות פלט:
    • רזולוציית 1K: 1,120 טוקנים לכל תמונה (ברירת מחדל)
    • רזולוציית 2K: 1,120 טוקנים לכל תמונה
    • רזולוציית 4K: ‏2,000 טוקנים לכל תמונה

במודלים מגרסה מוקדמת יותר מ-Gemini 3, כל תמונה מעובדת באמצעות Pan and Scan (הזזה וסריקה) ועולה 258 טוקנים.

בדוגמת הקוד הזו אפשר לראות איך משנים את media_resolution:

from google import genai
from google.genai import types

client = genai.Client()

response = client.models.generate_content(
  model="gemini-3.1-pro-preview",
  contents=[
      types.Part(
          file_data=types.FileData(
              file_uri="gs://cloud-samples-data/generative-ai/image/a-man-and-a-dog.png",
              mime_type="image/jpeg",
          ),
          media_resolution=types.PartMediaResolution(
              level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_HIGH
          ),
      ),
      Part(
          file_data=types.FileData(
              file_uri="gs://cloud-samples-data/generative-ai/video/behind_the_scenes_pixel.mp4",
              mime_type="video/mp4",
          ),
          media_resolution=types.PartMediaResolution(
              level=types.PartMediaResolutionLevel.MEDIA_RESOLUTION_LOW
          ),
      ),
      "When does the image appear in the video? What is the context?",
  ],
)
print(response.text)

שיטות מומלצות

כדי לקבל את התוצאות הטובות ביותר כשמשתמשים בתמונות, כדאי לפעול לפי השיטות המומלצות והמידע הבאים:

  • אם רוצים לזהות טקסט בתמונה, כדאי להשתמש בפרומפטים עם תמונה אחת כדי לקבל תוצאות טובות יותר מאשר בפרומפטים עם כמה תמונות.
  • אם הפרומפט מכיל תמונה אחת, צריך למקם את התמונה לפני פרומפט הטקסט בבקשה.
  • אם ההנחיה שלכם מכילה כמה תמונות, ואתם רוצים להתייחס אליהן בהמשך ההנחיה או שהמודל יתייחס אליהן בתשובה שלו, כדאי לתת לכל תמונה אינדקס לפני התמונה. משתמשים ב-a b c או ב-image 1 image 2 image 3 כדי ליצור את האינדקס. הדוגמה הבאה מראה איך להשתמש בתמונות עם אינדקס בפרומפט:
    image 1 
    image 2 
    image 3 
    
    Write a blogpost about my day using image 1 and image 2. Then, give me ideas
    for tomorrow based on image 3.
  • מומלץ להשתמש בתמונות ברזולוציה גבוהה יותר כדי לקבל תוצאות טובות יותר.
  • מומלץ לכלול כמה דוגמאות בהנחיה.
  • לפני שמוסיפים תמונות להנחיה, צריך לסובב אותן לכיוון הנכון.
  • אל תשתמשו בתמונות מטושטשות.

מגבלות

מודלים מולטי-מודאליים של Gemini הם עוצמתיים במקרים רבים של שימוש מולטי-מודאלי, אבל חשוב להבין את המגבלות של המודלים:

  • סינון תוכן: המודלים מסרבים לספק תשובות לגבי תמונות שמפירות את מדיניות הבטיחות שלנו.
  • היגיון מרחבי: המודלים לא מדויקים באיתור טקסט או אובייקטים בתמונות. יכול להיות שהם יחזירו רק את המספרים המשוערים של האובייקטים.
  • שימושים רפואיים: המודלים לא מתאימים לפרשנות של תמונות רפואיות (לדוגמה, צילומי רנטגן וטומוגרפיה ממוחשבת) או למתן ייעוץ רפואי.
  • זיהוי אנשים: המודלים לא מיועדים לזיהוי אנשים שאינם מפורסמים בתמונות.
  • דיוק: יכול להיות שהמודלים יפיקו הזיות או יעשו טעויות כשהם מפרשים תמונות באיכות נמוכה, תמונות מסובבות או תמונות ברזולוציה נמוכה מאוד. יכול להיות שהמודלים גם יפיקו הזיות כשהם מפרשים טקסט בכתב יד במסמכים של תמונות.

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