API ของไฟล์

ชุดโมเดลปัญญาป��ะดิษฐ์ (AI) ของ Gemini สร้างขึ้นเพื่อจัดการข้อมูลอินพุตประเภทต่างๆ ซึ่งรวมถึงข้อความ รูปภาพ และเสียง เนื่องจากโมเดลเหล่านี้สามารถจัดการข้อมูลได้มากกว่า 1 ประเภทหรือโหมด โมเดล Gemini จึงเรียกว่าโมเดลสื่อหลายรูปแบบ หรืออธิบายว่ามีความสามารถในสื่อหลายรูปแบบ

คู่มือนี้จะแสดงวิธีจัดการไฟล์สื่อโดยใช้ Files API การดำเนินการพื้นฐานจะเหมือนกันสำหรับไฟล์เสียง รูปภาพ วิดีโอ เอกสาร และไฟล์ประเภทอื่นๆ ที่รองรับ

ดูคำแนะนำเกี่ยวกับการแจ้งไฟล์ได้ที่ส่วนคำแนะนำเกี่ยวกับการแจ้งไฟล์

อัปโหลดไฟล์

คุณสามารถใช้ Files API เพื่ออัปโหลดไฟล์สื่อได้ ใช้ Files API เสมอเมื่อคำขอทั้งหมด (รวมถึงไฟล์ ข้อความแจ้ง คำสั่งของระบบ ฯลฯ) มีขนาดมากกว่า 20 MB

โค้ดต่อไปนี้จะอัปโหลดไฟล์ แล้วใช้ไฟล์ในการเรียกใช้ generateContent

Python

from google import genai

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

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

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

print(response.text)

JavaScript

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

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

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

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

await main();

Go

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

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

printResponse(resp)

REST

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

tmp_header_file=upload-header.tmp

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

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

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

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

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

cat response.json
echo

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

รับข้อมูลเมตาของไฟล์

คุณสามารถตรวจสอบว่า API จัดเก็บไฟล์ที่อัปโหลดไว้เรียบร้อยแล้วและรับข้อมูลเมตาของไฟล์ดังกล่าวโดยเรียกใช้ files.get

Python

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

JavaScript

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

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

Go

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

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

REST

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

แสดงรายการไฟล์ที่อัปโหลด

คุณอัปโหลดหลายไฟล์ได้โดยใช้ Files API โค้ดต่อไปนี้จะรับรายการไฟล์ทั้งหมดที่อัปโหลด

Python

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

JavaScript

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

Go

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

REST

echo "My files: "

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

ลบไฟล์ที่อัปโหลด

ระบบจะลบไฟล์โดยอัตโนมัติหลังจากผ่านไป 48 ชั่วโมง นอกจากนี้ คุณยังลบไฟล์ที่อัปโหลดด้วยตนเองได้โดยทำดังนี้

Python

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

JavaScript

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

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

Go

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

REST

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

ข้อมูลการใช้งาน

คุณสามารถใช้ Files API เพื่ออัปโหลดและโต้ตอบกับไฟล์สื่อได้ Files API ช่วยให้คุณจัดเก็บไฟล์ได้สูงสุด 20 GB ต่อโปรเจ็กต์ โดยแต่ละไฟล์มีขนาดไม่เกิน 2 GB ระบบจะจัดเก็บไฟล์ไว้ 48 ชั่วโมง ในระหว่างนี้ คุณจะใช้ API เพื่อรับข้อมูลเมตาเกี่ยวกับไฟล์ได้ แต่จะดาวน์โหลดไฟล์ไม่ได้ Files API พร้อมให้ใช้งานโดยไม่มีค่าใช้จ่ายในทุกภูมิภาคที่ Gemini API พร้อมให้บริการ

กลยุทธ์การแจ้งให้ส่งไฟล์

ส่วนนี้จะให้คําแนะนําและแนวทางปฏิบัติแนะนําสําหรับการใช้ไฟล์สื่อที่มีพรอมต์สําหรับ Gemini API

ความสามารถในการใช้ข้อมูลประเภทต่างๆ ในพรอมต์จะช่วยให้คุณมีความยืดหยุ่นมากขึ้นในแง่ของงานที่คุณสามารถจัดการด้วย Gemini API เช่น คุณอาจส่งรูปภาพอาหารอร่อยให้ AI แล้วขอให้เขียนบล็อกสั้นๆ เกี่ยวกับอาหาร

พรอมต์ การตอบกลับ

เขียนบล็อกโพสต์สั้นๆ ที่น่าสนใจโดยอิงจากภาพนี้ โดยควรมีคำอธิบายอาหารในรูปภาพและพูดถึงเส้น��างการเตรียมอาหารของฉัน


คุกกี้

การเตรียมอาหารล่วงหน้าเป็นวิธีที่ยอดเยี่ยมในการประหยัดเวลาและค่าใช้จ่าย ทั้งยังช่วยให้คุณกินอาหารที่ดีต่อสุขภาพมากขึ้นด้วย อาหารนี้ถือเป็นตัวอย่างที่ดีของอาหารเพื่อสุขภาพและอร่อยที่เตรียมล่วงหน้าได้ง่ายๆ

อาหารนี้มีข้าวกล้อง ผักย่าง และไก่เทริยากิ ข้าวกล้องเป็นคาร์โบไฮเดรตเชิงซ้อนที่มีประโยชน์ต่อสุขภาพซึ่งจะให้พลังงานแก่คุณอย่างต่อเนื่อง ผักย่างเป็นวิธีที่ดีในการรับวิตามินและแร่ธาตุประจำวัน ส่วนไก่เทอริยากิเป็นตัวเลือกที่อร่อยและอุดมไปด้วยโปรตีน

อาหารนี้ยังเตรียมได้ง่ายมากอีกด้วย เพียงหุงข้าวกล้อง ย่างผัก และปรุงไก่เทอริยากิ เมื่อปรุงอาหารเสร็จแล้ว ให้แบ่งอาหารใส่ภาชนะสำหรับเตรียมอาหารและเก็บไว้ในตู้เย็น จากนั้นคุณก็หยิบภาชนะบรรจุอาหารแล้วออกไปทำกิจกรรมยามเช้าอันแสนวุ่นวายได้เลย

หากคุณกำลังมองหาอาหารเพื่อสุขภาพและอร่อยซึ่งเตรียมล่วงหน้าได้ง่ายๆ อาหารนี้ก็เป็นตัวเลือกที่ยอดเยี่ยม อาหารนี้มีสารอาหารและรสชาติที่ครบถ้วน และจะช่วยให้คุณรู้สึกอิ่มและพึงพอใจ

ยินดีที่ได้แชร์การเตรียมอาหารเพื่อสุขภาพและอร่อย

หากพบปัญหาในการรับเอาต์พุตที่ต้องการจากพรอมต์ที่ใช้ไฟล์สื่อ โปรดดูกลยุทธ์ที่จะช่วยให้คุณได้ผลลัพธ์ที่ต้องการ ส่วนต่อไปนี้แสดงแนวทางการออกแบบและเคล็ดลับการแก้ปัญหาเพื่อปรับปรุงพรอมต์ที่ใช้อินพุตแบบหลายรูปแบบ

คุณสามารถปรับปรุงพรอมต์แบบหลายสื่อได้โดยทําตามแนวทางปฏิบัติแนะนําต่อไปนี้

  • ข้อมูลพื้นฐานเกี่ยวกับการออกแบบพรอมต์

    • เขียนวิธีการให้ชัดเจน: เขียนวิธีการให้ชัดเจนและกระชับเพื่อลดโอกาสที่จะถูกตีความผิด
    • เพิ่มตัวอย่าง 2-3 รายการในพรอมต์: ใช้ตัวอย่างแบบไม่กี่ช็อตที่สมจริงเพื่อแสดงให้เห็นสิ่งที่คุณต้องการบรรลุ
    • แบ่งงานออกเป็นขั้นตอน: แบ่งงานที่ซับซ้อนออกเป็นเป้าหมายย่อยที่จัดการได้ ซึ่งจะนําทางโมเดลตลอดกระบวนการ
    • ระบุรูปแบบเอาต์พุต: ในพรอมต์ ให้ขอให้เอาต์พุตอยู่ในรูปแบบที่ต้องการ เช่น Markdown, JSON, HTML และอื่นๆ
    • ใส่รูปภาพก่อนสำหรับพรอมต์แบบรูปภาพเดียว: แม้ว่า Gemini จะจัดการอินพุตรูปภาพและข้อความในลำดับใดก็ได้ แต่สำหรับพรอมต์ที่มีรูปภาพเดียว การทำงานอาจมีประสิทธิภาพดีกว่าหากวางรูปภาพ (หรือวิดีโอ) นั้นไว้ก่อนพรอมต์ข้อความ อย่างไรก็ตาม สําหรับพรอมต์ที่กําหนดให้รูปภาพสอดแทรกกับข้อความอย่างละเอียดเพื่อให้เข้าใจได้ง่าย ให้ใช้ลําดับที่สื่อความหมายมากที่สุด
  • การแก้ปัญหาพรอมต์แบบมัลติโมด

    • หากโมเดลไม่ได้ดึงข้อมูลจากส่วนที่เกี่ยวข้องของรูปภาพ ให้ใส่คำแนะนำเกี่ยวกับแง่มุมของรูปภาพที่ต้องการให้พรอมต์ดึงข้อมูล
    • หากเอาต์พุตของโมเดลทั่วไปเกินไป (ปรับให้เหมาะกับอินพุตรูปภาพ/วิดีโอไม่เพียงพอ): ให้ลองขอให้โมเดลอธิบายรูปภาพหรือวิดีโอก่อนให้วิธีการทำงานในตอนต้นของพรอมต์ หรือลองขอให้โมเดลพูดถึงสิ่งที่อยู่ในรูปภาพ
    • หากต้องการแก้ปัญหาว่าส่วนใดไม่สำเร็จ ให้ขอให้โมเดลอธิบายรูปภาพหรืออธิบายเหตุผลเพื่อประเมินความเ��้าใจเบื้องต้นของโมเดล
    • หากพรอมต์ของคุณแสดงผลเป็นเนื้อหาที่สมมติขึ้น ให้ลองลดการตั้งค่าอุณหภูมิหรือขอให้โมเดลแสดงคำอธิบายที่สั้นลงเพื่อให้มีแนวโน้มที่จะคาดเดารายละเอียดเพิ่มเติมน้อยลง
    • การปรับพารามิเตอร์การสุ่มตัวอย่าง: ทดสอบการตั้งค่าอุณหภูมิและการเลือก Top-K แบบต่างๆ เพื่อปรับความคิดสร้างสรรค์ของโมเดล

ระบุวิธีการให้ชัดเจน

พรอมต์จะประสบความสำเร็จมากที่สุดเมื่อชัดเจนและละเอียด หากต้องการเอาต์พุตที่เฉพาะเจาะจง คุณควรระบุข้อกำหนดนั้นในพรอมต์เพื่อให้แน่ใจว่าจะได้เอาต์พุตที่ต้องการ

สำหรับรูปภาพป้ายประกาศในสนามบินนี้ การขอให้นายแบบ/นางแบบ "อธิบายรูปภาพนี้" เพียงอย่างเดียวอาจสร้างคำอธิบายทั่วไป หากต้องการให้โมเดลแยกเวลาและเมืองจากรูปภาพ คุณสามารถใส่คำขอนั้นในพรอมต์ได้โดยตรง

พรอมต์ การตอบกลับของโมเดล

อธิบายรูปภาพนี้

รูปภาพแสดงตารางเที่ยวบินขาเข้าและขาออกของสนามบิน

พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น
ตารางเวลาการเดินทาง

แยกเวลาและเมืองจากป้ายที่สนามบินซึ่งแสดงในรูปภาพนี้ออกเป็นรายการ

  • 10:50 น. ตามเวลามอสโก
  • 11:05 เอดินบะระ
  • 11:05 น. ลอนดอน
  • 11:10 น. บูคาเรสต์
  • 11:30 น. เคียฟ
  • 11:35 น. ดับลิน
  • 11:45 น. ภาคมิดแลนด์สตะวันออกของอังกฤษ
  • 12:15 น. โซเฟีย
  • 12:30 น. ตามเวลาลอนดอน
  • 12:30 นิวคาสเซิล
  • 12:40 น. เซนต์ปีเตอร์สเบิร์ก
  • 12:40 น. ลอนดอน
  • 12:45 น. แมนเชสเตอร์
  • เพิ่มตัวอย่าง

    ���มเดล Gemini ยอมรับอินพุตได้หลายรายการ ซึ่งจะใช้เป็นตัวอย่างเพื่อทำความเข้าใจเอาต์พุตที่ต้องการ การเพิ่มตัวอย่างเหล่านี้จะช่วยให้โมเดลระบุรูปแบบและใช้ความสัมพันธ์ระหว่างรูปภาพและคำตอบที่ระบุกับตัวอย่างใหม่ได้ หรือเรียกอีกอย่างว่าการเรียนรู้แบบ "จำนวนน้อย"

    ในตัวอย่างด้านล่าง เอาต์พุตเริ่มต้นเขียนในรูปแบบประโยค และมีประเทศ (บราซิล) ด้วย สมมติว่าคุณต้องการเอาต์พุตในรูปแบบหรือสไตล์อื่น และต้องการเฉพาะเมือง ไม่ใช่ประเทศ การเพิ่มตัวอย่างแบบไม่กี่ช็อตลงในพรอมต์จะช่วยนำทางโมเดลให้ตอบก����บ���น��ั����ณ����ี่คุณต้องการ

    พรอมต์ การตอบสนองของโมเดล
    ตารางเวลาการเดินทาง

    ระบุเมืองพร้อมกับสถานที่สำคัญ

    สถานที่สำคัญคือรูปปั้นพระคริสต์ผู้ไถ่ในรีโอเดจาเนโร บราซิล

    พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น

    ระบุเมืองพร้อมกับสถานที่สำคัญ

    โคลอสเซียม

    เมือง: โรม สถานที่สำคัญ: โคลอสเซียม

    นครต้องห้าม

    เมือง: ปักกิ่ง สถานที่สำคัญ: พระราชวังต้องห้าม

    forbidden-city

    เมือง: รีโอเดจาเนโร, สถานที่สำคัญ: รูปปั้นพระคริสต์ผู้ไถ่

    อธิบายทีละขั้นตอน

    สำหรับงานที่ซับซ้อน เช่น งานที่ต้องอาศัยทั้งความเข้าใจภาพและการหาเหตุผล การแยกงานออกเป็นขั้นตอนเล็กๆ ที่เข้าใจง่ายขึ้นอาจมีประโยชน์ หรือจะขอให้นายแบบ/นางแบบ "คิดทีละขั้นตอน" ในพรอมต์โดยตรงก็ได้เช่นกัน

    พรอมต์ การตอบกลับของโมเดล

    กระดาษชำระจะหมดเมื่อใด

    อีกไม่นาน คุณจะมีสิทธิ์ใช้สิทธิ์รับส่วนลดเหลือเพียง 3 สิทธิ์

    พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น

      1. ก่อนอื่น ให้นับจำนวนม้วนกระดาษชำระในรูปภาพนี้
      2. จากนั้นให้กำหนดปริมาณกระดาษชำระที่ผู้ใช้ทั่วไปใช้ต่อวัน
      3. คำนวณระยะเวลาที่กระดาษชำระม้วนเหล่านี้จะใช้งานได้

      1. มีกระดาษชำระ 3 ม้วนในรูปภาพนี้
      2. คนทั่วไปใช้กระดาษชำระล้างประมาณ 20 แผ่นต่อวัน
      3. หากแต่ละม้วนมี 200 แผ่น แต่ละม้วนจะใช้งานได้ประมาณ 10 วัน ดังนั้น 3 ม้วนจะใช้งานได้ประมาณ 1 เดือน

    โจทย์คณิตศาสตร์หรือโจทย์ปัญหาแบบอื่นๆ เหมาะอย่างยิ่งที่จะใช้��า������้น������บบ/นางแบบคิดทีละขั้นตอน

    พรอมต์ การตอบกลับ

    ลำดับที่ 4 ในลำดับคืออะไร

    -135

    การตอบกลับจากโมเดลไม่ถูกต้อง วิธีปรับปรุงปัญหานี้อย่างหนึ่งคือขอให้โมเดลแยกวิเคราะห์โจทย์ก่อนตอบพรอมต์

    พรอมต์ การตอบกลับ

    แยกวิเคราะห์สูตรในรูปภาพก่อน

    จากนั้นให้ตอบคำถาม "ลำดับที่ 4 ในอนุกรมคืออะไร" โดยอิงตามสูตร

    คลิกเพื่อขยายผลลัพธ์

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

    \( b(1) = 15 \)

    1. แทนที่ n = 4 ในสูตร
    2. \( b(4) = b(4-1) * (-3) \)

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

    3. เราไม่ทราบค่าของ b(3) ดังนั้นให้แทนที่ n = 3 ในสูตร
    4. \( b(3) = b(3-1) * (-3) \)

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

    5. เราไม่ทราบค่าของ b(2) จึงแทนที่ n = 2 ในสูตร
    6. \( b(2) = b(2-1) * (-3) \)

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

    7. เราทราบดีว่าค่าของ b(1) คือ 15 ดังนั้นให้แทนที่ค่านี้ในสูตร
    8. \( b(2) = 15 * (-3) \)

      \( b(2) = -45 \)

    9. เมื่อทราบค่าของ b(2) แล้ว ให้แทนที่ค่านั้นในสูตรของ b(3) ดังนี้
    10. \( b(3) = b(2) * (-3) \)

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

      \( b(3) = 135 \)

    11. เมื่อทราบค่าของ b(3) แล้ว ให้แทนที่ค่านั้นในสูตรสำหรับ b(4) ดังนี้
    12. \( b(4) = b(3) * (-3) \)

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

      \( b(4) = -405 \)

    ดังนั้น ลำดับที่ 4 คือ -405

    คำตอบของโมเดลนี้ถูกต้องแล้ว ตอนนี้คุณสามารถทำให้คำตอบมีประสิทธิภาพมากขึ้นโดยขอให้โมเดลคิดทีละขั้นตอน

    พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น

    ลำดับที่ 4 ในลำดับคืออะไร คิดทีละขั้นตอน

    เทอมแรกคือ 15

    เทอมที่สองคือ b(1) * (-3) = 15 * (-3) = -45

    เทอมที่ 3 คือ b(2) * (-3) = -45 * (-3) = 135

    เทอมที่ 4 คือ b(3) * (-3) = 135 * (-3) = -405

    ระบุรูปแบบเอาต์พุต

    ปัญหาที่พบบ่อยคือเอาต์พุตของโมเดลต้องอยู่ในรูปแบบที่เจาะจง (เช่น Markdown, JSON, HTML) โดยเฉพาะในกรณีที่งานดาวน์สตรีมต้องส่��ผ่านข้อมูลเอาต์พุตของโมเดล คุณลองสร้างเอาต์พุตในรูปแบบนั้นได้ โดยสั่งให้โมเดลดำเนินการภายในพรอมต์ ตัวอย่าง 2 รายการมีดังนี้

    พรอมต์ การตอบกลับของโมเดล

    แยกวิเคราะห์ตารางในรูปภาพนี้เป็นรูปแบบ Markdown

    | เรื่อง | สถานะ | เวลา | วันที่เริ่มต้น | วันที่ครบกำหนด |

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

    | คณิตศาสตร์ | ทําเสร็จแล้ว | 1.5 ชม. | 29/11/2023 | 1/12/2023 |

    | ภูมิศาสตร์ | ทําเสร็จแล้ว | 30 นาที | 2/12/2023 | 4/12/2023 |

    | ฟิสิกส์ | อยู่ระหว่างดำเนินการ | 2 ชั่วโมง | 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 ปอนด์

    เด็กโดยเฉลี่ยที่มีน้ำหนักในช่วงนี้น่าจะมีอายุระหว่าง 1 ถึง 2 ปี

    โดยปกติเด็กอายุ 2 ปีจะใช้ผ้าอ้อมวันละ 6 ผืน ดังนั้นผ้าอ้อมจึงใช้ได้ประมาณ 33 วัน (198/6)

    หากเอาต์พุตของโมเดลทั่วไปเกินไปและปรับให้เข้ากับอินพุตรูปภาพไม่มากพอ

    หากต้องการให้โมเดลปรับการตอบสนองให้เหมาะกับรูปภาพ ให้ลองขอให้โมเดลอธิบายรูปภาพก่อนทำการอนุมาน

    พรอมต์ การตอบกลับของโมเดล

    รูปภาพเหล่านี้มีอะไรเหมือนกัน

    รูปภาพทั้ง 4 รูปเป็นตัวอย่างภาพถ่ายแนวนอน

    พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น

    ก่อนอื่น ให้อธิบายสิ่งที่อยู่ในรูปภาพแต่ละภาพโดยละเอียด รูปภาพเหล่านี้มีอะไรเหมือนกัน

    รูปภาพแรกแสดงภาพคนกำลังแพ็คกระเป๋าเดินทาง ภาพที่ 2 แสดงทางเดินที่ว่างเปล่าในห้างสรรพสินค้า รูปภาพที่สามแสดงม้วนกระดาษชำระ รูปภาพที่ 4 แสดงทะเลที่มืดและเต็มไปด้วยพายุ

    สิ่งที่รูปภาพเหล่านี้มี���หมือนกันคือล้วนเป็นตัวอย่างของพื้นที่ลิมิต พื้นที่ลิมิตัลคือสถานที่หรือสถานการณ์ที่อยู่ตรงกลางระหว่างสถานที่หรือสถานการณ์อื่น 2 แห่ง มักมีลักษณะเป็นความรู้สึกไม่แน่นอนหรือคลุมเครือ

    ภาพแรกแสดงบุคคลที่อยู่ระหว่างอยู่บ้านและเดินทาง ภาพที่ 2 แสดงทางเดินระหว่าง 2 ร้านค้า รูปภาพที่สามเป็นรูปกระดาษชำระ ซึ่งอาจแสดงถึงห้องน้ำ ห้องน้ำเป็นพื้นที่เปลี่���นผ่านระหว่างพื้นที่ส่วนตัวและพื้นที่สาธารณะ ห้องน้ำเป็นสถานที่ที่เราเตรียมตัวเพื่อเข้าหรือออกจากโลกภายนอก

    รูปภาพภาพที่ 4 แสดงทะเลในช่วงที่น้ำสงบและช่วงที่มีพายุ

    พื้นที่ลิมิทัลอาจทั้งน่าตื่นเต้นและน่าอึดอัด สถานที่เหล่านี้อาจเป็นจุดเริ่มต้นใหม่หรือจุดสิ้นสุดก็ได้ อาจเป็นสถานที่สำหรับการไตร่ตรองหรือสถานที่สำหรับลงมือทำ

    นอกจากนี้ คุณยังลองขอให้โมเดลพูดถึงสิ่งที่อยู่ในรูปภาพได้อย่างชัดเจน

    พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น

    รูปภาพเหล่านี้มีอะไรเหมือนกัน อ้างอิงสิ่งที่อยู่ในรูปภาพในคำตอบ

    รูปภาพทั้งหมดเกี่ยวข้องกับการท่องเที่ยว รูปภาพแรกแสดงคนกำลังแพ็คกระเป๋าเดินทาง รูปภาพที่สองแสดงทางเดินที่ว่างเปล่าในห้างสรรพสินค้า รูปภาพที่สามแสดงกองกระดาษชำระล้าง และรูปภาพสุดท้ายแสดงทะเลที่มืดและเต็มไปด้วยพายุ

    รูปภาพเหล่านี้เกี่ยวข้องกับการท่องเที่ยวทั้งหมด เนื่องจากเป็นสิ่งต่างๆ ที่ผู้คนต้องการหรือใช้เมื่อเดินทาง รูปภาพแรกแสดงภาพคนแพ็กกระเป๋าเดินทาง ซึ่งเป็นสิ่งที่ผู้คนทำเมื่อกำลังจะออกเดินทาง รูปภาพที่สองแสดงทางเดินที่ว่างเปล่าในห้างสรรพสินค้า ซึ่งเป็นสถานที่ที่ผู้คนมักไปซื้อของเพื่อการเดินทาง รูปภาพที่สามแสดงกองกระดาษชำระ ซึ่งเป็นสิ่งที่ผู้คนมักใช้เมื่อเดินทาง รูปภาพภาพที่ 4 แสดงทะเลที่มืดและเต็มไปด้วยพายุ ซึ่งเป็นสิ่งที่ผู้คนมักพบเจอเมื่อเดินทาง

    เคล็ดลับเดียวกันนี้ใช้ได้กับเอาต์พุตครีเอทีฟโฆษณาจากรูปภาพ ในตัวอย่างต่อไปนี้ที่มีกระต่าย การขอให้โมเดลรวมแง่มุมจากรูปภาพอย่างชัดเจนจะช่วยปรับปรุงผลลัพธ์ได้

    พรอมต์ การตอบกลับของโมเดล

    ����ณ��่วย�����่��������วีเกี่ยวกับรูปภาพนี้ให้ฉันได้ไหม

    กระต่ายน้อยสีน้ำตาลนุ่มนิ่ม
    กระโดดไปมาบนทุ่งหญ้า
    หูยาวมาก หางเล็กมาก
    คุณเป็นสัตว์ที่น่ารักที่สุด

    คุณกินหญ้าสีเขียวแสนหวาน
    และกระโดดหนีเมื่อเห็นฉัน
    แต่ฉันจะเป็นเพื่อนของคุณเสมอ
    กระต่ายน้อยจนกว่าจะสิ้นสุด

    พรอมต์ที่อัปเดต การตอบกลับที่ดีขึ้น

    ช่วยเขียนบทกวีที่สื่อความหมายและน่าตื่นเต้นเกี่ยวกับรูปภาพนี้ให้ฉันได้ไหม พร้อมระบุสถานที่ด้วย

    กระต่ายน้อยบนพื้นหญ้า
    หูยาว ช่างซน
    คุณเห็นอะไรบ้าง
    ตรงที่มองออกไป

    สีน้ำเงินของทะเล
    ระยิบระยับในแสงแดด
    หรือเสียงคลื่นที่ดังกึกก้อง
    เป็นจังหวะที่คุณชื่นชอบ

    กระต่ายน้อย บอกมาตรงๆ
    สิ่งที่ดึงดูดความสนใจของคุณคืออะไร
    คุณชอบลมทะเลเค็มๆ
    หรือเสียงร้องของนกนางนวล

    บางทีอาจเป็นเพราะความกว้างใหญ่ของทุกสิ่ง
    โลกที่ทั้งใหญ่และเล็ก
    สถานที่ที่ฝันจะโลดแล่น
    และผจญภัยได้

    กระต่ายน้อย ฉันสงสัยว่าคุณฝันถึงอะไร
    ขณะที่นั่งอยู่บนหญ้าอย่างสงบ
    คุณอยากสำรวจใต้น้ำ
    หรือจะอยู่บนบกเพื่อกระโดดโลดโผน

    ไม่ว่าอะไรก็ตาม กระต่ายน้อย
    จงรักษาประกายแห่งความสงสัยให้สว่างไสวต่อไป
    เพราะความฝันและความมุ่งมั่นของคุณ
    คือโลกที่รอการสร้างสรรค์จากคุณ

    การแก้ปัญหาว่าพรอมต์ส่วนใดไม่สำเร็จ

    การพิจารณาว่าพรอมต์ไม่สำเร็จเพราะโมเดลไม่เข้าใจรูปภาพตั้งแต่แรก หรือเข้าใจรูปภาพแต่ไม่ได้ทําขั้นตอนการให้เหตุผลที่ถูกต้องในภายหลังนั้นอาจเป็นเรื่องยาก หากต้องการแยกแยะเหตุผลเหล่านั้น ให้ขอให้ผู้เข้าร่วมอธิบายสิ่งที่อยู่ในรูปภาพ

    ในตัวอย่างต่อไปนี้ หากโมเดลตอบกลับด้วยของว่างที่ดูเหมือนจะแปลกเมื่อจับคู่กับชา (เช่น ป๊อปคอร์น) คุณสามารถแก้ปัญหาก่อนเพื่อดูว่าโมเดลจดจำได้อย่างถูกต้องหรือไม่ว่ารูปภาพมีชา

    พรอมต์ ข้อความแจ้งให้แก้ปัญหา

    มีอะ����เป็นอาหารว่างที่ฉันทำเสร็จภายใน 1 นาทีและเข้ากันได้ดีกับเมนูนี้บ้าง

    อธิบายสิ่งที่อยู่ในรูปภาพนี้

    อีกกลยุทธ์หนึ่งคือขอให้โมเดลอธิบายเหตุผล ซึ่งจะช่วยให้คุณมุ่งเน้นไปที่ส่วนที่ทําให้เหตุผลไม่ถูกต้อง (หากมี) ได้

    พรอมต์ ข้อความแจ้งให้แก้ปัญหา

    มีอะไรเป็นอาหารว่างที่ฉันทำเสร็จภายใน 1 นาทีและเข้ากันได้ดีกับเมนูนี้บ้าง

    มีอะไรเป็นอาหารว่างที่ฉันทำเสร็จภายใน 1 นาทีและเข้ากันได้ดีกับเมนูนี้บ้าง โปรดให้เหตุผล

    ขั้นตอนถัดไป

    • ลองเขียนพรอมต์แบบมัลติโมเดลของคุณเองโดยใช้ Google AI Studio
    • ดูข้อมูลเกี่ยวกับการใช้ Gemini Files API เพื่ออัปโหลดไฟล์สื่อและรวมไว้ในพรอมต์ได้ที่คู่มือการมองเห็น เสียง และการประมวลผลเอกสาร
    • ดูคําแนะนําเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์ เช่น การปรับพารามิเตอร์การสุ่มตัวอย่างได้ที่หน้ากลยุทธ์พรอมต์