การผสานข้อความและรูปภาพ
พรอมต์หลายสื่อแบบรวมเป็นหนึ่ง
การผสานข้อความและรูปภาพ เป็นบทเรียน AI Prompt Engineering ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Prompt Engineering และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
คำสั่งหลายรูปแบบแบบรวมเป็นหนึ่ง
คำสั่งหลายรูปแบบไม่ใช่ข้อความบวกกับภาพที่แนบมา แต่เป็นลำดับเดียวที่สลับแทรกกัน โดยโทเคนภาพและโทเคนข้อความอยู่ในบริบทเดียวกันและให้ความสนใจกัน โมเดลไม่ได้ 'ดูภาพแล้วค่อยอ่านข้อความ' แต่ประมวลผลกระแสโทเคนที่หลอมรวมกัน
- ส่วนย่อยของภาพถูกฉายเข้าสู่ปริภูมิเวกเตอร์ฝังเดียวกับโทเคนข้อความ
- ลำดับมีผล: คำถามที่วางไว้ก่อนภาพจะกระตุ้นความสนใจแตกต่างจากคำถามที่วางไว้หลังภาพ
- คุณกำลังเขียนคำสั่งเดียวที่มีรูปแบบการแสดงออกสองแบบ ไม่ใช่คำสั่งสองชุด
ลำดับการสลับแทรกและการยึดโยง
ตำแหน่งของภาพเมื่อเทียบกับคำสั่งเปลี่ยนพฤติกรรมของโมเดล การวางคำสั่งไว้หลังภาพช่วยให้โมเดลใช้สิ่งที่เข้ารหัสไว้แล้วเป็นเงื่อนไขของคำถาม ส่วนการวางไว้ก่อนภาพจะเปลี่ยนภาพให้เป็นหลักฐานสำหรับงานที่ระบุไว้ล่วงหน้า
สำหรับคำสั่งที่มีหลายภาพ ให้กำกับแต่ละภาพไว้ในบรรทัดเดียวกัน เพื่อให้ข้อความภายหลังอ้างอิงได้อย่างไม่กำกวม ([Image 1], [Image 2])
messages = [
{'role': 'user', 'content': [
{'type': 'text', 'text': 'You will see two product photos.'},
{'type': 'text', 'text': 'Image 1:'},
{'type': 'image', 'source': img_a},
{'type': 'text', 'text': 'Image 2:'},
{'type': 'image', 'source': img_b},
{'type': 'text', 'text': 'Which has better lighting? Cite the image label.'}
]}
]การกำหนดกรอบงานก่อนการเข้ารหัส
ตัวเข้ารหัสภาพสูญเสียข้อมูล: รายละเอียดที่ไม่เกี่ยวข้องกับงานโดยนัยอาจถูกตัดทิ้งระหว่างการรวมข้อมูล หากระบุงาน ก่อน ภาพ จะทำให้โมเดลมุ่งความสนใจไปยังบริเวณที่สำคัญได้มากขึ้น
- คำขอให้บรรยายภาพทั่วไปให้คุณลักษณะทั่วไป
- คำถามที่เฉพาะเจาะจง ('นับตัวต้านทานบนแผงวงจร') จะมุ่งงบประมาณการแทนข้อมูลไปยังบริเวณย่อยที่เกี่ยวข้อง
ระบุความเฉพาะเจาะจงไว้ตั้งแต่ต้นเมื่อจำเป็นต้องใช้รายละเอียดปลีกย่อย
งบประมาณความละเอียดและการแบ่งภาพเป็นช่อง
โมเดลภาพส่วนใหญ่แบ่งภาพความละเอียดสูงเป็นแพตช์ขนาดคงที่ โดยแต่ละแพตช์มีต้นทุนเป็นโทเคน ภาพขนาด 2000x2000 อาจถูกแบ่งเป็นช่องจำนวนมาก และแต่ละช่องจะถูกลดขนาดลง งบประมาณโทเคนคือข้อจำกัดเงียบของการเขียนคำสั่งหลายสื่อ
- ใช้ crop บริเวณที่สนใจก่อนส่ง — อย่าพึ่งพาให้โมเดลซูมเอง
- สำหรับเอกสารที่มีข้อมูลหนาแน่น ให้ส่งภาพที่ crop เฉพาะหน้า แทนการส่งภาพทั้งหน้าภาพเดียว
- ควรทราบจำนวนช่องสูงสุดของผู้ให้บริการ เพราะเมื่อเกินจำนวนดังกล่าว ข้อความขนาดเล็กจะอ่านไม่ออก
def estimate_image_tokens(w, h, tile=512, per_tile=256):
import math
tiles = math.ceil(w / tile) * math.ceil(h / tile)
return tiles * per_tile + per_tile # + thumbnailข้อความในฐานะโครงสร้างข้อมูลสำหรับภาพ
รวมภาพเข้ากับโครงสร้างผลลัพธ์ที่ระบุไว้อย่างชัดเจนในช่องข้อความ ภาพให้เนื้อหา ส่วนข้อความให้ข้อตกลง วิธีนี้เชื่อถือได้มากกว่าการบรรยายแบบอิสระ
ขอผลลัพธ์เป็น JSON โดยใช้เอนทิตีที่คาดว่าจะพบเป็นคีย์ และกำชับให้โมเดลส่ง null สำหรับฟิลด์ที่มองไม่เห็น — วิธีนี้ช่วยลดรายละเอียดที่โมเดลสร้างขึ้นเอง
instruction = (
'Extract from the receipt image. Return JSON: '
'{"merchant": str|null, "total": number|null, '
'"date": str|null, "line_items": [{"name": str, "price": number}]}. '
'Use null when a field is not legible. Do not invent values.'
)การขจัดความกำกวมด้วยคำอ้างชี้เฉพาะ
คำอ้างชี้เฉพาะ ('นี้', 'อันที่อยู่ทางซ้าย', 'กรอบที่เน้นไว้') เชื่อมข้อความเข้ากับบริเวณต่าง ๆ ในภาพ เมื่อสามารถใส่คำกำกับล่วงหน้าให้ภาพได้ (วาดกรอบ เพิ่มลูกศร) การอ้างอิงในข้อความจะมีความทนทานกว่าการใช้ภาษาบอกตำแหน่งเพียงอย่างเดียวมาก
- คำบอกตำแหน่ง ('บนขวา') มีโอกาสผิดพลาดได้ง่ายเมื่อภาพถูกหมุนหรือ crop
- เครื่องหมายตัวเลขที่ซ้อนทับ พร้อมกับ 'วัตถุ #3' ไม่กำกวม
- การประมวลผลภาพล่วงหน้าเพื่อเพิ่มเครื่องหมายเป็นแนวทางวิศวกรรมคำสั่งที่เหมาะสม
การเรียนรู้จากตัวอย่างจำนวนน้อยด้วยหลายรูปแบบข้อมูล
คุณสามารถจัดเตรียมตัวอย่างภาพเป็นข้อความเพื่อกำหนดรูปแบบและสไตล์การให้เหตุผลให้คงที่ แต่ละตัวอย่างเป็นคู่ (ภาพ, คำตอบในอุดมคติ) ที่สอดประสานกัน โมเดลจะอนุมานการจับคู่จากตัวอย่างสาธิต
ให้ภาพตัวอย่างเป็นตัวแทนของการกระจายจริง — ตัวอย่างจากคนละโดเมนจะสอนให้โมเดลเลือกคุณลักษณะผิด
shots = [
('image', chart_a), ('text', 'Trend: upward. Peak: Q3. Anomaly: none.'),
('image', chart_b), ('text', 'Trend: flat. Peak: Q1. Anomaly: Q4 dip.'),
('image', target_chart), ('text', 'Trend:') # model completes
]การเชื่อมโยงข้ออ้างกับพิกเซล
สำหรับการดึงข้อมูลที่มีความเสี่ยงสูง กำหนดให้โมเดลระบุว่าในภาพ ตรงไหน เป็นที่มาของแต่ละข้ออ้าง กรอบล้อมโดยประมาณหรือข้อความบนภาพที่ยกมาตรง ๆ ทำหน้าที่เป็นหลักฐานที่ตรวจสอบได้ และลดการกุเรื่องอย่างมั่นใจลงอย่างมาก
- 'สำหรับแต่ละค่า ให้ยกข้อความป้ายกำกับที่คุณอ่านได้มาแบบตรงตัว'
- 'ให้กรอบล้อมโดยประมาณที่ทำให้เป็นมาตรฐาน [x0,y0,x1,y1] ต่อฟิลด์'
การยึดโยงหลักฐานเปลี่ยนคำตอบที่ทึบแสงให้เป็นคำตอบที่ตรวจสอบย้อนกลับได้
รูปแบบความล้มเหลวที่ต้องป้องกัน
โมเดลหลายสื่อมักผิดพลาดในรูปแบบเฉพาะ:
- การคลาดเคลื่อนของ OCR กับแบบอักษรขนาดเล็กหรือมีรูปแบบพิเศษ — ตัวเลขอย่าง 1/7 และ 0/O ทำให้สับสน
- การนับพังทลายเมื่อมีวัตถุคล้ายกันมากกว่า ~6 ชิ้น
- อคติจากคำบรรยาย: บรรยายฉากทั่วไปแทนที่จะบรรยายฉากที่มีอยู่จริง
- การครอบงำจากช่องข้อความ: ข้ออ้างในข้อความที่ผิดแต่แสดงอย่างมั่นใจอาจกดทับหลักฐานภาพที่ถูกต้อง
ลดปัญหาโดยขอให้โมเดลอนุมานจากภาพก่อน แล้วจึงเทียบกับข้อกล่าวอ้างในข้อความ
คำสั่งสำหรับการจัดการข้อขัดแย้ง
เมื่อบริบทข้อความกับภาพขัดแย้งกัน คุณต้องกำหนดลำดับความสำคัญอย่างชัดเจน — โมเดลไม่มีนโยบายเริ่มต้นที่ไว้ใจได้ ให้ระบุไปเลยว่า: 'หากภาพขัดแย้งกับข้อมูลเมตาที่ให้มา ให้เชื่อภาพและแจ้งความไม่ตรงกัน'
ประโยคเดียวนี้เปลี่ยนข้อผิดพลาดเงียบให้เป็นข้อขัดแย้งที่แสดงออกอย่างชัดเจน ซึ่งกระบวนการในขั้นถัดไปสามารถส่งต่อไปตรวจสอบได้
policy = (
'You are given metadata AND a photo. '
'When they disagree, prefer the photo as ground truth. '
'Emit {"value": ..., "conflict": bool, "note": str}.'
)การออกแบบกระบวนการผสานข้อมูล
การเขียนคำสั่งหลายสื่อสำหรับการใช้งานจริงเป็นกระบวนการ ไม่ใช่การเรียกใช้เพียงครั้งเดียว:
- ประมวลผลล่วงหน้า: crop ใส่คำกำกับ และลดขนาดให้พอดีกับงบประมาณ
- ผสาน: สอดประสานข้อมูลเข้ากับคำสั่งที่เริ่มจากงานและโครงสร้างผลลัพธ์
- ยึดโยงหลักฐาน: กำหนดให้มีหลักฐานต่อข้ออ้างแต่ละข้อ
- จัดการข้อขัดแย้ง: ระบุลำดับความสำคัญระหว่างรูปแบบข้อมูล
- ตรวจสอบความถูกต้อง: แยกวิเคราะห์ JSON ตรวจค่า null และตรวจเครื่องหมายข้อขัดแย้ง
แต่ละขั้นลดพื้นที่เสี่ยงต่อความล้มเหลวที่การใช้คำสั่งเพียงอย่างเดียวไม่สามารถลดได้
ตรวจสอบความเข้าใจอย่างรวดเร็ว
คุณต้องดึงข้อความตัวพิมพ์ขนาดเล็กจากภาพสแกนสัญญาความละเอียดสูง และต้องการตัวเลขที่เชื่อถือได้
ทบทวน: การผสานข้อความกับภาพ
คำสั่งหลายสื่อแบบรวมเป็นกระแสโทเคนเดียวที่สอดประสานกัน แนวทางสำคัญ ได้แก่ การกำหนดกรอบงานโดยเริ่มจากงานเพื่อชี้นำตัวเข้ารหัสภาพ การตระหนักถึงความละเอียดและการแบ่งภาพเป็นช่องผ่านการตัดภาพ โครงสร้างผลลัพธ์ที่ระบุชัดเจนพร้อมฟิลด์ที่รับค่า null ได้ การยึดโยงกับพิกเซลสำหรับทุกข้ออ้าง และ การระบุลำดับความสำคัญระหว่างรูปแบบข้อมูลเมื่อเกิดข้อขัดแย้ง ให้ถือว่านี่เป็นกระบวนการ — ประมวลผลล่วงหน้า ผสาน ยึดโยงหลักฐาน จัดการข้อขัดแย้ง และตรวจสอบความถูกต้อง — แล้วส่วนที่เปราะบางของการเขียนคำสั่งเกี่ยวกับภาพจะกลายเป็นสิ่งที่ควบคุมได้
เรียนรู้ AI Prompt Engineering ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 53
- บทเรียน
- 199
คำถามที่พบบ่อย
บทเรียน “การผสานข้อความและรูปภาพ” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การผสานข้อความและรูปภาพ” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Prompt Engineering ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Prompt Engineering มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การผสานข้อความและรูปภาพ”
พรอมต์หลายสื่อแบบรวมเป็นหนึ่ง คุณปฏิบัติ AI Prompt Engineering ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Prompt Engineering หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Prompt Engineering บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “การผสานข้อความและรูปภาพ” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน AI Prompt Engineering นี้ได้ไหม
ได้ บทเรียน AI Prompt Engineering ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การผสานข้อความและรูปภาพ
- การยึดโยงข้ามรูปแบบสื่อ
- เสียง ข้อความ และภาพร่วมกัน
- การควบคุมผลลัพธ์หลายสื่อ