ממשק API של קבצים

משפחת המודלים של בינה מלאכותית (AI) של Gemini בנויה כדי לטפל בסוגים שונים של נתוני קלט, כולל טקסט, תמונות ואודיו. מכיוון שהמודלים האלה יכולים לטפל ביותר מסוג אחד או מצב אחד של נתונים, המודלים של Gemini נקראים מודלים מולטימודיאליים או שיש להם יכולות מולטימודיאליות.

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

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

העלאת קובץ

אפשר להשתמש ב-Files API כדי להעלות קובץ מדיה. תמיד צריך להשתמש ב-Files API כשהגודל הכולל של הבקשה (כולל הקבצים, הנחיות הטקסט, הוראות המערכת וכו') גדול מ-20MB.

הקוד הבא מעלה קובץ ואז משתמש בקובץ בקריאה ל-generateContent.

Python

from google import genai

client = genai.Client(api_key="GOOGLE_API_KEY")

myfile = client.files.upload(file="path/to/sample.mp3")

response = client.models.generate_content(
    model="gemini-2.0-flash", contents=["Describe this audio clip", myfile]
)

print(response.text)

JavaScript

import {
  GoogleGenAI,
  createUserContent,
  createPartFromUri,
} from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GOOGLE_API_KEY" });

async function main() {
  const myfile = await ai.files.upload({
    file: "path/to/sample.mp3",
    config: { mimeType: "audio/mpeg" },
  });

  const response = await ai.models.generateContent({
    model: "gemini-2.0-flash",
    contents: createUserContent([
      createPartFromUri(myfile.uri, myfile.mimeType),
      "Describe this audio clip",
    ]),
  });
  console.log(response.text);
}

await main();

Go

file, err := client.UploadFileFromPath(ctx, "path/to/sample.mp3", nil)
if err != nil {
    log.Fatal(err)
}
defer client.DeleteFile(ctx, file.Name)

model := client.GenerativeModel("gemini-2.0-flash")
resp, err := model.GenerateContent(ctx,
    genai.FileData{URI: file.URI},
    genai.Text("Describe this audio clip"))
if err != nil {
    log.Fatal(err)
}

printResponse(resp)

REST

AUDIO_PATH="path/to/sample.mp3"
MIME_TYPE=$(file -b --mime-type "${AUDIO_PATH}")
NUM_BYTES=$(wc -c < "${AUDIO_PATH}")
DISPLAY_NAME=AUDIO

tmp_header_file=upload-header.tmp

# Initial resumable request defining metadata.
# The upload url is in the response headers dump them to a file.
curl "${BASE_URL}/upload/v1beta/files?key=${GOOGLE_API_KEY}" \
  -D upload-header.tmp \
  -H "X-Goog-Upload-Protocol: resumable" \
  -H "X-Goog-Upload-Command: start" \
  -H "X-Goog-Upload-Header-Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Header-Content-Type: ${MIME_TYPE}" \
  -H "Content-Type: application/json" \
  -d "{'file': {'display_name': '${DISPLAY_NAME}'}}" 2> /dev/null

upload_url=$(grep -i "x-goog-upload-url: " "${tmp_header_file}" | cut -d" " -f2 | tr -d "\r")
rm "${tmp_header_file}"

# Upload the actual bytes.
curl "${upload_url}" \
  -H "Content-Length: ${NUM_BYTES}" \
  -H "X-Goog-Upload-Offset: 0" \
  -H "X-Goog-Upload-Command: upload, finalize" \
  --data-binary "@${AUDIO_PATH}" 2> /dev/null > file_info.json

file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

# Now generate content using that file
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=$GOOGLE_API_KEY" \
    -H 'Content-Type: application/json' \
    -X POST \
    -d '{
      "contents": [{
        "parts":[
          {"text": "Describe this audio clip"},
          {"file_data":{"mime_type": "${MIME_TYPE}", "file_uri": '$file_uri'}}]
        }]
      }' 2> /dev/null > response.json

cat response.json
echo

jq ".candidates[].content.parts[].text" response.json

אחזור מטא-נתונים של קובץ

כדי לוודא שה-API שמר בהצלחה את הקובץ שהעליתם ולקבל את המטא-נתונים שלו, אפשר להפעיל את files.get.

Python

myfile = client.files.upload(file='path/to/sample.mp3')
file_name = myfile.name
myfile = client.files.get(name=file_name)
print(myfile)

JavaScript

const myfile = await ai.files.upload({
  file: "path/to/sample.mp3",
  config: { mimeType: "audio/mpeg" },
});

const fileName = myfile.name;
const fetchedFile = await ai.files.get({ name: fileName });
console.log(fetchedFile);

Go

file, err := client.UploadFileFromPath(ctx, "path/to/sample.mp3", nil)
if err != nil {
    log.Fatal(err)
}

gotFile, err := client.GetFile(ctx, file.Name)
if err != nil {
    log.Fatal(err)
}
fmt.Println("Got file:", gotFile.Name)

REST

# file_info.json was created in the upload example
name=$(jq ".file.name" file_info.json)
# Get the file of interest to check state
curl https://generativelanguage.googleapis.com/v1beta/files/$name > file_info.json
# Print some information about the file you got
name=$(jq ".file.name" file_info.json)
echo name=$name
file_uri=$(jq ".file.uri" file_info.json)
echo file_uri=$file_uri

הצגת רשימה של הקבצים שהועלו

אפשר להעלות כמה קבצים באמצעות Files API. הקוד הבא מקבל רשימה של כל הקבצים שהועלו:

Python

print('My files:')
for f in client.files.list():
    print(' ', f.name)

JavaScript

const listResponse = await ai.files.list({ config: { pageSize: 10 } });
for await (const file of listResponse) {
  console.log(file.name);
}

Go

iter := client.ListFiles(ctx)
for {
    ifile, err := iter.Next()
    if err == iterator.Done {
        break
    }
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println(ifile.Name)
}

REST

echo "My files: "

curl "https://generativelanguage.googleapis.com/v1beta/files?key=$GOOGLE_API_KEY"

מחיקת קבצים שהועלו

הקבצים נמחקים באופן אוטומטי אחרי 48 שעות. אפשר גם למחוק קובץ שהועלה באופן ידני:

Python

myfile = client.files.upload(file='path/to/sample.mp3')
client.files.delete(name=myfile.name)

JavaScript

const myfile = await ai.files.upload({
  file: "path/to/sample.mp3",
  config: { mimeType: "audio/mpeg" },
});

const fileName = myfile.name;
await ai.files.delete({ name: fileName });

Go

file, err := client.UploadFileFromPath(ctx, "path/to/sample.mp3", nil)
if err != nil {
    log.Fatal(err)
}
client.DeleteFile(ctx, file.Name)

REST

curl --request "DELETE" https://generativelanguage.googleapis.com/v1beta/files/$name?key=$GOOGLE_API_KEY

נתוני שימוש

אפשר להשתמש ב-Files API כדי להעלות קבצי מדיה ולבצע פעולות שונות בהם. באמצעות Files API אפשר לאחסן עד 20GB של קבצים בכל פרויקט, עם גודל מקסימלי של 2GB לכל קובץ. הקבצים נשמרים למשך 48 שעות. במהלך התקופה הזו תוכלו להשתמש ב-API כדי לקבל מטא-נתונים על הקבצים, אבל לא תוכלו להוריד אותם. ה-Files API זמין ללא עלות בכל האזורים שבהם Gemini API זמין.

שיטות להצגת בקשות להעלאת קבצים

בקטע הזה מפורטות הנחיות ושיטות מומלצות לשימוש בקובצי מדיה עם הנחיות ל-Gemini API.

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

הנחיה תגובה

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


עוגיות

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

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

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

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

שתהיה לכם הכנה טעימה ובריאה של ארוחות!

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

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

  • יסודות של תכנון הנחיות

    • הנחיות ספציפיות: כתבו הוראות ברורות ותמציתיות, כך שלא יהיה מקום לפרשנויות שגויות.
    • מוסיפים כמה דוגמאות להנחיה: כדאי להשתמש בדוגמאות ריאליסטיות של 'כמה תמונות בלבד' כדי להמחיש את מה שאתם רוצים להשיג.
    • פירוט של השלבים: כדאי לפצל משימות מורכבות ליעדים משניים שניתן לנהל, ולהנחות את המודל בתהליך.
    • ציון פורמט הפלט: בהנחיה, מבקשים שהפלט יהיה בפורמט הרצוי, כמו markdown, ‏ JSON, ‏ HTML ועוד.
    • הנחיות עם תמונה אחת: כדאי להציב את התמונה לפני ההנחיה: Gemini יכול לטפל בקלט של תמונות וטקסט בכל סדר, אבל בהנחיות שמכילות תמונה אחת, יכול להיות שהביצועים יהיו טובים יותר אם התמונה (או הסרטון) תוצג לפני ההנחיה בטקסט. עם זאת, בהנחיות שבהן התמונות צריכות להיות משולבות מאוד עם הטקסטים כדי שיהיה להן הגיון, כדאי להשתמש בסדר הכי טבעי.
  • פתרון בעיות בהנחיה עם מגוון מישורים

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

חשוב לנסח את ההוראות בצורה ספציפית

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

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

הנחיה תגובה של מודל

מה מופיע בתמונה?

בתמונה מוצגת לוח מודעות של הגעות ויציאות בנמל תעופה.

הנחיה מעודכנת תגובה משופרת
לוח זמנים לנסיעות

לנתח את השעה והעיר מהלוח של שדה התעופה שמוצג בתמונה הזו ולהעביר אותם לרשימה.

  • 10:50 מוסקבה
  • 11:05 אדינבורו
  • 11:05 לונדון
  • 11:10 בוקרשט
  • 11:30 קייב
  • 11:35 דבלין
  • 11:45 איסט מידלנדס
  • 12:15 סופיה
  • 12:30 לונדון
  • 12:30 ניוקאסל
  • 12:40 סנט פטרסבורג
  • 12:40 לונדון
  • 12:45 מנצ'סטר
  • הוספת כמה דוגמאות

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

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

    הנחיה תגובת המודל
    לוח זמנים לנסיעות

    מציינים את העיר ואת ציון הדרך.

    ציון הדרך הוא פסל ישו הגואל בריו דה ז'ניירו, ברזיל.

    הנחיה מעודכנת תגובה משופרת

    מציינים את העיר ואת ציון הדרך.

    קולוסיאום

    עיר: רומא, ציון דרך: הקולוסיאום.

    העיר האסורה

    city: Beijing, landmark: Forbidden City

    forbidden-city

    עיר: ריו דה ז'ניירו, ציון דרך: פסל ישו הגואל

    פירוט של התהליך

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

    הנחיה תגובה של מודל

    מתי ייגמר נייר הטואלט?

    בקרוב יהיו לך רק 3 גלילים שנותרו.

    הנחיה מעודכנת תגובה משופרת

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

      1. בתמונה הזו יש 3 גלילים של נייר טואלט.
      2. אדם ממוצע משתמש ב-20 גיליונות נייר טואלט ביום.
      3. אם כל רול מכיל 200 גיליונות, כל רול יימשך כ-10 ימים. לכן, 3 המארזים יספיקו לחודש בערך.

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

    הנחיה תגובה

    מהו המונח הרביעי ברצף?

    -135

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

    הנחיה תגובה

    קודם צריך לנתח את הנוסחה בתמונה.

    לאחר מכן, על סמך הנוסחה, נותנים תשובה לשאלה "מהו הביטוי הרביעי בסדרה?".

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

    \( b(n) = b(n-1) * (-3) \)

    \( b(1) = 15 \)

    1. מחליפים את n = 4 בנוסחה:
    2. \( b(4) = b(4-1) * (-3) \)

      \( b(4) = b(3) * (-3) \)

    3. אנחנו לא יודעים את הערך של b(3), לכן מחליפים את n = 3 בנוסחה:
    4. \( b(3) = b(3-1) * (-3) \)

      \( b(3) = b(2) * (-3) \)

    5. אנחנו לא יודעים מה הערך של b(2), לכן מחליפים את n = 2 בנוסחה:
    6. \( b(2) = b(2-1) * (-3) \)

      \( b(2) = b(1) * (-3) \)

    7. אנחנו יודעים שהערך של b(1) הוא 15, לכן מחליפים אותו בנוסחה:
    8. \( b(2) = 15 * (-3) \)

      \( b(2) = -45 \)

    9. עכשיו, כשאנחנו יודעים את הערך של b(2), מחליפים אותו בנוסחה של b(3):
    10. \( b(3) = b(2) * (-3) \)

      \( b(3) = -45 * (-3) \)

      \( b(3) = 135 \)

    11. עכשיו, אחרי שאנחנו יודעים את הערך של b(3), מחליפים אותו בנוסחה של b(4):
    12. \( b(4) = b(3) * (-3) \)

      \( b(4) = 135 * (-3) \)

      \( b(4) = -405 \)

    לכן, המונח הרביעי ברצף הוא -405.

    התשובה של המודל נכונה. כדי לשפר את התשובה, אפשר לבקש מהמודל לחשוב שלב אחרי שלב.

    הנחיה מעודכנת תגובה משופרת

    מהו המונח הרביעי ברצף? כדאי לחשוב צעד אחר צעד.

    המונח הראשון הוא 15.

    המונח השני הוא b(1) * (-3) = 15 * (-3) = -45.

    המונח השלישי הוא b(2) * (-3) = -45 * (-3) = 135.

    המונח הרביעי הוא b(3) * (-3) = 135 * (-3) = -405.

    ציון פורמט הפלט

    בעיה נפוצה היא הצורך שהפלט של המודל יהיה בפורמט מסוים (למשל markdown, ‏ JSON, ‏ HTML), במיוחד אם צריך להטמיע את הפלט של המודל במשימה במורד הזרם. כדי לנסות ליצור פלט בפורמט הזה, צריך להנחות את המודל לעשות זאת בהנחיה. בהמשך מפורטות שתי דוגמאות:

    הנחיה תגובה של מודל

    ניתוח הטבלה בתמונה הזו לפורמט markdown

    | נושא | סטטוס | שעה | תאריך התחלה | מועד הגשה |

    | ------- | ------ | ---- | --------- | ------ |

    | מתמטיקה | בוצע | שעה וחצי | 29 בנובמבר 2023 | 1 בדצמבר 2023 |

    | גיאוגרפיה | בוצע | 30 דקות | 2 בדצמבר 2023 | 4 בדצמבר 2023 |

    | פיזיקה | בטיפול | שעתיים | 3 בדצמבר 2023 | 5 בדצמבר 2023 |

    | ביולוגיה | לא התחיל | 6 שעות | 2 בנובמבר 2016 | 6 בדצמבר 2023 |

    הנחיה תגובת המודל

    יש לספק רשימה של כל המאפיינים הבאים:

    רכיבים, סוג המטבח, אם המנה צמחונית או לא, בפורמט JSON

    ```json```

    {

    "ingredients": [

    "rice",

    "shrimp",

    "clams",

    "mussels",

    "peas",

    "tomatoes",

    "onions",

    "garlic",

    "olive oil",

    "paprika",

    "salt",

    "pepper"

    ],

    "type of cuisine": "Spanish",

    "vegetarian": false

    הצבת התמונה במקום הראשון בהנחיות עם תמונה אחת

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

    פתרון בעיות בהנחיה עם מגוון מישורים

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

    אם המודל לא שואב מידע מהחלק הרלוונטי של התמונה

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

    הנחיה תגובה של מודל

    למשך כמה ימים החיתולים האלה יספיקו לתינוק?

    החיתולים יספיקו ל-198 ימים.

    הנחיה מעודכנת תגובה משופרת

    כמה זמן יספיקו החיתולים האלה עד שייגמרו?

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

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

    הקופסה מכילה 198 חיתולים. על הקופסה כתוב שהחיתולים מיועדים לילדים במשקל 9-17 ק"ג.

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

    בדרך כלל, תינוק בן שנתיים משתמש ב-6 חיתולים ביום, ולכן החיתולים יספיקו ל-33 ימים בערך (198/6).

    אם הפלט של המודל הוא כללי מדי ולא מותאם מספיק לקלט של התמונה

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

    הנחיה תגובה של מודל

    מה המשותף בין התמונות האלה?

    כל ארבע התמונות הן דוגמאות לצילום נוף.

    הנחיה מעודכנת תגובה משופרת

    קודם מתארים בפירוט את התמונות. מה המשותף לתמונות האלה?

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

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

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

    בתמונה הרביעית מוצג הים במצב שבין שלווה לסערה.

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

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

    הנחיה מעודכנת תגובה משופרת

    מה המשותף בין התמונות האלה? בתשובה שלכם, ציינו מה מופיע בתמונות.

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

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

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

    הנחיה תגובה של מודל

    יש לך אפשרות לכתוב לי שיר על התמונה הזו?

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

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

    הנחיה מעודכנת תגובה משופרת

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

    ארנב קטן על הדשא,
    אוזניים ארוכות, חדות.
    מה רואים שם,
    באופק, שבו מביטים?

    האם הוא כחול כמו האוקיינוס,
    נוצץ בגוון השמש?
    או את הגלים שמתנפצים ומרעישים,
    קצב שאתם אוהבים?

    ארנבון קטן, ספר לי את האמת,
    מה מושך את תשומת ליבך כל כך?
    האם זה הרוח המלוחה,
    או קריאות השחפים שמשמחות?

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

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

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

    פתרון בעיות שקשורות לחלק מההנחיה שנכשל

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

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

    הנחיה הנחיה לפתרון בעיות

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

    מה מופיע בתמונה?

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

    הנחיה הנחיה לפתרון בעיות

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

    מה אפשר להכין תוך דקה שתתאים לארוחה הזו? מה הסיבה?

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

    • אתם יכולים לנסות לכתוב הנחיות משלכם עם רכיבים מרובי-מודולים באמצעות Google AI Studio.
    • במאמרים בנושא ראייה, אודיו ועיבוד מסמכים מוסבר איך משתמשים ב-Gemini Files API כדי להעלות קובצי מדיה ולכלול אותם בהנחיות.
    • למידע נוסף על עיצוב הנחיות, למשל על שינוי הפרמטרים של הדגימה, אפשר לעיין בדף שיטות להצגת הנחיות.