Gemini, metin, resim ve ses gibi çeşitli giriş verilerini aynı anda işleyebilir.
Bu kılavuzda, Files API'yi kullanarak medya dosyalarıyla nasıl çalışacağınız gösterilmektedir. Ses dosyaları, resimler, videolar, dokümanlar ve desteklenen diğer dosya türleri için temel işlemler aynıdır.
Dosya istemiyle ilgili rehberlik için Dosya istemi kılavuzu bölümüne göz atın.
Dosya yükleyin
Medya dosyası yüklemek için Files API'yi kullanabilirsiniz. Toplam istek boyutu (dosyalar, metin istemi, sistem talimatları vb. dahil) 100 MB'tan büyük olduğunda her zaman Files API'yi kullanın. Bu sınır, PDF dosyaları için 50 MB'tır.
Aşağıdaki kod bir dosya yükler ve ardından dosyayı interactions.create çağrısında kullanır.
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();
Java
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
Bir dosyanın meta verilerini alma
files.get işlevini çağırarak API'nin yüklenen dosyayı başarıyla depoladığını ve dosyanın meta verilerini aldığını doğrulayabilirsiniz.
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();
Java
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
Yüklenen dosyaları listeleme
Aşağıdaki kod, yüklenen tüm dosyaların listesini alır:
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();
Java
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"
Yüklenen dosyaları silme
Dosyalar 48 saat sonra otomatik olarak silinir. Yüklenen bir dosyayı manuel olarak da silebilirsiniz:
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();
Java
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"
Kullanım bilgileri
Medya dosyalarını yüklemek ve bunlarla etkileşim kurmak için Files API'yi kullanabilirsiniz. Files API, proje başına 20 GB'a kadar dosya depolamanıza olanak tanır. Dosya başına maksimum boyut 2 GB'tır. Dosyalar 48 saat boyunca saklanır.
Bu süre zarfında, dosyalarla ilgili meta verileri almak için API'yi kullanabilirsiniz. Ancak kullanıcılar tarafından yüklenen dosyaları indiremezsiniz. Modeller tarafından oluşturulan dosyaları (ör. videolar) files.download yöntemini kullanarak indirebilirsiniz. Files API, Gemini API'nin kullanılabildiği tüm bölgelerde ücretsiz olarak kullanılabilir.
Dosya istemi stratejileri
Bu bölümde, Gemini API istemleriyle medya dosyalarını kullanmaya yönelik yönergeler ve en iyi uygulamalar yer almaktadır.
İstemlerinizde çeşitli veri türlerini kullanabilmek, Gemini API ile gerçekleştirebileceğiniz görevler açısından size daha fazla esneklik sağlar. Örneğin, modele lezzetli bir yemeğin fotoğrafını gönderip yemekle ilgili kısa bir blog yazmasını isteyebilirsiniz.
| İstem | Yanıt |
|
Bu resme dayalı olarak kısa ve ilgi çekici bir blog yayını yaz. Fotoğraftaki yemeğin açıklamasını içermeli ve yemek hazırlama yolculuğumdan bahsetmeli.
|
Öğün hazırlama, zamandan ve paradan tasarruf etmenin harika bir yoludur. Ayrıca daha sağlıklı beslenmenize de yardımcı olabilir. Bu yemek, önceden hazırlanabilen sağlıklı ve lezzetli bir yemeğe harika bir örnektir. Bu öğünde kahverengi pirinç, fırında sebzeler ve teriyaki soslu tavuk bulunur. Esmer pirinç, uzun süre enerji sağlayacak sağlıklı ve kompleks bir karbonhidrattır. Közlenmiş sebzeler, günlük vitamin ve mineral ihtiyacınızı karşılamanın harika bir yoludur. Teriyaki soslu tavuk ise lezzetli ve protein açısından zengin bir seçenektir. Bu yemeği hazırlamak da kolaydır. Kahverengi pirinci pişirin, sebzeleri fırında kızartın ve teriyaki soslu tavuğu pişirin. Her şey piştikten sonra porsiyonluk kaplara bölüp buzdolabında saklayın. Yoğun sabahlarınızda bir kap alıp hemen çıkabilirsiniz. Önceden hazırlanabilen sağlıklı ve lezzetli bir öğün arıyorsanız bu yemek tam size göre. Besin değeri yüksek ve lezzetli olan bu yemek, sizi tok tutacak ve tatmin edecek. Sağlıklı ve lezzetli yemek hazırlama! |
Medya dosyalarını kullanan istemlerden istediğiniz çıkışı almakta sorun yaşıyorsanız istediğiniz sonuçları elde etmenize yardımcı olabilecek bazı stratejiler vardır. Aşağıdaki bölümlerde, çok formatlı giriş kullanan istemleri iyileştirmeye yönelik tasarım yaklaşımları ve sorun giderme ipuçları verilmektedir.
Aşağıdaki en iyi uygulamaları izleyerek çok formatlı istemlerinizi iyileştirebilirsiniz:
-
İstem tasarımının temelleri
- Talimatlarınızda net olun: Yanlış yorumlamaya en az yer bırakacak şekilde net ve kısa talimatlar oluşturun.
- İsteminize birkaç örnek ekleyin: Elde etmek istediğiniz sonucu göstermek için gerçekçi few-shot örnekleri kullanın.
- Adım adım ilerleyin: Karmaşık görevleri yönetilebilir alt hedeflere bölerek modele süreç boyunca rehberlik edin.
- Çıkış biçimini belirtin: İsteminizde çıkışın Markdown, JSON, HTML gibi istediğiniz biçimde olmasını talep edin.
- Tek resimli istemlerde resminizi ilk sıraya koyun: Gemini, resim ve metin girişlerini herhangi bir sırayla işleyebilir ancak tek bir resim içeren istemlerde, bu resim (veya video) metin isteminden önce yerleştirilirse daha iyi performans gösterebilir. Ancak anlamlı olması için resimlerin metinlerle yoğun bir şekilde iç içe geçmesini gerektiren istemlerde en doğal olan sırayı kullanın.
-
Çok formatlı istem yazma sorunlarını giderme
- Model, görüntünün alakalı kısmından bilgi almıyorsa: İstemde, görüntünün hangi kısımlarından bilgi alınmasını istediğinize dair ipuçları verin.
- Model çıktısı çok genel ise (resim/video girişine yeterince uyarlanmamışsa): İstemin başında, görev talimatını vermeden önce modelden resimleri veya videoyu açıklamasını ya da resimde ne olduğunu belirtmesini isteyin.
- Hangi bölümün başarısız olduğunu gidermek için: Modelden görüntüyü açıklamasını veya akıl yürütmesini açıklamasını isteyerek modelin ilk anlayışını ölçün.
- İsteminiz halüsinasyonlu içerik üretiyorsa: Sıcaklık ayarını düşürmeyi veya modelden daha kısa açıklamalar istemeyi deneyin. Böylece modelin ek ayrıntılar uydurma olasılığı azalır.
- Örnekleme parametrelerini ayarlama: Modelin yaratıcılığını ayarlamak için farklı sıcaklık ayarları ve top-k seçimleriyle denemeler yapın.
Talimatlarınızda ayrıntılı bilgi verin
İstemler en iyi sonucu net ve ayrıntılı olduğunda verir. Aklınızda belirli bir çıktı varsa istediğiniz çıktıyı elde etmek için bu şartı isteme eklemeniz daha iyi olur.
Havaalanı panosunun bu görüntüsü için modelden yalnızca "bu görüntüyü açıklamasını" istemek genel bir açıklama oluşturabilir. Modelin resimdeki zamanı ve şehri ayrıştırması gerekiyorsa bu isteği doğrudan isteminize ekleyebilirsiniz.
| İstem | Model yanıtı |
|---|---|
Bu resmi tanımla. |
Resimde, havaalanındaki gelen ve giden uçuşlar panosu gösteriliyor. |
| Güncellenen istem | İyileştirilmiş yanıt |
|---|---|
![]() Parse the time and city from the airport board shown in this image into a list. |
Birkaç örnek ekleyin
Gemini modeli, istediğiniz çıktıyı anlamak için örnek olarak kullanabileceği birden fazla girişi kabul edebilir. Bu örnekleri eklemek, modelin kalıpları belirlemesine ve verilen resimler ile yanıtlar arasındaki ilişkiyi yeni örneğe uygulamasına yardımcı olabilir. Buna "few-shot" öğrenme de denir.
Aşağıdaki örnekte, ilk çıkış cümle biçiminde yazılmıştır ve ülke (Brezilya) bilgisini de içerir. Çıktının farklı bir biçimde veya stilde olmasını ve ülke değil, yalnızca şehir bilgisinin verilmesini istediğinizi varsayalım. İsteminize few-shot örnekleri ekleyerek modelin istediğiniz şekilde yanıt vermesini sağlayabilirsiniz.
| İstem | Model yanıtı |
|---|---|
![]() Şehri ve simge yapıyı belirleyin. |
Bu önemli yer, Brezilya'nın Rio de Janeiro kentindeki Kurtarıcı İsa heykelidir. |
| Güncellenen istem | Daha iyi yanıt |
|---|---|
|
Şehri ve simge yapıyı belirleyin.
|
Şehir: Roma, önemli yer: Kolezyum. |
|
city: Beijing, landmark: Forbidden City |
|
şehir: Rio de Janeiro, simge yapı: Christ the Redeemer heykeli |
Adım adım açıklama
Hem görsel anlayış hem de akıl yürütme gerektiren karmaşık görevlerde, görevi daha küçük ve daha basit adımlara bölmek faydalı olabilir. Alternatif olarak, isteminizde doğrudan modelden "adım adım düşünmesini" istemek de etkili olabilir.
| İstem | Model yanıtı |
|---|---|
Tuvalet kağıdım ne zaman biter? |
Yakında yalnızca 3 rulo kalacak. |
| Güncellenen istem | Daha iyi yanıt |
|---|---|
|
|
Matematik problemleri veya diğer sözel problemler, modelden adım adım düşünmesini istemek için idealdir.
| İstem | Yanıt |
|---|---|
Dizideki 4. terim nedir? |
-135 |
Modelden gelen yanıt yanlış. Bunu iyileştirmenin bazı yolları, modelden isteme yanıt vermeden önce sorunu ayrıştırmasını istemektir.
| İstem | Yanıt |
|---|---|
Önce resimdeki formülü ayrıştırın. Ardından, formüle göre "Dizideki 4. terim nedir?" sorusunu yanıtlayın. |
Sonucu genişletmek için tıklayın$$ b(n) = b(n-1) * (-3) $$ $$ b(1) = 15 $$
Bu nedenle, dizideki 4. terim -405'tir. |
Modelin bu yanıtı doğru. Yanıtı daha da akıcı hale getirmek için modelden adım adım düşünmesini isteyebilirsiniz.
| Güncellenen istem | Daha iyi yanıt |
|---|---|
Dizideki 4. terim nedir? Adım adım düşünün. |
İlk terim 15'tir. İkinci terim b(1) * (-3) = 15 * (-3) = -45 olur. Üçüncü terim b(2) * (-3) = -45 * (-3) = 135'tir. Dördüncü terim b(3) * (-3) = 135 * (-3) = -405'tir. |
Çıkış biçimini belirtin
Sık karşılaşılan sorunlardan biri, model çıkışının belirli bir biçimde (ör.Markdown, JSON, HTML) olması gerektiğidir. Bu durum, özellikle model çıkışının bir sonraki görev tarafından alınması gerektiğinde geçerlidir. İstemde modele talimat vererek bu biçimde çıkış üretmesini deneyebilirsiniz. Aşağıda iki örnek verilmiştir:
| İstem | Model yanıtı |
|---|---|
Bu resimdeki tabloyu Markdown biçiminde ayrıştır |
```none | Konu | Durum | Süre | Başlangıç tarihi | Son tarih | | ------- | ------ | ---- | ---------- | ------ | | Matematik | Tamamlandı | 1,5 saat | 29.11.2023 | 01.12.2023 | | Coğrafya | Tamamlandı | 30 dakika | 02.12.2023 | 04.12.2023 | | Fizik | Devam ediyor | 2 saat | 03.12.2023 | 05.12.2023 | | Biyoloji | Başlatılmadı | 6 saat | 02.11.2016 | 06.12.2023 | ``` |
| İstem | Model yanıtı |
|---|---|
Aşağıdaki tüm özelliklerin listesini sağlayın: malzemeler, mutfak türü, vejetaryen olup olmadığı, JSON biçiminde |
```json { "ingredients": [ "rice", "shrimp", "clams", "mussels", "peas", "tomatoes", "onions", "garlic", "olive oil", "paprika", "salt", "pepper" ], "type of cuisine": "Spanish", "vegetarian": false } ``` |
Tek resimli istemlerde önce resminizi ekleyin
Gemini, bir istemdeki resim ve metni herhangi bir sırayla yorumlayabilir ancak metin isteminden önce tek bir resim yerleştirmek daha iyi sonuçlar verebilir. Aşağıdaki örneklerde, her istemde resmin metinden önce geldiğini göreceksiniz.
Çok formatlı istem yazma sorunlarını giderme
Faydalı bir yanıt alamıyorsanız isteminizle ilgili sorunları gidermeniz gerekebilir. Deneyebileceğiniz birkaç strateji:
Model, görüntünün ilgili bölümünden bilgi almıyorsa
Daha spesifik bir yanıt almak için istemin, yanıtını oluştururken hangi yönlerden bilgi almasını istediğinizi belirtebilirsiniz.
| İstem | Model yanıtı |
|---|---|
Bu bebek bezleri bir bebeğe kaç gün yeter? |
Bezler 198 gün boyunca yeterli olacaktır. |
| Güncellenen istem | İyileştirilmiş yanıt |
|---|---|
Bu bezler ne kadar süre yeter? Çocuğun yaşını belirlemek için kutuda gösterilen ağırlığı ve kutudaki toplam bebek bezi sayısını kullanın. Toplam sayıyı, çocuğun günde kullandığı bez sayısına bölün. |
Kutuda 198 bebek bezi var. Kutuda, bezlerin 10-17 kg ağırlığındaki çocuklar için olduğu belirtiliyor. Bu ağırlık aralığındaki ortalama bir çocuğun yaşı muhtemelen 1 ile 2 arasındadır. 2 yaşındaki bir çocuk genellikle günde 6 bez kullanır. Bu nedenle, bezler yaklaşık 33 gün (198/6) dayanır. |
Model çıkışı çok genel ve resim girişine yeterince uyarlanmamışsa
Modelin yanıtını resimlere göre uyarlamasına yardımcı olmak için akıl yürütme görevini gerçekleştirmeden önce resimleri açıklamasını isteyin.
| İstem | Model yanıtı |
|---|---|
Bu resimlerin ortak noktası nedir? |
Dört resim de manzara fotoğrafçılığına örnektir. |
| Güncellenen istem | Daha iyi yanıt |
|---|---|
Öncelikle her resimde ne olduğunu ayrıntılı olarak açıklayın. Bu resimlerin ortak noktası nedir? |
İlk resimde bavul hazırlayan bir kişi gösteriliyor. İkinci resimde, bir alışveriş merkezindeki boş koridor gösteriliyor. Üçüncü resimde bir rulo tuvalet kağıdı gösterilmektedir. Dördüncü resimde karanlık ve fırtınalı bir deniz gösteriliyor. Bu resimlerin ortak noktası, hepsinin geçiş alanlarına örnek olmasıdır. Eşik alanlar, iki farklı yer veya durumun arasında kalan yerler ya da durumlardır. Genellikle belirsizlik veya muğlaklık hissiyle karakterize edilirler. İlk resimde, kişinin evde ve seyahatte olma durumu arasında kaldığı gösteriliyor. İkinci resimde, iki mağaza arasındaki koridor gösteriliyor. Üçüncü resimde, banyoyu temsil edebilecek tuvalet kağıdı gösteriliyor. Banyo, özel ve kamusal alanlar arasında geçiş sağlayan bir mekandır. Dış dünyaya girmeye veya dış dünyadan ayrılmaya hazırlandığımız bir yerdir. Dördüncü resimde deniz, sakin ve fırtınalı arasında bir durumda gösteriliyor. Eşik alanlar hem heyecan verici hem de rahatsız edici olabilir. Yeni bir başlangıç veya sonun yeri olabilirler. Düşünme veya harekete geçme yeri olabilirler. |
Ayrıca, modelden görüntüdeki bilgilere açıkça atıfta bulunmasını da isteyebilirsiniz.
| Güncellenen istem | Daha iyi yanıt |
|---|---|
Bu resimlerin ortak noktası nedir? Yanıtınızda resimlerdeki öğelere atıfta bulunun. |
Tüm resimler seyahatle ilgilidir. İlk resimde valiz hazırlayan bir kişi, ikinci resimde alışveriş merkezindeki boş bir koridor, üçüncü resimde bir rulo tuvalet kağıdı, dördüncü resimde ise karanlık ve fırtınalı bir deniz gösteriliyor. Bu resimlerin tümü seyahatle ilgilidir çünkü hepsi insanların seyahat ederken ihtiyaç duyduğu veya kullandığı şeylerdir. İlk resimde, bir valizi hazırlayan bir kişi gösteriliyor. Bu, insanların seyahate çıkarken yaptığı bir şeydir. İkinci resimde, insanların seyahatleri için eşya satın almak üzere sık sık gittiği bir yer olan alışveriş merkezindeki boş bir koridor gösteriliyor. Üçüncü resimde, insanların seyahat ederken sıkça kullandığı tuvalet kağıdı rulosu gösteriliyor. Dördüncü resimde, insanların seyahat ederken sıkça karşılaştığı karanlık ve fırtınalı bir deniz gösteriliyor. |
Aynı ipuçları, resimlerden elde edilen yaratıcı çıktılar için de geçerlidir. Tavşanla ilgili aşağıdaki örnekte, modelden resimdeki unsurları dahil etmesini açıkça istemek çıkışı iyileştirebilir.
| İstem | Model yanıtı |
|---|---|
Bu görsel hakkında bir şiir yazabilir misin? |
Küçük tavşan, yumuşak ve kahverengi, Yeşil ve tatlı çimleri yersin, |
| Güncellenen istem | İyileştirilmiş yanıt |
|---|---|
Bu görsel hakkında, konumu da içeren, açıklayıcı ve dramatik bir şiir yazabilir misin? |
Küçük tavşan yeşillikte, Is it the ocean blue, Küçük tavşan, doğruyu söyle bana, Belki de her şeyin uçsuz bucaksızlığıdır, Küçük tavşan, rüyanda ne görüyorsun acaba? Ne olursa olsun, küçük tavşan, |
İstemin hangi bölümünün başarısız olduğunu belirleme
Bir istemin başarısız olmasının nedeni, modelin başlangıçta görüntüyü anlamaması mı yoksa görüntüyü anlamasına rağmen doğru akıl yürütme adımlarını uygulamaması mı, bunu anlamak zor olabilir. Bu nedenleri netleştirmek için modelden resimde ne olduğunu açıklamasını isteyin.
Aşağıdaki örnekte, model çayla birlikte tüketildiğinde şaşırtıcı görünen bir atıştırmalıkla (ör. patlamış mısır) yanıt verirse öncelikle modelin resimde çay olduğunu doğru şekilde algılayıp algılamadığını belirlemek için sorun giderebilirsiniz.
| İstem | Sorun giderme istemi |
|---|---|
Bununla iyi gidecek ve 1 dakikada hazırlayabileceğim bir atıştırmalık önerir misin? |
Bu resimde ne olduğunu açıklayın. |
Diğer bir strateji de modelden akıl yürütme sürecini açıklamasını istemektir. Bu, muhakemenin hangi kısmında sorun olduğunu (varsa) belirlemenize yardımcı olabilir.
| İstem | Sorun giderme istemi |
|---|---|
Bununla iyi gidecek ve 1 dakikada hazırlayabileceğim bir atıştırmalık önerir misin? |
Bununla iyi gidecek, 1 dakikada hazırlayabileceğim bir atıştırmalık önerir misin? Lütfen nedeniyle birlikte açıklayın. |
Sırada ne var?
- Google AI Studio'yu kullanarak kendi çok formatlı istemlerinizi yazmayı deneyin.
- Medya dosyalarını yüklemek ve istemlerinize dahil etmek için Gemini Files API'yi kullanma hakkında bilgi edinmek istiyorsanız Vision, Ses ve Belge işleme kılavuzlarını inceleyin.
- Örnekleme parametrelerini ayarlama gibi istem tasarımıyla ilgili daha fazla bilgi için İstem stratejileri sayfasını inceleyin.
