7 จุดระวัง เวลาทำ RAG

7 จุดระวัง เวลาทำ RAG

เนื้อหานี้มาจาก Seven Failure Points When Engineering a Retrieval Augmented Generation System ครับ เขียนไว้ดีเลยทีเดียว

แนะนำให้ไปอ่าน Paper ตัวเต็มกันนะครับ มี Lesson Learned และ Findings ที่น่าสนใจอื่น ๆ ด้วย

seven-failure-rag
Seven Failure Points When Engineering a Retrieval Augmented Generation System

สมัครสมาชิก

หรือ เลี้ยงกาแฟ ☕

เอาหน่อย!

Missing Content 

ไม่มี Content นี้ในฐานข้อมูล, เวลาไม่มี LLM ก็ควรจะตอบว่า ไม่รู้ หรือหาข้อมูลไม่พบ ตรงนี้เราอาจจะต้องเพิ่มข้อมูลเข้าไปในฐานข้อมูลของเรา

Missed the Top Ranked Documents

ข้อมูลหน่ะมี แต่ว่าไม่ได้หยิบออกมา อาจจะเป็นจำนวน Top K ที่เราให้ดึงมามันไม่พอ หรือ Algorithm ในการดึงอาจจะไปโดนตัวอื่น ตรงนี้เราอาจจะขยาย Top K, เปลี่ยน Algorithm ดูครับ

Not in Context

ข้อมูลหน่ะมี ดึงมาแล้วด้วย แต่อาจจะถูก rerank ใหม่แล้วหายไป หรือ summary แล้วหายไป ตรงนี้อาจจะต้องลองดูจุดที่เราทำการรวมข้อมูลครับ ไม่ว่าจะเป็น rerank หรือ summary ว่าควรปรับปรุงอะไรไหม

Not Extracted

ข้อมูลมี ดึงมาพร้อมเรียบร้อย ใส่เข้าไปใน Prompt แล้วด้วย แต่ LLM ไม่ดึงมาตอบ ตรงนี้อาจจะเกิดจากการที่มี Noise หรือ ข้อมูลที่ไม่เกี่ยวข้องมากเกินไป

Wrong format

Format ผิด เวลาเราสั่งให้ LLM ตอบเป็นตาราง, เป็น List ตรงนี้อาจจะลองปรับ Prompt ดูครับ

Incorrect Specificity 

คำตอบแคบไป หรือ กว้างเกิน มักจะเกิดจาก คนที่ทำ RAG อาจจะตั้งใจออกแบบมา เช่น ทำ RAG สำหรับการศึกษา ตัว LLM ควรจะตอบคำถาม พร้อมคำอธิบาย ไม่ใช่แค่คำตอบอย่างเดียว หรือ อีกสาเหตุมักจะเกิดจากที่ผู้ใช้เอง ไม่รู้ว่าจะถามคำถามอย่างไร

Incomplete

ตอบไม่ครบ ไม่ใช่ตอบผิดนะครับ เช่น ถามว่า คิดยังไงกับ A, B, C แล้ว LLM ตอบมาแค่ A วิธีแก้เราอาจจะต้องให้ผู้ใช้ แยกถามทีละคำถาม หรือเราใช้เทคนิค Pre-retrieval ทำการ extract query ออกมาเป็น 3 คำถามย่อย ก่อนก็น่าจะช่วยได้เช่นกัน