Tool: read_image — Progressive vision-first และ batch สูงสุด 4 ภาพ

ภาพประกอบ: Tool: read_image — Progressive vision-first และ batch สูงสุด 4 ภาพ

read_image ของ Agent Lite รุ่นปัจจุบันใช้หลัก progressive vision-first: ให้ VLM เห็นภาพจริงก่อน แล้วค่อยเรียก sensor เช่น OCR, find หรือ zoom เมื่อมีเหตุผลต้องใช้

นี่ต่างจากแนวทางเก่าที่เอา OCR text มาเป็นข้อมูลหลักตั้งแต่รอบแรก

รอบแรก: original pixels ก่อน

เมื่อภาพยังไม่เคยถูกอ่านใน turn นี้ เส้นทาง overview จะ:

  1. อ่าน snapshot ของไฟล์
  2. normalize ภาพ
  3. ทำ hidden OCR/QR security preflight สำหรับ DLP
  4. ถ้าปลอดภัย จึง encode และคิว original image เข้า direct-vision context
  5. บอกโมเดลให้ inspect pixels ก่อน

OCR ที่ใช้ใน security preflight ไม่ถูกแสดงให้โมเดลเป็น visible text ในรอบนี้

ทำไม vision-first

ภาพบางประเภทไม่ต้อง OCR เลย เช่น diagram, scene, UI layout หรือรูปวัตถุ การส่ง OCR text จำนวนมากก่อนอาจรบกวนการตีความภาพจริงของ VLM

ดังนั้น Agent Lite ให้โมเดลเห็น pixels ก่อน แล้วค่อยใช้ sensor เฉพาะเมื่อคำถามต้องการข้อมูลที่ sensor ทำได้ดีกว่า

เมื่อไรค่อยใช้ OCR

ถ้าต้องอ่านตัวอักษรเล็ก, ตัวเลข, label หรือข้อความที่ VLM เห็นไม่ชัด ให้เรียก text/OCR ในรอบถัดไป

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

Batch สูงสุด 4 ภาพ

read_image รับหลาย path ได้สูงสุด 4 ภาพใน call เดียว และเตรียมภาพแบบ bounded parallelism

ตัวอย่างเชิงแนวคิด:

read_image(path=["a.png", "b.jpg", "c.png", "d.jpg"])

แต่ละภาพถูกตรวจ path/size/security แยกจากกัน

เลือก OCR เป็นรายภาพได้

batch mode รองรับการระบุว่าจะขอ OCR สำหรับภาพใดบ้าง ไม่จำเป็นต้อง OCR ทั้งชุด

ถ้าภาพที่ขอ OCR ยังไม่ผ่าน overview ระบบจะ defer visible OCR และแนบ original pixels ก่อน เพื่อรักษา contract vision-first จากนั้น caller ค่อยเรียก batch เดิมอีกครั้งพร้อม OCR selection ที่ต้องการ

Find / region / zoom

หลัง overview แล้ว สามารถอ่านเพิ่มแบบเจาะจง:

  • detail='text' — OCR/text sensor
  • find='คำที่ต้องการ' — หา OCR box แล้ว crop รอบตำแหน่งนั้น
  • region + zoom — crop บริเวณ เช่นมุมขวาบน/กลางภาพแล้วขยาย
  • detail อื่น เช่น chart/slide ตาม contract ของ tool

ระบบมี attempt budget เพื่อกัน zoom/find loop ไม่จำกัด

DLP ตรวจทั้ง OCR และ QR

ก่อนปล่อยภาพให้ VLM เห็น ระบบตรวจ secret-shaped content จาก OCR และ QR payload

QR สำคัญเพราะ token/credential อาจอยู่ใน QR โดยไม่มีตัวอักษรที่มองเห็นได้ หากตรวจพบ QR แต่ decode ไม่สำเร็จ policy จะ fail closed แทนการสมมติว่าปลอดภัย

Snapshot ที่ส่งเข้าโมเดลคือภาพที่ผ่าน preflight แล้ว

Tool ไม่เพียงเช็ค path แล้วค่อยให้โมเดลอ่านไฟล์ต้นฉบับภายหลัง แต่เตรียม snapshot bytes ที่ผ่าน normalize/security แล้วและคิว snapshot นั้นเข้า vision context ช่วยลด race ที่ไฟล์ต้นทางถูกเปลี่ยนหลัง preflight

ทำไม batch 4 จึงเหมาะกับ Lite

MAX/VLM รุ่นใหญ่สามารถรับ batch มากกว่า แต่ Lite ตั้งเพดาน 4 เพื่อรักษา memory/context budget ของโมเดล 2B และเครื่อง RAM 8GB จุดประสงค์คือประหยัด tool round trip โดยไม่เปลี่ยนภาพหลายสิบภาพให้กลายเป็น workload ก้อนใหญ่เกินเครื่องเป้าหมาย

อ่านต่อ

ความคิดเห็น

กำลังโหลดความคิดเห็น...