API Tệp

Nhóm mô hình trí tuệ nhân tạo (AI) Gemini được xây dựng để xử lý nhiều loại dữ liệu đầu vào, bao gồm văn bản, hình ảnh và âm thanh. Vì các mô hình này có thể xử lý nhiều loại hoặc chế độ dữ liệu, nên các mô hình Gemini được gọi là mô hình đa phương thức hoặc được giải thích là có khả năng đa phương thức.

Hướng dẫn này sẽ hướng dẫn bạn cách xử lý tệp phương tiện bằng API Tệp. Các thao tác cơ bản giống nhau đối với tệp âm thanh, hình ảnh, video, tài liệu và các loại tệp được hỗ trợ khác.

Để biết hướng dẫn về câu lệnh nhắc tệp, hãy xem phần Hướng dẫn về câu lệnh nhắc tệp.

Tải tệp lên

Bạn có thể sử dụng API Tệp để tải tệp phương tiện lên. Luôn sử dụng API Tệp khi tổng kích thước yêu cầu (bao gồm cả tệp, lời nhắc văn bản, hướng dẫn hệ thống, v.v.) lớn hơn 20 MB.

Mã sau đây sẽ tải một tệp lên, sau đó sử dụng tệp đó trong lệnh gọi đến 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

Lấy siêu dữ liệu cho một tệp

Bạn có thể xác minh rằng API đã lưu trữ thành công tệp đã tải lên và lấy siêu dữ liệu của tệp đó bằng cách gọi 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

Liệt kê các tệp đã tải lên

Bạn có thể tải nhiều tệp lên bằng Files API. Mã sau đây sẽ lấy danh sách tất cả các tệp đã tải lên:

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"

Xoá tệp đã tải lên

Các tệp sẽ tự động bị xoá sau 48 giờ. Bạn cũng có thể xoá tệp đã tải lên theo cách thủ công:

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

Thông tin về mức sử dụng

Bạn có thể sử dụng API Tệp để tải lên và tương tác với các tệp phương tiện. API Tệp cho phép bạn lưu trữ tối đa 20 GB tệp cho mỗi dự án, với kích thước tối đa cho mỗi tệp là 2 GB. Các tệp được lưu trữ trong 48 giờ. Trong thời gian đó, bạn có thể sử dụng API để lấy siêu dữ liệu về các tệp, nhưng không thể tải tệp xuống. Bạn có thể sử dụng miễn phí API Tệp ở tất cả các khu vực có Gemini API.

Chiến lược nhắc tệp

Phần này cung cấp hướng dẫn và các phương pháp hay nhất để sử dụng tệp phương tiện có lời nhắc cho API Gemini.

Việc có thể sử dụng nhiều loại dữ liệu trong câu lệnh sẽ giúp bạn linh hoạt hơn về những nhiệm vụ mà bạn có thể giải quyết bằng API Gemini. Ví dụ: bạn có thể gửi cho mô hình một bức ảnh về một bữa ăn ngon và yêu cầu mô hình viết một bài blog ngắn về bữa ăn đó.

Câu lệnh Đáp

Viết một bài đăng ngắn, hấp dẫn trên blog dựa trên bức ảnh này. Nội dung này phải bao gồm nội dung mô tả bữa ăn trong ảnh và nói về hành trình chuẩn bị bữa ăn của tôi.


Bánh quy

Việc chuẩn bị bữa ăn là một cách hiệu quả để tiết kiệm thời gian và tiền bạc, đồng thời cũng có thể giúp bạn ăn uống lành mạnh hơn. Bữa ăn này là một ví dụ tuyệt vời về một bữa ăn ngon và bổ dưỡng mà bạn có thể dễ dàng chuẩn bị trước.

Bữa ăn này có cơm nâu, rau củ nướng và thịt gà teriyaki. Gạo lứt là một loại cacbohydrat phức tạp và lành mạnh, giúp bạn duy trì năng lượng. Rau củ nướng là một cách tuyệt vời để bổ sung vitamin và khoáng chất hằng ngày, còn gà teriyaki là một lựa chọn ngon miệng và giàu protein.

Bữa ăn này cũng rất dễ chuẩn bị. Bạn chỉ cần nấu cơm nâu, rang rau và nấu gà teriyaki. Sau khi nấu xong, hãy chia thành các hộp đựng bữa ăn và bảo quản trong tủ lạnh. Sau đó, bạn có thể lấy một vùng chứa và bắt đầu những buổi sáng bận rộn!

Nếu bạn đang tìm một bữa ăn ngon và lành mạnh mà có thể dễ dàng chuẩn bị trước, thì đây là một lựa chọn tuyệt vời. Món ăn này chứa đầy dinh dưỡng và hương vị, chắc chắn sẽ giúp bạn cảm thấy no và hài lòng.

Chúc bạn chuẩn bị được những bữa ăn ngon và lành mạnh!

Nếu bạn gặp khó khăn khi nhận được kết quả mong muốn từ các câu lệnh sử dụng tệp phương tiện, thì có một số chiến lược có thể giúp bạn nhận được kết quả mong muốn. Các phần sau đây cung cấp các phương pháp thiết kế và mẹo khắc phục sự cố để cải thiện lời nhắc sử dụng phương thức nhập đa phương thức.

Bạn có thể cải thiện lời nhắc đa phương thức bằng cách làm theo các phương pháp hay nhất sau:

  • Kiến thức cơ bản về thiết kế lời nhắc

    • Cụ thể trong hướng dẫn: Tạo hướng dẫn rõ ràng và súc tích để giảm thiểu khả năng bị hiểu sai.
    • Thêm một vài ví dụ vào câu lệnh: Sử dụng các ví dụ thực tế về ít lần chụp để minh hoạ những gì bạn muốn đạt được.
    • Chia nhỏ từng bước: Phân chia các nhiệm vụ phức tạp thành các mục tiêu phụ dễ quản lý, hướng dẫn mô hình thực hiện quy trình.
    • Chỉ định định dạng đầu ra: Trong câu lệnh, hãy yêu cầu đầu ra ở định dạng bạn muốn, chẳng hạn như markdown, JSON, HTML và các định dạng khác.
    • Đặt hình ảnh lên trước đối với câu lệnh chỉ có một hình ảnh: Mặc dù Gemini có thể xử lý dữ liệu đầu vào hình ảnh và văn bản theo thứ tự bất kỳ, nhưng đối với câu lệnh chỉ có một hình ảnh, Gemini có thể hoạt động hiệu quả hơn nếu hình ảnh (hoặc video) đó được đặt trước câu lệnh văn bản. Tuy nhiên, đối với các câu lệnh yêu cầu hình ảnh được xen kẽ với văn bản một cách hợp lý, hãy sử dụng thứ tự tự nhiên nhất.
  • Khắc phục sự cố với câu lệnh đa phương thức

    • Nếu mô hình không vẽ thông tin từ phần có liên quan của hình ảnh: Hãy thả gợi ý về những khía cạnh của hình ảnh mà bạn muốn câu lệnh vẽ thông tin.
    • Nếu đầu ra của mô hình quá chung chung (chưa được điều chỉnh đủ cho dữ liệu đầu vào là hình ảnh/video): Ở đầu câu lệnh, hãy thử yêu cầu mô hình mô tả(các) hình ảnh hoặc video trước khi đưa ra hướng dẫn về nhiệm vụ, hoặc thử yêu cầu mô hình tham chiếu đến nội dung trong hình ảnh.
    • Cách khắc phục sự cố: Yêu cầu mô hình mô tả hình ảnh hoặc giải thích lý do để đánh giá mức độ hiểu biết ban đầu của mô hình.
    • Nếu lời nhắc của bạn dẫn đến nội dung ảo tưởng: Hãy thử giảm mức cài đặt nhiệt độ hoặc yêu cầu mô hình cung cấp nội dung mô tả ngắn hơn để mô hình ít có khả năng suy ra thêm thông tin chi tiết.
    • Điều chỉnh các tham số lấy mẫu: Thử nghiệm với nhiều chế độ cài đặt nhiệt độ và lựa chọn top-k để điều chỉnh mẫu quảng cáo của mô hình.

Hướng dẫn cụ thể

Câu lệnh thành công nhất khi rõ ràng và chi tiết. Nếu bạn có một kết quả cụ thể trong đầu, tốt hơn hết bạn nên đưa yêu cầu đó vào câu lệnh để đảm bảo bạn nhận được kết quả mong muốn.

Đối với hình ảnh bảng thông tin tại sân bay này, việc chỉ yêu cầu mô hình "mô tả hình ảnh này" có thể tạo ra nội dung mô tả chung chung. Nếu cần mô hình phân tích cú pháp thời gian và thành phố từ hình ảnh, bạn có thể đưa yêu cầu đó trực tiếp vào câu lệnh.

Câu lệnh Phản hồi của mô hình

Mô tả hình ảnh này.

Hình ảnh cho thấy bảng thông tin chuyến bay đến và đi của sân bay.

Câu lệnh mới cập nhật Cải thiện phản hồi
Lịch trình di chuyển

Phân tích cú pháp thời gian và thành phố trên bảng thông tin sân bay hiển thị trong hình ảnh này thành một danh sách.

  • 10:50 theo giờ Moscow
  • 11:05 Edinburgh
  • 11:05 theo giờ London
  • 11:10 Bucharest
  • 11:30 theo giờ Kiev
  • 11:35 tại Dublin
  • 11:45 theo giờ Đông Midlands
  • 12:15 Sofia
  • 12:30 theo giờ London
  • 12:30 Newcastle
  • 12:40 St Petersburg
  • 12:40 theo giờ London
  • 12:45 Manchester
  • Thêm một vài ví dụ

    Mô hình Gemini có thể chấp nhận nhiều dữ liệu đầu vào để dùng làm ví dụ nhằm hiểu được kết quả mà bạn muốn. Việc thêm các ví dụ này có thể giúp mô hình xác định các mẫu và áp dụng mối quan hệ giữa hình ảnh đã cho và câu trả lời cho ví dụ mới. Phương pháp này còn được gọi là học "từ một vài dữ liệu".

    Trong ví dụ bên dưới, kết quả ban đầu được viết ở dạng câu và cũng chứa quốc gia (Brazil). Giả sử bạn muốn đầu ra ở một định dạng hoặc kiểu khác và bạn chỉ muốn thành phố, chứ không phải quốc gia. Việc thêm các ví dụ về ít lần chụp vào câu lệnh của bạn có thể giúp mô hình phản hồi theo cách bạn muốn.

    Câu lệnh Phản hồi của mô hình
    Lịch trình di chuyển

    Xác định thành phố cùng với địa danh.

    Cây cầu này bắc qua sông Guanabara, nối liền Rio de Janeiro với Niteroi.

    Câu lệnh mới cập nhật Cải thiện phản hồi

    Xác định thành phố cùng với địa danh.

    đấu trường La Mã

    thành phố: Rome, địa danh: Đấu trường La Mã.

    Tử Cấm Thành

    thành phố: Bắc Kinh, địa danh: Tử Cấm Thành

    tử cấm thành

    thành phố: Rio de Janeiro, địa danh: Tượng Chúa Kitô Cứu thế

    Phân tích từng bước

    Đối với các nhiệm vụ phức tạp như những nhiệm vụ đòi hỏi cả việc hiểu bằng hình ảnh và suy luận, bạn nên chia nhiệm vụ thành các bước nhỏ hơn, đơn giản hơn. Ngoài ra, bạn cũng có thể yêu cầu trực tiếp mô hình "nghĩ từng bước" trong câu lệnh của mình.

    Câu lệnh Phản hồi của mô hình

    Khi nào tôi sẽ hết giấy vệ sinh?

    Chẳng mấy chốc, bạn sẽ chỉ còn 3 lần tung xúc xắc.

    Câu lệnh mới cập nhật Cải thiện phản hồi

      1. Trước tiên, hãy đếm xem có bao nhiêu cuộn giấy vệ sinh trong bức ảnh này.
      2. Sau đó, hãy xác định lượng giấy vệ sinh mà một người bình thường sử dụng mỗi ngày.
      3. Tính toán xem những cuộn giấy vệ sinh này sẽ dùng được trong bao lâu.

      1. Có 3 cuộn giấy vệ sinh trong hình ảnh này.
      2. Một người bình thường sử dụng khoảng 20 tờ giấy vệ sinh mỗi ngày.
      3. Nếu mỗi cuộn chứa 200 tờ, thì mỗi cuộn sẽ dùng được khoảng 10 ngày. Do đó, 3 cuộn này sẽ dùng được khoảng một tháng.

    Bài toán toán học hoặc các loại bài toán có lời văn khác là những ứng cử viên tuyệt vời để yêu cầu mô hình suy nghĩ từng bước.

    Câu lệnh Đáp

    Số hạng thứ 4 trong dãy số là bao nhiêu?

    -135

    Phản hồi từ mô hình không chính xác. Một số cách để cải thiện vấn đề này là yêu cầu mô hình phân tích cú pháp vấn đề trước khi trả lời câu lệnh.

    Câu lệnh Đáp

    Trước tiên, hãy phân tích cú pháp công thức trong hình ảnh.

    Sau đó, dựa trên công thức, hãy trả lời câu hỏi "thứ tự thứ 4 trong dãy số là gì?".

    Nhấp để mở rộng kết quả

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

    \( b(1) = 15 \)

    1. Thay thế n = 4 vào công thức:
    2. \( b(4) = b(4-1) * (-3) \)

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

    3. Chúng ta không biết giá trị của b(3), vì vậy, hãy thay thế n = 3 vào công thức:
    4. \( b(3) = b(3-1) * (-3) \)

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

    5. Chúng ta không biết giá trị của b(2), vì vậy, hãy thay thế n = 2 vào công thức:
    6. \( b(2) = b(2-1) * (-3) \)

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

    7. Chúng ta biết giá trị của b(1) là 15, vì vậy, hãy thay thế giá trị này vào công thức:
    8. \( b(2) = 15 * (-3) \)

      \( b(2) = -45 \)

    9. Bây giờ, chúng ta đã biết giá trị của b(2), hãy thay thế giá trị đó vào công thức cho b(3):
    10. \( b(3) = b(2) * (-3) \)

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

      \( b(3) = 135 \)

    11. Bây giờ, chúng ta đã biết giá trị của b(3), hãy thay thế giá trị đó vào công thức cho b(4):
    12. \( b(4) = b(3) * (-3) \)

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

      \( b(4) = -405 \)

    Do đó, số hạng thứ 4 trong dãy số là -405.

    Câu trả lời của mô hình này là chính xác. Giờ đây, để câu trả lời trở nên đơn giản hơn, bạn có thể yêu cầu mô hình suy nghĩ từng bước.

    Câu lệnh mới cập nhật Cải thiện phản hồi

    Số hạng thứ 4 trong dãy số là bao nhiêu? Hãy suy nghĩ từng bước.

    Số hạng đầu tiên là 15.

    Bậc thứ hai là b(1) * (-3) = 15 * (-3) = -45.

    Thuộc tính thứ ba là b(2) * (-3) = -45 * (-3) = 135.

    Đơn thức thứ tư là b(3) * (-3) = 135 * (-3) = -405.

    Chỉ định định dạng đầu ra

    Một vấn đề thường gặp là cần phải có đầu ra mô hình ở một định dạng nhất định (ví dụ: markdown, JSON, HTML), đặc biệt là nếu đầu ra mô hình cần được một tác vụ hạ nguồn nhập. Bạn có thể thử tạo đầu ra ở định dạng đó bằng cách hướng dẫn mô hình thực hiện việc này trong lời nhắc. Dưới đây là hai ví dụ:

    Câu lệnh Phản hồi của mô hình

    Phân tích cú pháp bảng trong hình ảnh này thành định dạng markdown

    | Chủ đề | Trạng thái | Thời gian | Ngày bắt đầu | Ngày đến hạn |

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

    | Toán học | Đã hoàn thành | 1,5 giờ | 29/11/2023 | 1/12/2023 |

    | Địa lý | Đã hoàn tất | 30 phút | 2/12/2023 | 4/12/2023 |

    | Vật lý | Đang diễn ra | 2 giờ | 3/12/2023 | 5/12/2023 |

    | Sinh học | Chưa bắt đầu | 6 giờ | 2/11/2016 | 6/12/2023 |

    Câu lệnh Phản hồi của mô hình

    Cung cấp danh sách tất cả các thuộc tính sau:

    nguyên liệu, loại món ăn, có phải món ăn chay hay không, ở định dạng JSON

    ```json```

    {

    "ingredients": [

    "rice",

    "shrimp",

    "clams",

    "mussels",

    "peas",

    "tomatoes",

    "onions",

    "garlic",

    "olive oil",

    "paprika",

    "salt",

    "pepper"

    ],

    "type of cuisine": "Spanish",

    "vegetarian": false

    Đặt hình ảnh lên trước đối với câu lệnh tạo hình ảnh đơn

    Mặc dù Gemini có thể diễn giải hình ảnh và văn bản theo thứ tự bất kỳ trong một câu lệnh, nhưng việc đặt một hình ảnh trước câu lệnh văn bản có thể mang lại kết quả tốt hơn. Trong các mẫu sau, bạn sẽ nhận thấy hình ảnh xuất hiện trước văn bản trong mỗi câu lệnh.

    Khắc phục sự cố với lời nhắc đa phương thức

    Bạn có thể cần khắc phục sự cố về câu lệnh nếu không nhận được phản hồi hữu ích. Sau đây là một số chiến lược mà bạn có thể thử.

    Nếu mô hình không vẽ thông tin từ phần có liên quan của hình ảnh

    Để nhận được câu trả lời cụ thể hơn, bạn có thể chỉ ra những khía cạnh của hình ảnh mà bạn muốn câu lệnh lấy thông tin để đưa ra câu trả lời.

    Câu lệnh Phản hồi của mô hình

    Tã này dùng được bao nhiêu ngày cho một em bé?

    Tã sẽ dùng được trong 198 ngày.

    Câu lệnh mới cập nhật Cải thiện phản hồi

    Những chiếc tã này sẽ dùng được bao lâu trước khi hết?

    Sử dụng trọng lượng hiển thị trên hộp để xác định độ tuổi của trẻ và sử dụng tổng số tã trong hộp.

    Chia tổng số tã cho số tã trẻ dùng mỗi ngày.

    Hộp này chứa 198 chiếc tã. Hộp ghi rõ tã dành cho trẻ có trọng lượng từ 10 đến 17 kg.

    Trẻ em trung bình trong phạm vi trọng lượng này có thể từ 1 đến 2 tuổi.

    Trẻ 2 tuổi thường dùng 6 chiếc tã mỗi ngày, do đó, tã sẽ dùng được khoảng 33 ngày (198/6).

    Nếu đầu ra của mô hình quá chung chung và không được điều chỉnh đủ cho dữ liệu đầu vào hình ảnh

    Để giúp mô hình điều chỉnh phản hồi cho(các) hình ảnh, hãy thử yêu cầu mô hình mô tả các hình ảnh trước khi thực hiện nhiệm vụ suy luận.

    Câu lệnh Phản hồi của mô hình

    Điểm chung giữa các hình ảnh này là gì?

    Cả 4 hình ảnh đều là ví dụ về ảnh phong cảnh.

    Câu lệnh mới cập nhật Cải thiện phản hồi

    Trước tiên, hãy mô tả chi tiết nội dung trong từng hình ảnh. Những hình ảnh này có điểm gì chung?

    Hình ảnh đầu tiên cho thấy một người đang đóng hành lý. Hình ảnh thứ hai cho thấy một hành lang trống trong một trung tâm mua sắm. Hình ảnh thứ ba cho thấy một cuộn giấy vệ sinh. Hình ảnh thứ tư cho thấy một vùng biển tối và có giông bão.

    Điểm chung giữa những hình ảnh này là tất cả đều là ví dụ về không gian lề. Không gian lề là những địa điểm hoặc tình huống nằm giữa hai địa điểm hoặc tình huống khác. Những từ này thường có đặc điểm là không chắc chắn hoặc mơ hồ.

    Hình ảnh đầu tiên cho thấy người này đang ở nhà và đang đi du lịch. Hình ảnh thứ hai cho thấy hành lang giữa hai cửa hàng. Hình ảnh thứ ba là giấy vệ sinh, có thể đại diện cho phòng tắm. Phòng tắm là không gian chuyển tiếp giữa không gian riêng tư và không gian công cộng. Đó là nơi chúng ta chuẩn bị để bước vào hoặc rời khỏi thế giới bên ngoài.

    Hình ảnh thứ tư cho thấy biển đang ở trạng thái yên bình và có giông bão.

    Không gian lề có thể vừa thú vị vừa gây khó chịu. Đó có thể là nơi bắt đầu mới hoặc nơi kết thúc. Đó có thể là nơi để suy ngẫm hoặc nơi để hành động.

    Bạn cũng có thể thử yêu cầu rõ ràng mô hình tham chiếu đến nội dung trong hình ảnh.

    Câu lệnh mới cập nhật Cải thiện phản hồi

    Điểm chung giữa các hình ảnh này là gì? Tham khảo nội dung trong hình ảnh trong câu trả lời của bạn.

    Tất cả hình ảnh đều liên quan đến du lịch. Hình ảnh đầu tiên cho thấy một người đang đóng hành lý, hình ảnh thứ hai cho thấy một hành lang trống trong một trung tâm mua sắm, hình ảnh thứ ba cho thấy một chồng giấy vệ sinh và hình ảnh thứ tư cho thấy một vùng biển tối và có giông bão.

    Những hình ảnh này đều liên quan đến du lịch vì đó là những thứ mà mọi người cần hoặc sử dụng khi đi du lịch. Hình ảnh đầu tiên cho thấy một người đang đóng hành lý. Đây là việc mọi người làm khi đi du lịch. Hình ảnh thứ hai cho thấy một hành lang trống trong một trung tâm mua sắm. Đây là nơi mọi người thường đến để mua đồ cho chuyến đi của họ. Hình ảnh thứ ba cho thấy một chồng giấy vệ sinh, đây là thứ mà mọi người thường sử dụng khi đi du lịch. Hình ảnh thứ tư cho thấy một vùng biển tối và có giông bão, đây là điều mà mọi người thường gặp phải khi đi du lịch.

    Bạn cũng có thể áp dụng các mẹo này cho kết quả mẫu quảng cáo từ hình ảnh. Trong ví dụ sau đây về thỏ, việc yêu cầu rõ ràng mô hình đưa các khía cạnh từ hình ảnh vào có thể cải thiện kết quả.

    Câu lệnh Phản hồi của mô hình

    Bạn có thể viết cho tôi một bài thơ về hình ảnh này không?

    Chú thỏ nhỏ, mềm mại và màu nâu,
    Nhảy qua cánh đồng, lên và xuống.
    Đôi tai dài, cái đuôi nhỏ,
    Bạn là sinh vật dễ thương nhất trong số tất cả.

    Bạn gặm cỏ, xanh và ngọt ngào,
    Và nhảy đi khi thấy tôi.
    Nhưng tôi sẽ luôn là bạn của bạn,
    Thỏ con, cho đến tận cùng.

    Câu lệnh mới cập nhật Cải thiện phản hồi

    Bạn có thể viết cho tôi một bài thơ sống động và đầy tính mô tả về hình ảnh này, đồng thời cho biết vị trí của hình ảnh không?

    Chú thỏ nhỏ trên cỏ xanh,
    Tai dài và rất thính.
    Bạn thấy gì ở ngoài kia,
    Ở nơi xa xăm mà bạn nhìn chằm chằm?

    Đó có phải là màu xanh dương của đại dương,
    Lấp lánh trong ánh nắng?
    Hay những con sóng vỗ ầm ầm,
    Một nhịp điệu mà bạn yêu thích?

    Thỏ con, hãy nói cho tôi biết,
    Điều gì thu hút sự chú ý của bạn?
    Là gió mặn,
    Hay tiếng kêu của chim mòng biển?

    Có lẽ đó là sự rộng lớn của tất cả,
    Một thế giới quá lớn và quá nhỏ.
    Một nơi để mơ ước bay xa,
    Và để gieo những cuộc phiêu lưu.

    Chú thỏ nhỏ, tôi tự hỏi bạn mơ thấy gì,
    Khi bạn ngồi trên cỏ, thật thanh bình.
    Bạn khao khát khám phá đại dương,
    Hay muốn ở lại trên đất liền để có thể nhảy vọt?

    Dù đó là gì đi nữa, thỏ con,
    Hãy luôn giữ cho tia sáng kỳ diệu đó luôn rực rỡ.
    Vì trong những giấc mơ và khát vọng của bạn,
    Có một thế giới đang chờ đợi tác phẩm sáng tạo của bạn.

    Khắc phục sự cố không thực hiện được một phần của lời nhắc

    Có thể khó biết liệu một câu lệnh không thành công là do mô hình không hiểu hình ảnh ngay từ đầu hay do mô hình hiểu hình ảnh nhưng không thực hiện đúng các bước suy luận sau đó. Để phân biệt giữa những lý do đó, hãy yêu cầu mô hình mô tả nội dung trong hình ảnh.

    Trong ví dụ sau, nếu mô hình phản hồi bằng một món ăn nhẹ có vẻ bất ngờ khi kết hợp với trà (ví dụ: bỏng ngô), trước tiên, bạn có thể khắc phục sự cố để xác định xem mô hình có nhận dạng chính xác rằng hình ảnh đó có chứa trà hay không.

    Câu lệnh Lời nhắc khắc phục sự cố

    Tôi có thể làm món ăn nhẹ nào trong 1 phút để ăn kèm với món này?

    Mô tả nội dung trong hình ảnh này.

    Một chiến lược khác là yêu cầu mô hình giải thích lý do. Điều đó có thể giúp bạn thu hẹp phần lý luận bị lỗi (nếu có).

    Câu lệnh Lời nhắc khắc phục sự cố

    Tôi có thể làm món ăn nhẹ nào trong 1 phút để ăn kèm với món này?

    Tôi có thể làm món ăn nhẹ nào trong 1 phút để ăn kèm với món này? Vui lòng giải thích lý do.

    Bước tiếp theo

    • Hãy thử viết câu lệnh đa phương thức của riêng bạn bằng Google AI Studio.
    • Để biết thông tin về cách sử dụng API Tệp Gemini để tải tệp phương tiện lên và đưa các tệp đó vào câu lệnh, hãy xem hướng dẫn về Thị giác, Âm thanhXử lý tài liệu.
    • Để biết thêm hướng dẫn về cách thiết kế lời nhắc, chẳng hạn như điều chỉnh các thông số lấy mẫu, hãy xem trang Chiến lược lời nhắc.