ชุดโมเดลปัญญาป��ะดิษฐ์ (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 แบบต่างๆ เพื่อปรับความคิดสร้างสรรค์ของโมเดล
ระบุวิธีการให้ชัดเจน
พรอมต์จะประสบความสำเร็จมากที่สุดเมื่อชัดเจนและละเอียด หากต้องการเอาต์พุตที่เฉพาะเจาะจง คุณควรระบุข้อกำหนดนั้นในพรอมต์เพื่อให้แน่ใจว่าจะได้เอาต์พุตที่ต้องการ
สำหรับรูปภาพป้ายประกาศในสนามบินนี้ การขอให้นายแบบ/นางแบบ "อธิบายรูปภาพนี้" เพียงอย่างเดียวอาจสร้างคำอธิบายทั่วไป หากต้องการให้โมเดลแยกเวลาและเมืองจากรูปภาพ คุณสามารถใส่คำขอนั้นในพรอมต์ได้โดยตรง
พรอมต์ | การตอบกลับของโมเดล |
---|---|
![]() อธิบายรูปภาพนี้ |
รูปภาพแสดงตารางเที่ยวบินขาเข้าและขาออกของสนามบิน |
พรอมต์ที่อัปเดต | การตอบกลับที่ดีขึ้น |
---|---|
![]() แยกเวลาและเมืองจากป้ายที่สนามบินซึ่งแสดงในรูปภาพนี้ออกเป็นรายการ |
เพิ่มตัวอย่าง
���มเดล Gemini ยอมรับอินพุตได้หลายรายการ ซึ่งจะใช้เป็นตัวอย่างเพื่อทำความเข้าใจเอาต์พุตที่ต้องการ การเพิ่มตัวอย่างเหล่านี้จะช่วยให้โมเดลระบุรูปแบบและใช้ความสัมพันธ์ระหว่างรูปภาพและคำตอบที่ระบุกับตัวอย่างใหม่ได้ หรือเรียกอีกอย่างว่าการเรียนรู้แบบ "จำนวนน้อย"
ในตัวอย่างด้านล่าง เอาต์พุตเริ่มต้นเขียนในรูปแบบประโยค และมีประเทศ (บราซิล) ด้วย สมมติว่าคุณต้องการเอาต์พุตในรูปแบบหรือสไตล์อื่น และต้องการเฉพาะเมือง ไม่ใช่ประเทศ การเพิ่มตัวอย่างแบบไม่กี่ช็อตลงในพรอมต์จะช่วยนำทางโมเดลให้ตอบก����บ���น��ั����ณ����ี่คุณต้องการ
พรอมต์ | การตอบสนองของโมเดล |
---|---|
![]() ระบุเมืองพร้อมกับสถานที่สำคัญ |
สถานที่สำคัญคือรูปปั้นพระคริสต์ผู้ไถ่ในรีโอเดจาเนโร บราซิล |
พรอมต์ที่อัปเดต | การตอบกลับที่ดีขึ้น |
---|---|
ระบุเมืองพร้อมกับสถานที่สำคัญ ![]() |
เมือง: โรม สถานที่สำคัญ: โคลอสเซียม |
![]() |
เมือง: ปักกิ่ง สถานที่สำคัญ: พระราชวังต้องห้าม |
![]() |
เมือง: รีโอเดจาเนโร, สถานที่สำคัญ: รูปปั้นพระคริสต์ผู้ไถ่ |
อธิบายทีละขั้นตอน
สำหรับงานที่ซับซ้อน เช่น งานที่ต้องอาศัยทั้งความเข้าใจภาพและการหาเหตุผล การแยกงานออกเป็นขั้นตอนเล็กๆ ที่เข้าใจง่ายขึ้นอาจมีประโยชน์ หรือจะขอให้นายแบบ/นางแบบ "คิดทีละขั้นตอน" ในพรอมต์โดยตรงก็ได้เช่นกัน
พรอมต์ | การตอบกลับของโมเดล |
---|---|
![]() กระดาษชำระจะหมดเมื่อใด |
อีกไม่นาน คุณจะมีสิทธิ์ใช้สิทธิ์รับส่วนลดเหลือเพียง 3 สิทธิ์ |
พรอมต์ที่อัปเดต | การตอบกลับที่ดีขึ้น |
---|---|
![]()
|
|
โจทย์คณิตศาสตร์หรือโจทย์ปัญหาแบบอื่นๆ เหมาะอย่างยิ่งที่จะใช้��า������้น������บบ/นางแบบคิดทีละขั้นตอน
พรอมต์ | การตอบกลับ |
---|---|
![]()
ลำดับที่ 4 ในลำดับคืออะไร |
-135 |
การตอบกลับจากโมเดลไม่ถูกต้อง วิธีปรับปรุงปัญหานี้อย่างหนึ่งคือขอให้โมเดลแยกวิเคราะห์โจทย์ก่อนตอบพรอมต์
พรอมต์ | การตอบกลับ |
---|---|
![]()
แยกวิเคราะห์สูตรในรูปภาพก่อน จากนั้นให้ตอบคำถาม "ลำดับที่ 4 ในอนุกรมคืออะไร" โดยอิงตามสูตร |
คลิกเพื่อขยายผลลัพธ์\( b(n) = b(n-1) * (-3) \) \( b(1) = 15 \)
\( b(4) = b(4-1) * (-3) \) \( b(4) = b(3) * (-3) \) \( b(3) = b(3-1) * (-3) \) \( b(3) = b(2) * (-3) \) \( b(2) = b(2-1) * (-3) \) \( b(2) = b(1) * (-3) \) \( b(2) = 15 * (-3) \) \( b(2) = -45 \) \( b(3) = b(2) * (-3) \) \( b(3) = -45 * (-3) \) \( b(3) = 135 \) \( 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 |
|
ใส่รูปภาพไว้ก่อนสำหรับพรอมต์แบบรูปภาพเดียว
แม้ว่า 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 เพื่ออัปโหลดไฟล์สื่อและรวมไว้ในพรอมต์ได้ที่คู่มือการมองเห็น เสียง และการประมวลผลเอกสาร
- ดูคําแนะนําเพิ่มเติมเกี่ยวกับการออกแบบพรอมต์ เช่น การปรับพารามิเตอร์การสุ่มตัวอย่างได้ที่หน้ากลยุทธ์พรอมต์