PRIMO Tech-a-Break: ชวนเจาะลึก RAG Architecture 7 รูปแบบ มีอะไรบ้าง และควรเลือกใช้แบบไหน?
สวัสดีครับ วันนี้ PRIMO Tech-a-Break ขอหยิบเอาความรู้ที่ Dev ที่ทำ AI ควรรู้มาแชร์ครับ นั่นก็คือเรื่องของ RAG (Retrieval-Augmented Generation) Architecture นั่นเอง
ใครที่ทำแอปพลิเคชันเกี่ยวกับ LLM (Large Language Model) น่าจะรู้ดีว่าปัญหาคลาสสิกของ AI คือ อาการ "หลอน" หรือ Hallucination แถมข้อมูลที่มันใช้ก็ไม่อัปเดต หรือถ้าอยากทำ AI ขึ้นมาเพื่อวัตถุประสงค์เฉพาะองค์กรที่ต้องใช้ข้อมูลแบบ DomainRAG เลยเข้ามาเป็นตัวแปรสำคัญที่ช่วยลดปัญหาเหล่านี้ได้ครับ
สรุปสั้นๆ ก่อนว่า RAG คืออะไร?
พูดภาษาง่ายๆ RAG คือการทำงานร่วมกันระหว่าง "ระบบค้นหา (Retrieval)" กับ "LLM (Generative Model)"
คือแทนที่เราจะถาม LLM ไปตรงๆ แล้วให้มันนั่งเทียนตอบ เราจะเอาคำถามของ User ไปค้นหาข้อมูลที่เกี่ยวข้อง (Context) จากฐานข้อมูลก่อน (เช่น Vector Database, Graph Database หรือตามหน้าเว็บ) จากนั้นเอาข้อมูลที่หาได้ ยัดใส่ Prompt ไปพร้อมกับคำถาม แล้วค่อยให้ LLM ตอบ
วิธีนี้ช่วยให้ AI ตอบได้ตรงความจริงมากขึ้น ข้อมูลอัปเดต และใช้กับข้อมูลเฉพาะทางขององค์กรเราได้ (Domain-specific)
ทีนี้เราลองมาดู 7 รูปแบบของ RAG Architecture กันครับ ว่าแต่ละแบบหน้าตาเป็นยังไง
7 รูปแบบ RAG Architecture ที่ควรรู้
1. Naive RAG: ท่ามาตรฐาน เบสิคสุด
นี่คือการทำ RAG แบบตรงไปตรงมาที่สุด เมื่อ User พิมพ์คำถามมา ระบบจะเอาไปค้นหาเอกสารจาก Vector Database (ที่เก็บข้อมูลเป็น Embeddings) ดึงเอา Chunk ที่เกี่ยวข้องที่สุดออกมา แล้วส่งเข้า LLM ไปพร้อมกับคำถามเพื่อสร้างคำตอบ
-
ข้อดี: ทำง่าย เหมาะกับระบบ Q&A เบื้องต้น
-
ข้อจำกัด: ถ้าระบบเจอคำถามซับซ้อน หรือข้อมูลที่ดึงมามี Noise เยอะ (ข้อมูลขยะติดมาด้วย) LLM ก็อาจจะงงได้
2. Retrieve-and-Rerank RAG
ท่านี้พัฒนาต่อจาก Naive RAG เพื่อแก้ปัญหา Noise ครับ โดยหลังจากที่เราดึงข้อมูลชุดแรกมาก่อน (อาจจะดึงมาเยอะหน่อย) เราจะเพิ่มเลเยอร์ "Reranking Model" เข้าไปเพื่อทำหน้าที่ให้คะแนนความเกี่ยวข้อง (Relevance Score) แล้วคัดเฉพาะตัวท็อปๆ ที่ตรงกับคำถามจริงๆ ค่อยส่งต่อให้ LLM
-
เหมาะสำหรับ: ระบบ Enterprise Search หรือ Customer Support Chatbot ที่ต้องการความแม่นยำ (Precision) สูงมากๆ
3. Multimodal RAG: ครบเครื่องทั้งภาพและเสียง
ท่านี้ออกแบบมาเพื่อรองรับข้อมูลหลากหลายประเภท ทั้งรูปภาพ เสียง และวิดีโอ สมมติว่า User ถามเกี่ยวกับรูปภาพสินค้า ระบบก็สามารถดึงทั้งรูปภาพและ Text Description ออกมาจาก Multimodal Knowledge Base แล้วส่งให้ Multimodal LLM ประมวลผลออกมาได้
-
เหมาะสำหรับ: E-commerce (หาสินค้าจากภาพ) หรือแอปสายการศึกษา พวกการเดาชนิดของปลา อะไรแบบนี้ก็ทำได้ครับ แฮ่
4. Graph RAG: เน้นความสัมพันธ์และโครงสร้าง
ท่านี้เราจะเปลี่ยน/เสริม มาใช้ Graph Database ครับ ข้อมูลจะถูกเก็บเป็น Node และมีความสัมพันธ์ (Relationship) เป็น Edge เมื่อมีคำถามเข้ามา ระบบจะดึง Node ที่เกี่ยวข้อง และสามารถวิ่งตามเส้น Edge (Traverse) เพื่อหาบริบทรอบข้างที่เกี่ยวข้องกันได้
-
เหมาะสำหรับ: งานวิจัยทางวิทยาศาสตร์ (หาเปเปอร์ที่อ้างอิงกัน) หรือ Social Network Analysis
5. Hybrid RAG: ลูกผสม Vector + Graph
ดึงจุดแข็งของ 2 อย่างมารวมกัน โดยใช้ Vector Search เพื่อหาความหมายที่คล้ายคลึงกัน (Semantic) และใช้ Graph DB เพื่อหาความสัมพันธ์เชิงโครงสร้าง (Relationship) เมื่อได้ข้อมูลทั้ง 2 แหล่งมารวมกัน Context ที่ส่งให้ LLM จะสมบูรณ์แบบยิ่งขึ้น
-
เหมาะสำหรับ: การวินิจฉัยทางการแพทย์ (เชื่อมโยงอาการป่วยข้ามกัน) หรืองานกฎหมายที่คดีมีความซับซ้อน
6. Agentic RAG (Router Agent): ใส่สมองกลให้ระบบดึงข้อมูล
ท่านี้เราจะมี AI Agent ทำหน้าที่เป็น "Router" คอยตัดสินใจและวางกลยุทธ์ว่า "คำถามแบบนี้ ควรไปดึงข้อมูลจากแหล่งไหน?" เช่น คำถามนี้ควรไปหาใน Vector DB หลังบ้าน, หรือควรวิ่งไปยิง API Search Web นอกบ้าน แล้วค่อยจับมารวมกันส่งให้ LLM
-
เหมาะสำหรับ: ระบบที่มี Knowledge Base หลายแหล่ง และต้องการความยืดหยุ่นสูง (Enterprise Assistant)
7. Multi-Agent RAG: รวมทีม Avengers แก้ปัญหาซับซ้อน
ขั้นสุดของการทำ RAG คือการใช้หลายๆ Agent ทำงานร่วมกันครับ จะมี Master Agent คอยคุมบังเหียน และมีลูกน้องเฉพาะทาง เช่น Agent A มีหน้าที่ค้นเว็บ, Agent B ค้น DB ในบ้าน, Agent C คอยแปลงข้อมูล ทุกตัวจะคุยกัน ทำงานร่วมกันจนได้ Context ที่ที่ดีที่สุดออกมา
-
เหมาะสำหรับ: งานที่ซับซ้อนและมีหลายสเต็ป เช่น Personal Assistant ที่ต้องอ่านอีเมล ค้นเว็บ และเช็กตารางงานไปพร้อมๆ กัน
หวังว่าบทความนี้จะได้ไอเดียเอาไปปรับใช้กับโปรเจกต์ของเพื่อนๆ นะครับ ไว้เจอกันใหม่ใน PRIMO Tech-a-Break คราวหน้าครับ!
#RAG #AI #LLM #VectorDatabase #GraphRAG #MultiAgent #DataEngineering #PRIMO #TechABreak