Files API

Gemini mund të administrojë lloje të ndryshme të të dhënave hyrëse, duke përfshirë tekstin, imazhet dhe audion, në të njëjtën kohë.

Ky udhëzues të tregon se si të punosh me skedarët e medias duke përdorur Files API. Operacionet bazë janë të njëjta për skedarët audio, imazhet, videot, dokumentet dhe llojet e tjera të mbështetura të skedarëve.

Për udhëzime për kërkesat për skedarët, shiko seksionin Udhëzuesi për kërkesat për skedarët.

Ngarko një skedar

Mund të përdorësh Files API për të ngarkuar një skedar të medias. Përdor gjithmonë Files API kur madhësia totale e kërkesës (duke përfshirë skedarët, kërkesën me tekst, udhëzimet e sistemit etj.) është më e madhe se 100 MB. Për skedarët PDF, kufiri është 50 MB.

Kodi i mëposhtëm ngarkon një skedar dhe më pas e përdor skedarin në një telefonatë për 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();

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

Merr metadatat për një skedar

Mund të verifikosh që API-ja e ka ruajtur me sukses skedarin e ngarkuar dhe të marrësh metadatat e tij duke telefonuar 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();

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

Listo skedarët e ngarkuar

Kodi i mëposhtëm merr një listë të të gjithë skedarëve të ngarkuar:

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"

Fshi skedarët e ngarkuar

Skedarët fshihen automatikisht pas 48 orësh. Mund të fshish gjithashtu manualisht një skedar të ngarkuar:

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"

Informacionet e përdorimit

Mund të përdorësh Files API për të ngarkuar dhe për të ndërvepruar me skedarët e medias. Files API të lejon të ruash deri në 20 GB skedarë për projekt, me një madhësi maksimale për skedar prej 2 GB. Skedarët ruhen për 48 orë.

Gjatë asaj kohe, mund të përdorësh API-në për të marrë metadata rreth skedarëve. Megjithatë, nuk mund të shkarkosh skedarët e ngarkuar nga përdoruesit. Mund të shkarkosh skedarët e gjeneruar nga modelet, si p.sh. videot, duke përdorur metodën files.download. Files API ofrohet pa kosto në të gjitha rajonet ku ofrohet Gemini API.

Strategjitë e kërkesave për skedarët

Ky seksion ofron udhëzime dhe praktikat më të mira për përdorimin e skedarëve të medias me kërkesat për Gemini API.

Mundësia për të përdorur lloje të ndryshme të të dhënave në kërkesat e tua të jep më shumë fleksibilitet në lidhje me detyrat që mund të trajtosh me Gemini API. Për shembull, mund t'i dërgosh modelit një fotografi të një vakti të shijshëm dhe t'i kërkosh të shkruajë një blog të shkurtër për vaktin.

Kërkesë Përgjigjja

Shkruaj një postim të shkurtër dhe tërheqës në blog bazuar në këtë fotografi. Ajo duhet të përfshijë një përshkrim të vaktit në fotografi dhe të flasë për rrugëtimin tim me përgatitjen e vaktit.


Kukit

Përgatitja e vakteve është një mënyrë e shkëlqyer për të kursyer kohë dhe para, si dhe mund të të ndihmojë të ushqehesh më shëndetshëm. Ky vakt është një shembull i shkëlqyer i një vakti të shëndetshëm dhe të shijshëm që mund të përgatitet paraprakisht.

Ky vakt përfshin oriz kaf, perime të pjekura dhe pulë terijaki. Orizi i kaftë është një karbohidrat i shëndetshëm dhe kompleks që do të të japë energji të qëndrueshme. Perimet e pjekura janë një mënyrë e shkëlqyer për të marrë dozën tënde të përditshme të vitaminave dhe mineraleve, ndërsa pjata me pulë terijaki është një opsion i shijshëm dhe i pasur me proteina.

Ky vakt është gjithashtu i thjeshtë për t'u përgatitur. Thjesht gatuaj orizin kaf, piqi perimet dhe gatuaj pulën terijaki. Pasi të gatuhet gjithçka, ndaje në enë për përgatitjen e vakteve dhe ruaji ato në frigorifer. Më pas mund të marrësh një enë dhe të nisesh në mëngjeset e ngarkuara!

Nëse po kërkon për një vakt të shëndetshëm dhe të shijshëm që mund të përgatitet përpara kohe, ky vakt është një opsion i shkëlqyer. Është plot me lëndë ushqyese dhe shije dhe sigurisht që do të të bëjë të ndihesh i ngopur dhe i kënaqur.

Gëzuar për përgatitjen e vakteve të shëndetshme dhe të shijshme!

Nëse ke probleme me marrjen e rezultatit që dëshiron nga kërkesat që përdorin skedarë të medias, ka disa strategji që mund të të ndihmojnë të marrësh rezultatet që dëshiron. Seksionet e mëposhtme ofrojnë qasje të dizajnit dhe këshilla për zgjidhjen e problemeve për përmirësimin e kërkesave që përdorin hyrje multimodale.

Mund t'i përmirësosh kërkesat e tua multimodale duke ndjekur këto praktika më të mira:

  • Bazat e dizajnit të kërkesave

    • Tregohu specifik në udhëzimet e tua: Krijo udhëzime të qarta dhe koncize që lënë sa më pak hapësirë për keqinterpretim.
    • Shto disa shembuj në kërkesën tënde: Përdor shembuj realistë me pak shembuj për të ilustruar atë që dëshiron të arrish.
    • Zbërtheje hap pas hapi: Ndaji detyrat komplekse në nënobjektiva të menaxhueshëm, duke e udhëzuar modelin gjatë procesit.
    • Specifiko formatin e rezultatit: Në kërkesën tënde, kërko që rezultati të jetë në formatin që dëshiron, si p.sh. Markdown, JSON, HTML etj.
    • Vendose imazhin në fillim për kërkesat me një imazh të vetëm: Ndërkohë që Gemini mund të përpunojë hyrjet me imazhe dhe tekste në çdo renditje, për kërkesat që përmbajnë një imazh të vetëm, ai mund të funksionojë më mirë nëse imazhi (ose videoja) vendoset para kërkesës me tekst. Sidoqoftë, për kërkesat që kërkojnë që imazhet të jenë shumë të ndërthurura me tekstet për të pasur kuptim, përdor cilindo rend që është më i natyrshëm.
  • Zgjidhja e problemeve me kërkesën tënde multimodale

    • Nëse modeli nuk po merr informacione nga pjesa përkatëse e imazhit: Jep sugjerime se nga cilat aspekte të imazhit dëshiron që kërkesa të marrë informacione.
    • Nëse rezultati i modelit është shumë i përgjithshëm (nuk është i përshtatur mjaftueshëm për hyrjen e imazhit/videos): Në fillim të kërkesës, provo t'i kërkosh modelit të përshkruajë imazhet ose videon para se të japësh udhëzimin e detyrës ose provo t'i kërkosh modelit t'i referohet asaj që është në imazh.
    • Për të zgjidhur problemet se cila pjesë dështoi: Kërkoji modelit të përshkruajë imazhin ose kërkoji modelit të shpjegojë arsyetimin e tij për të vlerësuar kuptimin fillestar të modelit.
    • Nëse kërkesa jote rezulton në përmbajtje të halucinuar: Provo të ulësh cilësimin e temperaturës ose kërkoji modelit përshkrime më të shkurtra në mënyrë që të ketë më pak gjasa të ekstrapolojë detaje shtesë.
    • Rregullimi i parametrave të kampionimit: Eksperimento me cilësime të ndryshme të temperaturës dhe zgjedhje të top-k për të rregulluar krijimtarinë e modelit.

Ji specifik në udhëzimet e tua

Kërkesat kanë më shumë sukses kur janë të qarta dhe të detajuara. Nëse ke një rezultat specifik në mendje, është më mirë ta përfshish atë kërkesë në kërkesë për t'u siguruar që të marrësh rezultatin që dëshiron.

Për këtë imazh të një tabele aeroporti, nëse i kërkon modelit thjesht "përshkruaj këtë imazh", kjo mund të gjenerojë një përshkrim të përgjithshëm. Nëse ke nevojë që modeli të analizojë kohën dhe qytetin nga imazhi, mund ta përfshish atë kërkesë drejtpërdrejt në kërkesën tënde.

Kërkesa Përgjigjja e modelit

Përshkruaj këtë imazh.

Imazhi shfaq një tabelë të mbërritjeve dhe nisjeve në aeroport.

Kërkesa u përditësua Përgjigje e përmirësuar
Orari i udhëtimit

Analizo orën dhe qytetin nga tabela e aeroportit që shfaqet në këtë imazh në një listë.

  • 10:50 Moskë
  • 11:05 Edinburg
  • 11:05 Londër
  • 11:10 Bukuresht
  • 11:30, Kiev
  • 11:35 Dublin
  • 11:45 East Midlands
  • 12:15 Sofje
  • 12:30 Londër
  • 12:30 Njukasëll
  • 12:40 Shën-Pjetërburg
  • 12:40 Londër
  • 12:45 Mançester
  • Shto disa shembuj

    Modeli i Gemini mund të pranojë hyrje të shumëfishta, të cilat mund t'i përdorë si shembuj për të kuptuar rezultatin që dëshiron. Shtimi i këtyre shembujve mund ta ndihmojë modelin të identifikojë modelet dhe të zbatojë marrëdhënien midis imazheve të dhëna dhe përgjigjeve për shembullin e ri. Kjo quhet gjithashtu të mësuarit "me pak shembuj".

    Në shembullin e mëposhtëm, rezultati fillestar është shkruar në formë fjalie, dhe përfshin gjithashtu shtetin (Brazil). Ta zëmë se dëshiron që rezultati të jetë në një format ose stil tjetër dhe dëshiron vetëm qytetin, jo shtetin. Shtimi i shembujve me pak shembuj në kërkesën tënde mund ta drejtojë modelin që të përgjigjet në mënyrën që dëshiron ti.

    Kërkesë Përgjigjja e modelit
    Orari i udhëtimit

    Përcakto qytetin bashkë me pikën referuese.

    Pika e referimit është statuja e Krishtit Shpëtimtar në Rio-de-Zhaneiro, Brazil.

    Kërkesa u përditësua Përgjigje e përmirësuar

    Përcakto qytetin bashkë me pikën referuese.

    koloseu

    qyteti: Romë, pika referimi: Koloseu.

    Qyteti i Ndaluar

    qyteti: Pekin, pika referimi: Qyteti i Ndaluar

    qyteti-i-ndaluar

    qyteti: Rio-de-Zhaneiro, pika referimi: Statuja e Krishtit Shpëtimtar

    Analizoje hap pas hapi

    Për detyra komplekse, si ato që kërkojnë të kuptuarit vizual dhe arsyetimin, mund të jetë e dobishme që ta ndash detyrën në hapa më të vegjël dhe më të thjeshtë. Si alternativë, mund të jetë gjithashtu efikase nëse i kërkon drejtpërdrejt modelit të "mendojë hap pas hapi" në kërkesën tënde.

    Kërkesa Përgjigjja e modelit

    Kur do të më mbarojë letra higjienike?

    Së shpejti, do të të mbeten vetëm 3 rrotullime.

    Kërkesa u përditësua Përgjigje e përmirësuar
    1. Së pari, numëro sa rrotulla letre higjienike ka në këtë fotografi.
    2. Më pas, përcakto se sa letër higjienike përdor një person i zakonshëm në ditë.
    3. Llogarit se sa do të zgjasin këto role letre higjienike.
    1. Në këtë fotografi ka 3 rrotulla letre higjienike.
    2. Një person mesatar përdor rreth 20 fletë letre higjienike në ditë.
    3. Nëse çdo rrotull përmban 200 fletë, atëherë çdo rrotull do të zgjasë për rreth 10 ditë. Prandaj, 3 rrotullat do të zgjasin për rreth një muaj.

    Problemet matematikore ose llojet e tjera të problemeve me fjalë janë kandidatë të shkëlqyer për t'i kërkuar modelit të mendojë hap pas hapi.

    Kërkesë Përgjigjja

    Cili është termi i 4-të në sekuencë?

    -135

    Përgjigjja nga modeli është e pasaktë. Disa mënyra për ta përmirësuar këtë janë t'i kërkosh modelit të analizojë problemin para se t'i përgjigjet kërkesës.

    Kërkesë Përgjigjja

    Analizo formulën në imazh në fillim.

    Më pas, bazuar në formulë, përgjigju për "cili është termi i 4-t në sekuencë?".

    Kliko për të zgjeruar rezultatin

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

    $$ b(1) = 15 $$

    1. Zëvendëso n = 4 në formulë:

      $$ b(4) = b(4-1) * (-3) $$

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

    2. Nuk e dimë vlerën e b(3), kështu që zëvendëso n = 3 në formulë:

      $$ b(3) = b(3-1) * (-3) $$

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

    3. Nuk e dimë vlerën e b(2), prandaj zëvendëso n = 2 në formulë:

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

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

    4. Ne e dimë që vlera e b(1) është 15, kështu që zëvendësoje atë në formulë:

      $$ b(2) = 15 * (-3) $$

      $$ b(2) = -45 $$

    5. Tani që e dimë vlerën e b(2), zëvendësoje atë në formulën për b(3):

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

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

      $$ b(3) = 135 $$

    6. Tani që e dimë vlerën e b(3), zëvendësoje atë në formulën për b(4):

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

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

      $$ b(4) = -405 $$

    Prandaj, termi i 4-t në sekuencë është -405.

    Kjo përgjigje e modelit është e saktë - tani, për ta bërë përgjigjen edhe më të përmbledhur, mund t'i kërkosh modelit të mendojë hap pas hapi.

    Kërkesa u përditësua Përgjigje e përmirësuar

    Cili është termi i 4-të në sekuencë? Mendo hap pas hapi.

    Kushti i parë është 15.

    Kufiza e dytë është b(1) * (-3) = 15 * (-3) = -45.

    Kufiza e tretë është b(2) * (-3) = -45 * (-3) = 135.

    Termi i katërt është b(3) * (-3) = 135 * (-3) = -405.

    Specifiko formatin e daljes

    Një problem i zakonshëm është nevoja që rezultati i modelit të jetë në një format të caktuar (p.sh. Markdown, JSON, HTML), sidomos nëse rezultati i modelit duhet të integrohet nga një detyrë e mëvonshme. Mund të provosh të prodhosh rezultate në atë format duke e udhëzuar modelin që ta bëjë këtë brenda kërkesës. Më poshtë janë dy shembuj:

    Kërkesa Përgjigjja e modelit

    Analizo tabelën në këtë imazh në formatin e "Shënimit të formatit"

    ```none | Lënda | Statusi | Koha | Data e fillimit | Afati | | ------- | ------ | ---- | ---------- | ------ | | Matematikë | Përfunduar | 1,5 orë | 29.11.2023 | 1.12.2023 | | Gjeografi | Përfunduar | 30 min. | 2.12.2023 | 4.12.2023 | | Fizikë | Në vazhdim | 2 orë | 3.12.2023 | 5.12.2023 | | Biologji | Nuk ka filluar | 6 orë | 2.11.2016 | 6.12.2023 | ```
    Kërkesë Përgjigjja e modelit

    Jep një listë të të gjitha atributeve të mëposhtme:

    përbërësit, lloji i kuzhinës, vegjetariane ose jo, në formatin JSON

    ```json { "ingredients": [ "rice", "shrimp", "clams", "mussels", "peas", "tomatoes", "onions", "garlic", "olive oil", "paprika", "salt", "pepper" ], "type of cuisine": "Spanish", "vegetarian": false } ```

    Vendose imazhin tënd në fillim për kërkesat me një imazh

    Ndërkohë që Gemini mund të interpretojë imazhin dhe tekstin në çdo renditje brenda një kërkese, vendosja e një imazhi të vetëm para kërkesës me tekst mund të sjellë rezultate më të mira. Në shembujt e mëposhtëm, do të vëresh se imazhi vjen para tekstit në çdo kërkesë.

    Zgjidhja e problemeve me kërkesën tënde multimodale

    Mund të të duhet të zgjidhësh problemet me kërkesën tënde nëse nuk po merr një përgjigje të dobishme. Këtu janë disa strategji që mund të provosh.

    Nëse modeli nuk po merr informacione nga pjesa përkatëse e imazhit

    Për të marrë një përgjigje më specifike, mund të tregosh se nga cilat aspekte të imazhit dëshiron që kërkesa të nxjerrë informacione për të informuar përgjigjen e saj.

    Kërkesa Përgjigjja e modelit

    Për sa ditë i mjaftojnë këto pelena një foshnjeje?

    Pelenat do të zgjasin për 198 ditë para se të mbarojnë.

    Kërkesa u përditësua Përgjigje e përmirësuar

    Sa do të zgjasin këto pelena para se të mbarojnë?

    Përdor peshën e shfaqur në kuti për të përcaktuar moshën e fëmijës dhe përdor numrin total të pelenave në kuti.

    Pjesëto numrin total me numrin e pelenave që fëmija përdor në ditë.

    Kutia përmban 198 pelena. Kutia tregon se pelenat janë për një fëmijë me peshë 10-17 kg.

    Fëmija mesatar në këtë diapazon peshe është ndoshta midis 1 dhe 2 vjeç.

    Një fëmijë 2 vjeç zakonisht përdor 6 pelena në ditë, prandaj pelenat do të zgjasin rreth 33 ditë (198/6).

    Nëse rezultati i modelit është shumë i përgjithshëm dhe jo mjaftueshëm i personalizuar për hyrjen e imazhit

    Për ta ndihmuar modelin që ta personalizojë përgjigjen e tij për imazhet, provo t'i kërkosh që t'i përshkruajë imazhet para se të kryejë detyrën e tij të arsyetimit.

    Kërkesa Përgjigjja e modelit

    Çfarë kanë të përbashkët këto imazhe?

    Të katër imazhet janë shembuj të fotografisë së peizazhit.

    Kërkesa u përditësua Përgjigje e përmirësuar

    Në fillim, përshkruaj në detaje se çfarë ka në çdo imazh. Çfarë kanë të përbashkët këto imazhe?

    Imazhi i parë shfaq një person duke paketuar një valixhe. Imazhi i dytë shfaq një korridor bosh në një qendër tregtare. Imazhi i tretë shfaq një rrotull letre higjienike. Imazhi i katërt tregon një det të errët dhe të trazuar.

    E përbashkëta mes këtyre imazheve është se ato janë të gjitha shembuj të hapësirave liminale. Hapësirat liminale janë vende ose situata që janë ndërmjet dy vendeve ose situatave të tjera. Ato shpesh karakterizohen nga një ndjenjë pasigurie ose paqartësie.

    Imazhi i parë shfaq personin në një moment mes të qenit në shtëpi dhe të qenit në një udhëtim. Imazhi i dytë shfaq korridorin midis dy dyqaneve. Imazhi i tretë është i letrës higjienike, e cila mund të përfaqësojë një tualet. Një tualet është një hapësirë kalimtare midis sferës private dhe asaj publike. Është një vend ku ne përgatitemi për të hyrë ose për t'u larguar nga bota e jashtme.

    Imazhi i katërt shfaq detin mes të qetit dhe të trazuarit.

    Hapësirat liminale mund të jenë emocionuese dhe shqetësuese. Ato mund të jenë një vend i një fillimi të ri ose një vend i përfundimeve. Ato mund të jenë një vend reflektimi ose një vend veprimi.

    Mund të provosh gjithashtu t'i kërkosh në mënyrë të qartë modelit t'i referohet asaj që është në imazh.

    Kërkesa u përditësua Përgjigje e përmirësuar

    Çfarë kanë të përbashkët këto imazhe? Referoju asaj që gjendet në imazhe në përgjigjen tënde.

    Të gjitha imazhet kanë lidhje me udhëtimet. Imazhi i parë shfaq një person që po paketon një valixhe, imazhi i dytë shfaq një korridor bosh në një qendër tregtare, imazhi i tretë shfaq një pirg me letra higjienike dhe imazhi i katërt shfaq një det të errët dhe me stuhi.

    Këto imazhe lidhen të gjitha me udhëtimin sepse janë të gjitha gjëra që njerëzit kanë nevojë ose i përdorin kur udhëtojnë. Imazhi i parë shfaq një person që po paketon një valixhe, gjë që njerëzit e bëjnë kur do të shkojnë në një udhëtim. Imazhi i dytë shfaq një korridor bosh në një qendër tregtare, që është një vend ku njerëzit shpesh shkojnë për të blerë gjëra për udhëtimet e tyre. Imazhi i tretë shfaq një pirg me letër higjienike, që është diçka që njerëzit e përdorin shpesh kur udhëtojnë. Imazhi i katërt shfaq një det të errët dhe të trazuar, gjë që njerëzit e hasin shpesh kur udhëtojnë.

    Të njëjtat këshilla funksionojnë për rezultatet krijuese nga imazhet. Në shembullin e mëposhtëm me lepurin, kërkesa në mënyrë të qartë që modeli të përfshijë aspekte nga imazhi mund të përmirësojë rezultatin.

    Kërkesa Përgjigjja e modelit

    A mund të më shkruash një poezi për këtë imazh?

    Lepurush i vogël, kaq i butë dhe kafe,
    Kërcen nëpër fushë, lart e poshtë.
    Veshët e gjatë, bishti i vogël,
    Je krijesa më e bukur nga të gjitha.

    Ti gërryen barin, aq të gjelbër dhe të ëmbël,
    Dhe hidhesh larg kur më sheh mua.
    Por unë do të jem gjithmonë miku yt,
    Lepurush i vogël, deri në fund.

    Kërkesa u përditësua Përgjigje e përmirësuar

    A mund të më shkruash një poezi përshkruese dhe dramatike për këtë imazh dhe të përfshish vendndodhjen?

    Lepurushi i vogël në lëndinë,
    Veshët e gjatë, dëgjon me vëmendje.
    Çfarë shikon atje,
    Në distancë, ku po vështron?

    A është bluja e oqeanit,
    Që shkëlqen nën rrezet e diellit?
    Apo dallgët që përplasen dhe gjëmojnë,
    Një ritëm që ti adhuron?

    Lepurush i vogël, më trego të vërtetën,
    Çfarë ta tërheq vëmendjen kështu?
    A është flladi i kripur,
    Apo britmat e pulëbardhave që të kënaqin?

    Ndoshta është pafundësia e gjithçkaje,
    Një botë kaq e madhe dhe e vogël.
    Një vend ku ëndrrat mund të bredhin,
    Dhe aventurat mund të mbillen.

    Lepurush i vogël, çfarë ëndërron,
    Ndërsa ulesh në bar, kaq i qetë.
    A dëshiron të eksplorosh thellësitë,
    Apo të qëndrosh në tokë, ku mund të kërcesh?

    Çfarëdo që të jetë, o lepurush i vogël,
    Mbaje të ndezur fort atë shkëndijë mrekullie.
    Sepse në ëndrrat dhe aspiratat e tua,
    Shtrihet një botë që pret krijimin tënd.

    Zgjidhja e problemeve se cila pjesë e kërkesës dështoi

    Mund të jetë e vështirë të dihet nëse një kërkesë dështoi sepse modeli nuk e kuptoi imazhin fillimisht, apo nëse e kuptoi imazhin, por nuk kreu hapat e duhur të arsyetimit më pas. Për të sqaruar këto arsye, kërkoji modelit të përshkruajë se çfarë ka në imazh.

    Në shembullin e mëposhtëm, nëse modeli përgjigjet me një meze të lehtë që duket befasuese kur kombinohet me çaj (p.sh. kokoshka), mund të zgjidhësh fillimisht problemet për të përcaktuar nëse modeli e ka njohur saktë që imazhi përmban çaj.

    Kërkesa Kërkesa për zgjidhjen e problemeve

    Çfarë mezeje të lehtë mund të përgatis në 1 minutë që do të kombinohej mirë me këtë?

    Përshkruaj se çfarë ka në këtë imazh.

    Një strategji tjetër është t'i kërkosh modelit të shpjegojë arsyetimin e tij. Kjo mund të të ndihmojë të kufizosh se cila pjesë e arsyetimit nuk funksionoi, nëse ka të tillë.

    Kërkesa Kërkesa për zgjidhjen e problemeve

    Çfarë mezeje të lehtë mund të përgatis në 1 minutë që do të kombinohej mirë me këtë?

    Çfarë mezeje të lehtë mund të përgatis në 1 minutë që do të kombinohej mirë me këtë? Shpjego arsyen.

    Çfarë ka më pas

    • Provo të shkruash kërkesat e tua multimodale duke përdorur Google AI Studio.
    • Për informacione për përdorimin e Gemini Files API për ngarkimin e skedarëve të medias dhe përfshirjen e tyre në kërkesat e tua, shiko udhëzuesit për Vision, Audio dhe Përpunimin e dokumenteve.
    • Për më shumë udhëzime për dizajnin e kërkesave, si p.sh. rregullimi i parametrave të kampionimit, shiko faqen Strategjitë e kërkesave.