นิตยสารYamroongเรื่องราวที่ควรค่าแก่การอ่าน

RAG ทำให้ AI ตอบจากเอกสารของเราได้อย่างไร

หลายบริษัทอยากให้ AI ตอบคำถามจากเอกสารของตัวเอง ซึ่งโมเดลไม่เคยเห็นมาก่อน วิธีที่ใช้กันมากที่สุดคือ RAG หรือ Retrieval-Augmented Generation

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

สี่ขั้นตอนหลัก

  1. ตัดเอกสารเป็นชิ้น ๆ — หั่นเป็นท่อน ๆ ขนาดอ่านจบในหนึ่งย่อหน้า
  2. ทำเป็นเวกเตอร์ — แปลงแต่ละท่อนเป็นชุดตัวเลขที่สะท้อนความหมาย
  3. ค้นตอนมีคำถาม — แปลงคำถามเป็นเวกเตอร์แล้วหาท่อนที่ใกล้ที่สุด
  4. ส่งให้โมเดลสรุป — ยัดท่อนที่เจอเข้า prompt แล้วสั่งให้ตอบจากท่อนเหล่านี้เท่านั้น

ทำไมไม่ยัดเอกสารทั้งก้อนเข้าไปเลย

ทำได้ถ้าเอกสารเล็ก แต่กับคลังของทั้งบริษัทมันไม่คุ้มทั้งค่าใช้จ่ายและความแม่นยำ โมเดลที่ได้ของเกี่ยวข้องสิบกว่าย่อหน้าตอบได้ตรงกว่าโมเดลที่ได้เอกสารสามร้อยหน้า

จุดที่มักพังในงานจริง

ปัญหาอาการทางแก้
ซอยเอกสารแย่ตัดกลางประโยค ตารางแตกหมดรูปตัดตามหัวข้อ กำหนด overlap ระหว่างชิ้น
ค้นคำไทยไม่เจอโมเดล embedding อ่อนภาษาไทยเลือกโมเดลที่รองรับไทยหรือผสม keyword search
ตอบจากเอกสารเก่าไม่ได้ลบฉบับเก่าออกใส่วันที่ใน metadata และกรองเอาฉบับล่าสุด
ตอบครบแต่อ้างผิดหน้าไม่ได้เก็บที่มาเก็บเลขหน้า/หัวข้อติดกับทุกท่อน

RAG เหมาะกับงานแบบไหน

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

ถ้าเริ่มต้นใหม่ ให้ทำ RAG แบบง่ายที่สุดก่อน คือตัดท่อนกับค้นด้วยคำธรรมดา แล้วค่อยเพิ่ม vector เข้าไปเมื่อรู้ว่าการค้นแบบเดิมพลาดตรงไหน

ความคิดเห็น

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