يمكن لـ Gemini معالجة أنواع مختلفة من بيانات الإدخال، بما في ذلك النصوص والصور والمقاطع الصوتية، في الوقت نفسه.
يوضّح لك هذا الدليل كيفية التعامل مع ملفات الوسائط باستخدام Files API. العمليات الأساسية هي نفسها بالنسبة إلى الملفات الصوتية والصور والفيديوهات والمستندات وأنواع الملفات الأخرى المتوافقة.
للحصول على إرشادات حول الطلبات المتعلقة بالملفات، يُرجى الاطّلاع على قسم دليل الطلبات المتعلقة بالملفات.
تحميل ملف
يمكنك استخدام Files API لتحميل ملف وسائط. استخدِم دائمًا Files API عندما يكون إجمالي حجم الطلب (بما في ذلك الملفات والطلب النصي وتعليمات النظام وما إلى ذلك) أكبر من 100 ميغابايت. بالنسبة إلى ملفات PDF، الحدّ الأقصى هو 50 ميغابايت.
يحمّل الرمز التالي ملفًا ثم يستخدمه في طلب إلى interactions.create.
Python
from google import genai
client = genai.Client()
myfile = client.files.upload(file="path/to/sample.mp3")
interaction = client.interactions.create(
model="gemini-3.8-flash",
input=[
{"type": "text", "text": "Describe this audio clip"},
{"type": "audio", "uri": myfile.uri, "mime_type": myfile.mime_type}
]
)
print(interaction.output_text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
async function main() {
const myfile = await client.files.upload({
file: "path/to/sample.mp3",
config: { mime_type: "audio/mpeg" },
});
const interaction = await client.interactions.create({
model: "gemini-3.8-flash",
input: [
{ type: "text", text: "Describe this audio clip" },
{ type: "audio", uri: myfile.uri, mime_type: myfile.mimeType }
]
});
console.log(interaction.output_text);
}
await main();
جافا
import com.google.genai.Client;
import com.google.genai.gaos.models.interactions.AudioContent;
import com.google.genai.gaos.models.interactions.AudioContentMimeType;
import com.google.genai.gaos.models.interactions.Content;
import com.google.genai.gaos.models.interactions.CreateModelInteraction;
import com.google.genai.gaos.models.interactions.Interaction;
import com.google.genai.gaos.models.interactions.InteractionsInput;
import com.google.genai.gaos.models.interactions.Model;
import com.google.genai.gaos.models.interactions.TextContent;
import com.google.genai.gaos.models.operations.CreateInteractionRequestBody;
import com.google.genai.types.File;
import com.google.genai.types.UploadFileConfig;
import java.util.Arrays;
import java.util.List;
Client client = new Client();
File myFile =
client.files.upload(
new java.io.File("path/to/sample.mp3"),
UploadFileConfig.builder().mimeType("audio/mp3").build());
Content textContent = TextContent.builder().text("Describe this audio clip").build();
Content audioContent =
AudioContent.builder()
.uri(myFile.uri().orElse(""))
.mimeType(AudioContentMimeType.of(myFile.mimeType().orElse("audio/mp3")))
.build();
List<Content> contents = Arrays.asList(textContent, audioContent);
CreateModelInteraction params =
CreateModelInteraction.builder()
.model(Model.of("gemini-3.8-flash"))
.input(InteractionsInput.ofContent(contents))
.build();
Interaction interaction =
client.interactions.create(CreateInteractionRequestBody.of(params)).interaction().get();
System.out.println(interaction.outputText().orElse(""));
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
"google.golang.org/genai/interactions/models/interactions"
"google.golang.org/genai/interactions/models/operations"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
myFile, err := client.Files.UploadFromPath(ctx, "path/to/sample.mp3", &genai.UploadFileConfig{
MIMEType: "audio/mp3",
})
if err != nil {
log.Fatal(err)
}
res, err := client.Interactions.Create(ctx, operations.CreateInteractionRequest{
Body: operations.NewCreateInteractionRequestBody(interactions.CreateModelInteraction{
Model: interactions.Model("gemini-3.8-flash"),
Input: interactions.NewInteractionsInput([]interactions.Content{
interactions.NewContent(interactions.TextContent{
Text: "Describe this audio clip",
}),
interactions.NewContent(interactions.AudioContent{
URI: genai.Ptr(myFile.URI),
MimeType: interactions.AudioContentMimeType(myFile.MIMEType).ToPointer(),
}),
}),
}),
})
if err != nil {
log.Fatal(err)
}
if res.Interaction.OutputText != nil {
fmt.Println(*res.Interaction.OutputText)
}
}
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" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-D "${tmp_header_file}" \
-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 create an interaction using the Interactions API
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "gemini-3.8-flash",
"input": [
{"type": "text", "text": "Describe this audio clip"},
{"type": "audio", "uri": '$file_uri', "mime_type": "'${MIME_TYPE}'"}
]
}' 2> /dev/null > response.json
cat response.json
echo
jq ".outputs[] | select(.type == \"text\") | .text" response.json
الحصول على البيانات الوصفية لملف
يمكنك التحقّق من أنّ واجهة برمجة التطبيقات قد خزّنت الملف الذي تم تحميله بنجاح والحصول على بياناته الوصفية من خلال طلب files.get.
Python
from google import genai
client = genai.Client()
myfile = client.files.upload(file='path/to/sample.mp3')
file_name = myfile.name
myfile = client.files.get(name=file_name)
print(myfile)
JavaScript
import {
GoogleGenAI,
} from "@google/genai";
const client = new GoogleGenAI({});
async function main() {
const myfile = await client.files.upload({
file: "path/to/sample.mp3",
config: { mime_type: "audio/mpeg" },
});
const fileName = myfile.name;
const fetchedFile = await client.files.get({ name: fileName });
console.log(fetchedFile);
}
await main();
جافا
import com.google.genai.Client;
import com.google.genai.types.File;
import com.google.genai.types.UploadFileConfig;
Client client = new Client();
File myFile =
client.files.upload(
new java.io.File("path/to/sample.mp3"),
UploadFileConfig.builder().mimeType("audio/mp3").build());
String fileName = myFile.name().orElse("");
File fileMetadata = client.files.get(fileName, null);
System.out.println(fileMetadata);
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
myFile, err := client.Files.UploadFromPath(ctx, "path/to/sample.mp3", &genai.UploadFileConfig{
MIMEType: "audio/mp3",
})
if err != nil {
log.Fatal(err)
}
fileMetadata, err := client.Files.Get(ctx, myFile.Name, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(fileMetadata)
}
REST
# file_info.json was created in the upload example
name=$(jq -r ".file.name" file_info.json)
# Get the file of interest to check state
curl https://generativelanguage.googleapis.com/v1beta/$name \
-H "x-goog-api-key: $GEMINI_API_KEY" > file_info.json
# Print some information about the file you got
name=$(jq -r ".name" file_info.json)
echo name=$name
file_uri=$(jq -r ".uri" file_info.json)
echo file_uri=$file_uri
عرض قائمة بالملفات المحمَّلة
يحصل الرمز التالي على قائمة بجميع الملفات التي تم تحميلها:
Python
from google import genai
client = genai.Client()
print('My files:')
for f in client.files.list():
print(' ', f.name)
JavaScript
import {
GoogleGenAI,
} from "@google/genai";
const client = new GoogleGenAI({});
async function main() {
const listResponse = await client.files.list({ config: { pageSize: 10 } });
for await (const file of listResponse) {
console.log(file.name);
}
}
await main();
جافا
import com.google.genai.Client;
import com.google.genai.types.File;
Client client = new Client();
System.out.println("My files:");
for (File f : client.files.list(null)) {
System.out.println(" " + f.name().orElse(""));
}
Go
package main
import (
"context"
"fmt"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println("My files:")
for f, err := range client.Files.All(ctx) {
if err != nil {
log.Fatal(err)
}
fmt.Println(" ", f.Name)
}
}
REST
echo "My files: "
curl "https://generativelanguage.googleapis.com/v1beta/files" \
-H "x-goog-api-key: $GEMINI_API_KEY"
حذف الملفات المحمَّلة
يتم حذف الملفات تلقائيًا بعد 48 ساعة. يمكنك أيضًا حذف ملف تم تحميله يدويًا:
Python
from google import genai
client = genai.Client()
myfile = client.files.upload(file='path/to/sample.mp3')
client.files.delete(name=myfile.name)
JavaScript
import {
GoogleGenAI,
} from "@google/genai";
const client = new GoogleGenAI({});
async function main() {
const myfile = await client.files.upload({
file: "path/to/sample.mp3",
config: { mime_type: "audio/mpeg" },
});
const fileName = myfile.name;
await client.files.delete({ name: fileName });
}
await main();
جافا
import com.google.genai.Client;
import com.google.genai.types.File;
import com.google.genai.types.UploadFileConfig;
Client client = new Client();
File myFile =
client.files.upload(
new java.io.File("path/to/sample.mp3"),
UploadFileConfig.builder().mimeType("audio/mp3").build());
client.files.delete(myFile.name().orElse(""), null);
Go
package main
import (
"context"
"log"
"google.golang.org/genai"
)
func main() {
ctx := context.Background()
client, err := genai.NewClient(ctx, nil)
if err != nil {
log.Fatal(err)
}
myFile, err := client.Files.UploadFromPath(ctx, "path/to/sample.mp3", &genai.UploadFileConfig{
MIMEType: "audio/mp3",
})
if err != nil {
log.Fatal(err)
}
if _, err := client.Files.Delete(ctx, myFile.Name, nil); err != nil {
log.Fatal(err)
}
}
REST
curl --request "DELETE" https://generativelanguage.googleapis.com/v1beta/$name \
-H "x-goog-api-key: $GEMINI_API_KEY"
معلومات الاستخدام
يمكنك استخدام Files API لتحميل ملفات الوسائط والتفاعل معها. تتيح لك Files API تخزين ما يصل إلى 20 غيغابايت من الملفات لكل مشروع، وبحد أقصى 2 غيغابايت لكل ملف. يتم تخزين الملفات لمدة 48 ساعة.
وخلال هذه الفترة، يمكنك استخدام واجهة برمجة التطبيقات للحصول على بيانات وصفية حول الملفات. ومع ذلك،
لا يمكنك تنزيل الملفات التي حمّلها المستخدمون. يمكنك تنزيل الملفات التي تنشئها النماذج، مثل الفيديوهات، باستخدام طريقة files.download. تتوفّر Files API
بدون أي تكلفة في جميع المناطق التي تتوفّر فيها Gemini API.
استراتيجيات توجيه الملفات
يقدّم هذا القسم إرشادات وأفضل الممارسات لاستخدام ملفات الوسائط مع الطلبات في Gemini API.
تتيح لك إمكانية استخدام أنواع مختلفة من البيانات في طلباتك مزيدًا من المرونة في ما يتعلق بالمهام التي يمكنك تنفيذها باستخدام Gemini API. على سبيل المثال، يمكنك إرسال صورة لوجبة لذيذة إلى النموذج والطلب منه كتابة مدونة قصيرة عن الوجبة.
| الطلب | الردّ |
|
اكتب منشور مدوّنة قصيرًا وجذابًا استنادًا إلى هذه الصورة. يجب أن يتضمّن وصفًا للوجبة في الصورة وأن يتناول رحلتي في تحضير الوجبات.
|
يُعدّ تحضير الوجبات طريقة رائعة لتوفير الوقت والمال، ويمكن أن يساعدك أيضًا في تناول طعام صحي أكثر. هذه الوجبة هي مثال رائع على وجبة صحية ولذيذة يمكن تحضيرها مسبقًا. تتكوّن هذه الوجبة من الأرز البني والخضروات المشوية ودجاج الترياكي. الأرز البني هو كربوهيدرات صحية ومعقدة تمنحك طاقة مستدامة. تُعدّ الخضروات المشوية طريقة رائعة للحصول على جرعتك اليومية من الفيتامينات والمعادن، كما أنّ دجاج الترياكي هو خيار لذيذ وغني بالبروتين. هذه الوجبة سهلة التحضير أيضًا. ما عليك سوى طهي الأرز البني وتحميص الخضار وطهي دجاج الترياكي. بعد طهي كل شيء، قسّمه إلى حاويات تحضير الوجبات وخزّنها في الثلاجة. يمكنك بعد ذلك أخذ حاوية والذهاب في الصباح المزدحم! إذا كنت تبحث عن وجبة صحية ولذيذة يمكن تحضيرها مسبقًا، فهذه الوجبة هي خيار رائع. فهي غنية بالعناصر الغذائية والنكهات، وستمنحك شعورًا بالشبع والرضا. إليك بعض النصائح لإعداد وجبات صحية ولذيذة. |
إذا كنت تواجه مشكلة في الحصول على الناتج الذي تريده من الطلبات التي تستخدم ملفات الوسائط، هناك بعض الاستراتيجيات التي يمكن أن تساعدك في الحصول على النتائج التي تريدها. تقدّم الأقسام التالية أساليب تصميم ونصائح لتحديد المشاكل وحلّها من أجل تحسين الطلبات التي تستخدم الإدخال المتعدّد الوسائط.
يمكنك تحسين الطلبات المتعددة الوسائط من خلال اتّباع أفضل الممارسات التالية:
-
أساسيات تصميم الطلبات
- تقديم تعليمات محدّدة: من المهم صياغة تعليمات واضحة وموجزة لا تترك مجالاً لسوء الفهم.
- إضافة بضعة أمثلة إلى طلبك: استخدِم أمثلة واقعية لتوضيح ما تريد تحقيقه.
- تقسيم الطلب إلى خطوات: قسِّم المهام المعقّدة إلى أهداف فرعية يسهل تنفيذها، ووجِّه النموذج خلال العملية.
- تحديد تنسيق الناتج: في طلبك، اطلب أن يكون الناتج بالتنسيق الذي تريده، مثل Markdown وJSON وHTML والمزيد.
- وضع الصورة أولاً في الطلبات التي تتضمّن صورة واحدة: على الرغم من أنّ Gemini يمكنه معالجة مدخلات الصور والنصوص بأي ترتيب، إلا أنّه قد يحقّق أداءً أفضل في الطلبات التي تتضمّن صورة واحدة إذا تم وضع هذه الصورة (أو الفيديو) قبل الطلب النصي. ومع ذلك، بالنسبة إلى الطلبات التي تتطلّب تداخل الصور مع النصوص بشكل كبير لتكون منطقية، استخدِم أي ترتيب يبدو طبيعيًا أكثر.
-
تحديد المشاكل في الطلب المتعدّد الوسائط وحلّها
- إذا لم يستخرج النموذج المعلومات من الجزء ذي الصلة من الصورة: يمكنك تقديم تلميحات حول جوانب الصورة التي تريد أن يستخرج الطلب المعلومات منها.
- إذا كانت مخرجات النموذج عامة جدًا (غير مخصّصة بما يكفي لإدخال الصورة/الفيديو): في بداية الطلب، حاوِل أن تطلب من النموذج وصف الصور أو الفيديو قبل تقديم تعليمات المهمة، أو حاوِل أن تطلب من النموذج الإشارة إلى ما في الصورة.
- لتحديد المشاكل وحلّها في الجزء الذي تعذّر تنفيذه: اطلب من النموذج وصف الصورة أو شرح منطقه لتقييم فهمه الأوّلي.
- إذا أدّى طلبك إلى إنشاء محتوى مهلوس: حاوِل خفض إعدادات درجة الحرارة أو اطلب من النموذج تقديم أوصاف أقصر لتقليل احتمالية استنتاج تفاصيل إضافية.
- ضبط مَعلَمات اختيار العيّنات: جرِّب إعدادات مختلفة لدرجة العشوائية واختيارات top-k لضبط مستوى إبداع النموذج.
قدِّم تعليمات محدّدة
تكون الطلبات أكثر نجاحًا عندما تكون واضحة ومفصّلة. إذا كانت لديك نتيجة محددة في ذهنك، من الأفضل تضمين هذا الشرط في الطلب لضمان الحصول على النتيجة التي تريدها.
بالنسبة إلى هذه الصورة التي تعرض لوحة في مطار، قد يؤدي طلب "وصف هذه الصورة" من النموذج إلى إنشاء وصف عام. إذا كنت بحاجة إلى أن يحلّل النموذج الوقت والمدينة من الصورة، يمكنك تضمين هذا الطلب مباشرةً في طلبك.
| الطلب | ردّ النموذج |
|---|---|
صِف هذه الصورة. |
تعرض الصورة لوحة الوصول والمغادرة في المطار. |
| الطلب المعدَّل | ردّ محسّن |
|---|---|
![]() حلِّل الوقت والمدينة من لوحة المطار المعروضة في هذه الصورة إلى قائمة. |
إضافة بعض الأمثلة
يمكن لنموذج Gemini قبول إدخالات متعددة يمكنه استخدامها كأمثلة لفهم الناتج الذي تريده. يمكن أن تساعد إضافة هذه الأمثلة النموذج في تحديد الأنماط وتطبيق العلاقة بين الصور والردود المحدّدة على المثال الجديد. ويُعرف ذلك أيضًا باسم التعلّم "ببضعة أمثلة".
في المثال التالي، تتم كتابة الناتج الأولي في شكل جملة، ويحتوي أيضًا على البلد (البرازيل). لنفترض أنّك تريد الحصول على الناتج بتنسيق أو أسلوب مختلف، وتريد فقط المدينة، وليس البلد. يمكن أن تؤدي إضافة أمثلة التلقين ببضعة أمثلة إلى طلبك إلى توجيه النموذج للرد بالطريقة التي تريدها.
| الطلب | ردّ النموذج |
|---|---|
![]() حدِّد المدينة مع المَعلم. |
المعلم هو تمثال "المسيح الفادي" في ريو دي جانيرو في البرازيل. |
| الطلب المعدَّل | ردّ محسّن |
|---|---|
|
حدِّد المدينة مع المَعلم.
|
المدينة: روما، المَعلم: الكولوسيوم. |
|
المدينة: بكين، المَعلم: المدينة المحرّمة |
|
المدينة: ريو دي جانيرو، المَعلم: تمثال المسيح الفادي |
تقسيمها إلى خطوات
بالنسبة إلى المهام المعقّدة، مثل تلك التي تتطلّب فهمًا مرئيًا واستدلالاً، قد يكون من المفيد تقسيم المهمة إلى خطوات أصغر وأكثر بساطة. بدلاً من ذلك، قد يكون من المفيد أيضًا أن تطلب من النموذج مباشرةً "التفكير خطوة بخطوة" في طلبك.
| الطلب | ردّ النموذج |
|---|---|
متى سينفد ورق التواليت؟ |
قريبًا، لن يتبقّى لديك سوى 3 لفات. |
| الطلب المعدَّل | ردّ محسّن |
|---|---|
|
|
تُعدّ المسائل الرياضية أو الأنواع الأخرى من المسائل الكلامية من أفضل الأمثلة التي يمكن من خلالها الطلب من النموذج التفكير خطوة بخطوة.
| الطلب | الردّ |
|---|---|
ما هو الحد الرابع في التسلسل؟ |
-135 |
ردّ النموذج غير صحيح. من بين الطرق لتحسين ذلك هي أن تطلب من النموذج تحليل المسألة قبل الإجابة عن الطلب.
| الطلب | الردّ |
|---|---|
يجب أولاً تحليل الصيغة في الصورة. بعد ذلك، استنادًا إلى الصيغة، أجب عن السؤال "ما هو الحد الرابع في المتتالية؟". |
انقر لتوسيع النتيجة$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
وبالتالي، فإنّ الحد الرابع في المتتالية هو -405. |
هذا الردّ من النموذج صحيح، ولكن لجعله أكثر بساطة، يمكنك أن تطلب من النموذج التفكير خطوة بخطوة.
| الطلب المعدَّل | ردّ محسّن |
|---|---|
ما هو الحد الرابع في التسلسل؟ فكِّر خطوة بخطوة. |
الحد الأول هو 15. الحد الثاني هو b(1) * (-3) = 15 * (-3) = -45. الحد الثالث هو b(2) * (-3) = -45 * (-3) = 135. الحد الرابع هو b(3) * (-3) = 135 * (-3) = -405. |
تحديد تنسيق الرسالة
من المشاكل الشائعة الحاجة إلى أن تكون مخرجات النموذج بتنسيق معيّن (مثل Markdown أو JSON أو HTML)، خاصةً إذا كانت مخرجات النموذج بحاجة إلى أن يتم استيعابها من خلال مهمة لاحقة. يمكنك محاولة إنشاء مخرجات بهذا التنسيق من خلال توجيه النموذج للقيام بذلك ضمن الطلب. فيما يلي مثالان:
| الطلب | ردّ النموذج |
|---|---|
أريد تحليل الجدول في هذه الصورة إلى تنسيق Markdown |
```none | الموضوع | الحالة | الوقت | تاريخ البدء | تاريخ التسليم | | ------- | ------ | ---- | ---------- | ------ | | الرياضيات | مكتملة | ساعة ونصف | 29/11/2023 | 1/12/2023 | | الجغرافيا | مكتملة | 30 دقيقة | 2/12/2023 | 4/12/2023 | | الفيزياء | قيد التقدّم | ساعتان | 3/12/2023 | 5/12/2023 | | الأحياء | لم يتم البدء | 6 ساعات | 2/11/2016 | 6/12/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 حفاضة. يشير الصندوق إلى أنّ الحفاضات مخصّصة لطفل يزن من 22 إلى 37 رطلاً. من المرجّح أن يكون متوسط عمر الطفل في هذا النطاق من الوزن بين سنة وسنتين. يستهلك الطفل البالغ من العمر عامَين عادةً 6 حفاضات في اليوم، وبالتالي ستكفي الحفاضات لمدة 33 يومًا تقريبًا (198/6). |
إذا كانت مخرجات النموذج عامة جدًا وغير مخصّصة بما يكفي للصورة المُدخلة
لمساعدة النموذج في تخصيص ردّه على الصور، اطلب منه وصف الصور قبل تنفيذ مهمة الاستدلال.
| الطلب | ردّ النموذج |
|---|---|
ما هو القاسم المشترك بين هذه الصور؟ |
الصور الأربع كلها أمثلة على تصوير المناظر الطبيعية. |
| الطلب المعدَّل | ردّ محسّن |
|---|---|
أولاً، صِف محتوى كل صورة بالتفصيل. ما هو القاسم المشترك بين هذه الصور؟ |
تعرض الصورة الأولى شخصًا يحزم حقيبة سفر. تعرض الصورة الثانية ممرًا فارغًا في مركز تسوّق. تعرض الصورة الثالثة لفة من ورق التواليت. تُظهر الصورة الرابعة بحرًا مظلمًا وعاصفًا. القاسم المشترك بين هذه الصور هو أنّها جميعًا أمثلة على المساحات الانتقالية. المساحات الانتقالية هي أماكن أو مواقف تقع بين مكانين أو موقفين آخرين. غالبًا ما تتميز بالشعور بعدم اليقين أو الغموض. تعرض الصورة الأولى الشخص بين كونه في المنزل وفي رحلة. تعرض الصورة الثانية الممر بين متجرَين. الصورة الثالثة هي لورق التواليت، والذي يمكن أن يمثل الحمام. الحمام هو مساحة انتقالية بين العوالم الخاصة والعامة. إنّه المكان الذي نستعد فيه لدخول العالم الخارجي أو مغادرته. تعرض الصورة الرابعة البحر بين الهدوء والعاصفة. يمكن أن تكون المساحات الانتقالية مثيرة ومقلقة في الوقت نفسه. يمكن أن تكون مكانًا لبداية جديدة أو مكانًا للنهايات. يمكن أن تكون مكانًا للتفكير أو مكانًا للعمل. |
يمكنك أيضًا أن تطلب من النموذج صراحةً الإشارة إلى ما في الصورة.
| الطلب المعدَّل | ردّ محسّن |
|---|---|
ما هو القاسم المشترك بين هذه الصور؟ أشِر إلى محتوى الصور في ردّك. |
جميع الصور مرتبطة بالسفر. تعرض الصورة الأولى شخصًا يحزم حقيبة سفر، وتعرض الصورة الثانية رواقًا فارغًا في مركز تسوّق، وتعرض الصورة الثالثة كومة من ورق التواليت، وتعرض الصورة الرابعة بحرًا مظلمًا وعاصفًا. هذه الصور كلها مرتبطة بالسفر لأنها كلها أشياء يحتاجها الناس أو يستخدمونها عندما يسافرون. تعرض الصورة الأولى شخصًا يحزم حقيبة سفر، وهو أمر يفعله الأشخاص عند الذهاب في رحلة. تعرض الصورة الثانية رواقًا فارغًا في مركز تسوّق، وهو مكان يذهب إليه الأشخاص غالبًا لشراء مستلزمات رحلاتهم. تعرض الصورة الثالثة كومة من ورق التواليت، وهو شيء يستخدمه الأشخاص غالبًا أثناء السفر. تعرض الصورة الرابعة بحرًا مظلمًا وعاصفًا، وهو أمر يواجهه الأشخاص غالبًا أثناء السفر. |
تنطبق النصائح نفسها على النتائج الإبداعية من الصور. في المثال التالي مع الأرنب، يمكن أن يؤدي الطلب من النموذج بشكل صريح تضمين جوانب من الصورة إلى تحسين الناتج.
| الطلب | ردّ النموذج |
|---|---|
هل يمكنك كتابة قصيدة حول هذه الصورة؟ |
أرنب صغير، ناعم وبني، تَقْضِمُ الْعُشْبَ الْأَخْضَرَ الْحُلْوَ، |
| الطلب المعدَّل | ردّ محسّن |
|---|---|
هل يمكنك كتابة قصيدة وصفية ومؤثرة حول هذه الصورة وتضمين الموقع الجغرافي؟ |
أرنب صغير على العشب الأخضر، هل هو لون المحيط الأزرق أرنب صغير، أخبرني الحقيقة، ربما بسبب اتساع هذا العالم أرنب صغير، أتساءل عما تحلم به، مهما كان الأمر، يا أرنبي الصغير، |
تحديد المشاكل وحلّها في الجزء الذي تعذّر تنفيذه من الطلب
قد يكون من الصعب معرفة ما إذا كان الطلب قد فشل لأنّ النموذج لم يفهم الصورة في البداية، أو لأنّه فهم الصورة ولكنّه لم ينفّذ خطوات الاستدلال الصحيحة بعد ذلك. للتفريق بين هذه الأسباب، اطلب من النموذج وصف ما في الصورة.
في المثال التالي، إذا اقترح النموذج وجبة خفيفة تبدو غريبة عند تناولها مع الشاي (مثل الفشار)، يمكنك أولاً تحديد المشاكل وحلّها لمعرفة ما إذا كان النموذج قد تعرّف بشكل صحيح على أنّ الصورة تحتوي على شاي.
| الطلب | طلب تحديد المشاكل وحلّها |
|---|---|
ما هي الوجبة الخفيفة التي يمكنني تحضيرها في دقيقة واحدة وتتناسب مع هذا المشروب؟ |
صِف محتوى هذه الصورة. |
هناك استراتيجية أخرى تتمثل في مطالبة النموذج بتوضيح منطقه. يمكن أن يساعدك ذلك في تحديد الجزء الذي حدث فيه الخلل في الاستدلال، إن وُجد.
| الطلب | طلب تحديد المشاكل وحلّها |
|---|---|
ما هي الوجبة الخفيفة التي يمكنني تحضيرها في دقيقة واحدة وتتناسب مع هذا المشروب؟ |
ما هي الوجبة الخفيفة التي يمكنني تحضيرها في دقيقة واحدة وتتناسب مع هذا المشروب؟ يُرجى توضيح السبب. |
الخطوات التالية
- جرِّب كتابة طلبات متعددة الوسائط باستخدام Google AI Studio.
- للحصول على معلومات حول استخدام Gemini Files API لتحميل ملفات الوسائط وتضمينها في طلباتك، يُرجى الاطّلاع على أدلة Vision والصوت ومعالجة المستندات.
- لمزيد من الإرشادات حول تصميم الطلبات، مثل ضبط مَعلمات أخذ العينات، يُرجى الاطّلاع على صفحة استراتيجيات الطلبات.
