ตัวอย่างและ Best Practices
ตัวอย่าง Template
ตัวอย่างที่ 1: ดึงข้อมูลใบกำกับภาษีไทย (JSON)
Template นี้ดึงข้อมูลฟิลด์ที่จำเป็นทั้งหมดจากใบกำกับภาษีไทยมาตรฐานและส่งคืนเป็น JSON สำหรับจัดเก็บในฐานข้อมูล
การตั้งค่า Template:
- ชื่อ:
ใบกำกับภาษีไทย - Result Format:
json - AI Provider:
OpenAI gpt-4o
Schema:
{
"type": "object",
"properties": {
"invoice_number": {
"type": "string",
"description": "เลขที่ใบกำกับตามที่พิมพ์บนเอกสาร"
},
"invoice_date": {
"type": "string",
"description": "วันที่ออกในรูปแบบ YYYY-MM-DD แปลง พ.ศ. เป็น ค.ศ. โดยลบ 543"
},
"seller_name": {
"type": "string",
"description": "ชื่อบริษัทผู้ขาย ให้เก็บชื่อภาษาไทยตามต้นฉบับ"
},
"seller_tax_id": {
"type": "string",
"description": "เลขประจำตัวผู้เสียภาษี 13 หลักของผู้ขาย"
},
"seller_address": {
"type": "string",
"description": "ที่อยู่ผู้ขายตามที่ปรากฏบนใบกำกับ"
},
"buyer_name": {
"type": "string",
"description": "ชื่อบริษัทหรือบุคคลผู้ซื้อ"
},
"buyer_tax_id": {
"type": "string",
"description": "เลขประจำตัวผู้เสียภาษี 13 หลักของผู้ซื้อ ถ้ามี"
},
"line_items": {
"type": "array",
"description": "รายการสินค้าหรือบริการทั้งหมด",
"items": {
"type": "object",
"properties": {
"description": { "type": "string" },
"quantity": { "type": "number" },
"unit_price": { "type": "number" },
"amount": { "type": "number" }
}
}
},
"subtotal": {
"type": "number",
"description": "ยอดเงินก่อนภาษีมูลค่าเพิ่ม"
},
"vat_rate": {
"type": "number",
"description": "อัตราภาษีเป็นทศนิยม เช่น 0.07 สำหรับ 7%"
},
"vat_amount": {
"type": "number",
"description": "จำนวนเงินภาษีมูลค่าเพิ่ม"
},
"total_amount": {
"type": "number",
"description": "ยอดรวมทั้งสิ้นรวมภาษีแล้ว"
},
"currency": {
"type": "string",
"description": "สกุลเงิน เริ่มต้น THB"
}
}
}Instructions:
คุณเป็นผู้ช่วยดึงข้อมูลใบกำกับภาษีไทย ดึงข้อมูลทั้งหมดตามที่ปรากฏในใบกำกับ
กฎดังนี้:
- แปลงวันที่ พ.ศ. ทั้งหมดเป็น ค.ศ. โดยลบ 543
- ส่งคืนค่าทางการเงินทั้งหมดเป็นตัวเลขล้วนๆ ไม่มีเครื่องหมายจุลภาคหรือสัญลักษณ์
- ถ้าฟิลด์ใดไม่มีอยู่ ให้ส่งคืน null
- เก็บชื่อบริษัทภาษาไทยตามต้นฉบับ
- รวมทุกรายการในตารางสินค้าตัวอย่างที่ 2: เครื่องสแกนใบเสร็จค่าใช้จ่าย (CSV)
Template นี้สแกนใบเสร็จค่าใช้จ่ายและ Export ผลลัพธ์เป็น CSV สำหรับการประมวลผลรายงานค่าใช้จ่าย
การตั้งค่า Template:
- ชื่อ:
ใบเสร็จค่าใช้จ่าย - Result Format:
csv - CSV Config:
csvColumnsOnly: true - AI Provider:
Google Gemini gemini-2.0-flash
Schema:
{
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "วันที่ใบเสร็จ YYYY-MM-DD"
},
"merchant": {
"type": "string",
"description": "ชื่อร้านค้าหรือผู้ขาย"
},
"category": {
"type": "string",
"description": "หมวดหมู่ค่าใช้จ่าย: อาหาร, การเดินทาง, ที่พัก, เครื่องใช้สำนักงาน, อื่นๆ"
},
"amount": {
"type": "number",
"description": "ยอดรวมที่ชำระ"
},
"currency": {
"type": "string",
"description": "สกุลเงิน เช่น THB"
},
"payment_method": {
"type": "string",
"description": "เงินสด, บัตรเครดิต, บัตรเดบิต, พร้อมเพย์, หรืออื่นๆ"
},
"vat_included": {
"type": "boolean",
"description": "True ถ้าใบเสร็จแสดงรวมภาษีมูลค่าเพิ่มแล้ว"
},
"vat_amount": {
"type": "number",
"description": "จำนวนเงินภาษีมูลค่าเพิ่ม"
}
}
}การตั้งค่า CSV Column Order:
["date", "merchant", "category", "amount", "currency", "payment_method", "vat_amount"]Instructions:
ดึงข้อมูลค่าใช้จ่ายจากใบเสร็จนี้
จัดหมวดหมู่ค่าใช้จ่ายเป็น: อาหาร, การเดินทาง, ที่พัก, เครื่องใช้สำนักงาน, หรืออื่นๆ
สำหรับใบเสร็จไทยที่มี QR Code พร้อมเพย์ ให้ตั้ง payment_method เป็น "พร้อมเพย์"
ยอดเงินทั้งหมดในสกุลเงินต้นฉบับ ไม่ต้องแปลงตัวอย่างที่ 3: สรุปเอกสาร (Free Text)
Template นี้สร้างสรุปข้อความธรรมดาของเอกสารใดก็ได้ เหมาะสำหรับการทำ Index ค้นหาหรือตรวจสอบอย่างรวดเร็ว
การตั้งค่า Template:
- ชื่อ:
สรุปเอกสาร - Result Format:
text - AI Provider:
Anthropic claude-sonnet-4-5
Schema: (ไม่จำเป็นสำหรับ Free Text)
Instructions:
อ่านเอกสารทั้งหมดและสร้างสรุปที่มีโครงสร้างโดยมีส่วนดังนี้:
1. ประเภทเอกสาร: ระบุว่าเอกสารนี้คืออะไร
2. ฝ่ายที่เกี่ยวข้อง: ระบุบุคคล บริษัท หรือองค์กรทั้งหมดที่กล่าวถึง
3. หัวข้อหลัก: หนึ่งย่อหน้าอธิบายว่าเอกสารเกี่ยวกับอะไร
4. วันที่สำคัญ: ระบุวันที่สำคัญทั้งหมดและความหมาย
5. ตัวเลขสำคัญ: ระบุจำนวนเงิน ปริมาณ หรือหมายเลขอ้างอิงที่สำคัญทั้งหมด
6. รายการที่ต้องดำเนินการ: งาน ข้อผูกมัด หรือ Deadline ใดๆ ที่กล่าวถึง
เขียนเป็นภาษาไทยโดยไม่คำนึงว่าเอกสารต้นฉบับเป็นภาษาใด
ให้สรุปทั้งหมดไม่เกิน 400 คำBest Practices
การออกแบบ Schema
- ตั้งชื่อฟิลด์ให้สื่อความหมาย —
invoice_issue_dateชัดเจนกว่าdate1 - เพิ่ม
descriptionเสมอ — ทุกฟิลด์ควรมี Description ที่ทำหน้าที่เป็นคำสั่งย่อสำหรับ AI - ใช้ประเภทที่รองรับ Null — หลีกเลี่ยงการ Required ฟิลด์ที่อาจไม่มีอยู่เสมอ ให้ฟิลด์ที่ขาดหายส่งคืน
null - ทดสอบกับกรณีพิเศษ — รัน Template กับเอกสารที่สแกนเอียง ความละเอียดต่ำ หรือ Layout ผิดปกติ
- เน้น Schema ให้ Focused — Template ที่มี 8 ฟิลด์ที่กำหนดดีนั้นทำงานได้ดีกว่า Template ที่มี 25 ฟิลด์ที่กำหนดไม่ดี
การเลือกโมเดล AI
- เริ่มต้นด้วย
gpt-4o-miniหรือgemini-2.0-flashเพื่อประหยัดค่าใช้จ่ายระหว่างการทดสอบ - อัปเกรดเป็น
gpt-4oหรือgemini-2.5-proสำหรับ Production เมื่อความแม่นยำเป็นสิ่งสำคัญ - ใช้โมเดล Qwen สำหรับเอกสารที่เป็นภาษาจีนเป็นหลัก
- ใช้ Kimi
moonshot-v1-32kสำหรับเอกสารยาวมาก เช่น สัญญา รายงาน
การเขียนคำสั่ง
- เขียนคำสั่งในภาษาเดียวกับเอกสาร ถ้าเป็นไปได้ — หรือระบุภาษาของเอกสารอย่างชัดเจน
- เพิ่มตัวอย่างค่า ในคำสั่งเมื่อรูปแบบไม่ชัดเจน เช่น
"ส่งคืนวันที่เป็น YYYY-MM-DD เช่น 2024-11-15" - เขียนคำสั่งไม่เกิน 500 คำ — คำสั่งที่ยาวมากอาจสร้างความสับสนให้ AI
- จัดเวอร์ชันคำสั่ง — เมื่ออัปเดตคำสั่ง ให้บันทึกวันที่เปลี่ยนแปลงใน Description ของ Template เพื่อติดตามว่าเวอร์ชันไหนประมวลผลเอกสารใด
รูปแบบ Output
- ใช้ JSON เป็นค่าเริ่มต้น — มีความยืดหยุ่นสูงสุดและแปลงเป็นรูปแบบอื่นได้ง่ายในภายหลัง
- ใช้ CSV เฉพาะเมื่อ Schema แบบ Flat — Schema ที่ซ้อนลึกสร้างชื่อคอลัมน์ที่ดูแปลกใน CSV
- ใช้ PDF/DOCX สำหรับรายงานที่มนุษย์อ่านเท่านั้น ไม่ใช่สำหรับ Pipeline อัตโนมัติ
การทดสอบ
- รวบรวมเอกสารตัวอย่างที่เป็นตัวแทน 5–10 ชิ้นก่อน Deploy Template
- รวมกรณีพิเศษ: ข้อความจาง, ลายมือ, เอกสารหลายหน้า, ฟิลด์ที่ขาดหาย
- เปรียบเทียบ Output ของ AI กับข้อมูลที่ดึงด้วยมือเพื่อวัดความแม่นยำ
- ติดตาม Processing History สำหรับข้อผิดพลาดที่เกิดซ้ำและปรับปรุงคำสั่งตามนั้น
Data Files
- ให้ไฟล์ข้อมูลมีขนาดเล็กและ Focused (ใต้ 500KB ต่อไฟล์)
- อัปเดตไฟล์ข้อมูลเมื่อข้อมูลอ้างอิงเปลี่ยนแปลง เช่น แคตตาล็อกสินค้า รายชื่อลูกค้า
- ใช้ไฟล์
.mdสำหรับเอกสารกฎ — การจัดรูปแบบ Markdown ช่วยให้ AI แยกวิเคราะห์กฎที่มีโครงสร้างได้ดีขึ้น
สรุป
| งาน | ตั้งค่าที่ |
|---|---|
| กำหนดฟิลด์ที่ดึง | Schema (รูปแบบ JSON Schema) |
| เลือกโมเดล AI | Assistant Config > Provider + Model |
| เขียนกฎการดึงข้อมูล | Assistant Config > Instructions |
| ตั้งรูปแบบ Output | Result Format |
| ตั้งค่าคอลัมน์ CSV | Result Format > csvColumnOrder |
| เพิ่มเอกสารอ้างอิง | Data Files |
| สร้างรูปภาพ | Result Format > image + imageUserOptions |
สำหรับการเชื่อมต่อผ่าน API ดู API Reference สำหรับ Endpoint การจัดการ Template และวิธีเปิดใช้งานการประมวลผลผ่านโปรแกรม
