ผู้นำทางความคิด
RAG Evolution – คู่มือสำหรับ Agentic RAG
อะไรคือ RAG (Retrieval-Augmented Generation)?
Retrieval-Augmented Generation (RAG) เป็นเทคนิคที่รวมความสามารถของโมเดลภาษาขนาดใหญ่ (LLMs) กับการค้นหาข้อมูลภายนอกเพื่อปรับปรุงคุณภาพและความเกี่ยวข้องของคำตอบที่สร้างขึ้น. โมเดลภาษาขนาดใหญ่แบบดั้งเดิมใช้ฐานความรู้ที่ได้รับการฝึกฝนมาแล้ว ในขณะที่ RAG pipelines จะค้นหาข้อมูลจากฐานข้อมูลหรือเอกสารภายนอกในขณะรันไทม์และดึงข้อมูลที่เกี่ยวข้องมาใช้ในการสร้างคำตอบที่แม่นยำและอุดมไปด้วยบริบทยิ่งขึ้น
ภูมิทัศน์ RAG ในปัจจุบัน
โมเดลภาษาขนาดใหญ่เปลี่ยนแปลงวิธีการที่เราเข้าถึงและประมวลผลข้อมูลไปอย่างมาก การพึ่งพาเฉพาะความรู้ที่ได้รับการฝึกฝนมาแล้วอาจจำกัดความยืดหยุ่นของคำตอบ โดยเฉพาะสำหรับคำถามที่ซับซ้อน Retrieval-Augmented Generation จัดการกับปัญหานี้โดยการให้ LLMs สามารถดึงข้อมูลจากแหล่งอื่น ๆ เพื่อสร้างคำตอบที่แม่นยำและลึกซึ้งยิ่งขึ้น
การพัฒนาล่าสุดในด้านการค้นหาข้อมูลและการประมวลผลภาษาธรรมชาติ โดยเฉพาะ LLM และ RAG เปิดโอกาสใหม่ ๆ สำหรับความสามารถและความซับซ้อนที่เพิ่มขึ้น การพัฒนานี้สามารถประเมินได้ตามขอบเขตที่กว้างขวางต่อไปนี้
- การปรับปรุงการค้นหาข้อมูล: การปรับปรุงการค้นหาข้อมูลในระบบ RAG มีความสำคัญอย่างยิ่งสำหรับการทำงานที่มีประสิทธิภาพ การพัฒนาที่ผ่านมาได้พัฒนาเวกเตอร์ต่าง ๆ อัลกอริทึมการเรียงลำดับใหม่ และวิธีการค้นหาที่ผสมผสานเพื่อปรับปรุงการค้นหาที่แม่นยำ
- การแคชแบบเซมันติก: สิ่งนี้กลายเป็นวิธีการหลักในการลดต้นทุนการคำนวณโดยไม่ต้องสูญเสียไปจากความสม่ำเสมอของคำตอบ ซึ่งหมายความว่าคำตอบสำหรับคำถามปัจจุบันจะถูกแคชพร้อมกับบริบทและความหมายที่เกี่ยวข้อง ซึ่งยังช่วยให้การตอบสนองเร็วขึ้นและให้ข้อมูลที่สอดคล้องกัน
- การบูรณาการแบบหลายรูปแบบ: นอกเหนือจากระบบ LLM และ RAG ที่ใช้ข้อความแล้ว วิธีการนี้ยังครอบคลุมถึงภาพและรูปแบบอื่น ๆ ของเฟรมเวิร์ก ทำให้สามารถเข้าถึงแหล่งข้อมูลที่หลากหลายและผลลัพธ์ที่ซับซ้อนและแม่นยำยิ่งขึ้น
ความท้าทายของสถาปัตยกรรม RAG แบบดั้งเดิม
ในขณะที่ RAG กำลังพัฒนาเพื่อตอบสนองความต้องการที่หลากหลาย ยังคงมีความท้าทายที่ยืนอยู่ตรงหน้าสถาปัตยกรรม RAG แบบดั้งเดิม:
- การสรุปย่อ: การสรุปเอกสารขนาดใหญ่อาจเป็นเรื่องที่ยาก หากเอกสารถูกสร้างขึ้นมาอย่างยาวนาน สถาปัตยกรรม RAG แบบดั้งเดิมอาจพลาดข้อมูลสำคัญเนื่องจากดึงเฉพาะส่วนบน K เท่านั้น
- การเปรียบเทียบเอกสาร: การเปรียบเทียบเอกสารอย่างมีประสิทธิภาพยังคงเป็นความท้าทาย สถาปัตยกรรม RAG มักจะนำไปสู่การเปรียบเทียบที่ไม่สมบูรณ์ เนื่องจากเลือกชิ้นส่วนที่ดีที่สุด K ชิ้นจากเอกสารแต่ละชิ้นแบบสุ่ม
- การวิเคราะห์ข้อมูลแบบโครงสร้าง: ยังคงเป็นเรื่องที่ท้าทายในการจัดการกับคำถามข้อมูลแบบโครงสร้างเชิงตัวเลข เช่น การค้นหาว่าพนักงานจะลาพักร้อนครั้งถัดไปเมื่อใด ขึ้นอยู่กับสถานที่ที่พวกเขาอยู่ การดึงข้อมูลจุดและวิเคราะห์ไม่แม่นยำด้วยโมเดลเหล่านี้
- การรับมือกับคำถามที่มีหลายส่วน: การตอบคำถามที่มีหลายส่วนยังคงมีข้อจำกัด ตัวอย่างเช่น การค้นหารูปแบบการลาพักร้อนร่วมกันทั่วทั้งองค์กรขนาดใหญ่ เป็นเรื่องที่ท้าทายเมื่อจำกัดอยู่ที่ K ชิ้น ซึ่งจำกัดการวิจัยอย่างเต็มที่
การเคลื่อนไหวสู่ Agentic RAG
Agentic RAG ใช้ตัวแทนอัจฉริยะในการตอบคำถามที่ซับซ้อนซึ่งต้องการการวางแผนอย่างรอบคอบ การให้เหตุผลหลายขั้นตอน และการบูรณาการเครื่องมือภายนอก ตัวแทนเหล่านี้ทำหน้าที่เหมือนนักวิจัยที่มีความสามารถสูง โดยสามารถนำทางผ่านเอกสารหลายฉบับ เปรียบเทียบข้อมูล สรุปผลการค้นพบ และสร้างคำตอบที่ครอบคลุมและแม่นยำ
แนวคิดเรื่องตัวแทนถูกนำมาใช้ในเฟรมเวิร์ก RAG แบบดั้งเดิมเพื่อเพิ่มฟังก์ชันและความสามารถของระบบ ซึ่งนำไปสู่การสร้าง Agentic RAG ตัวแทนทำหน้าที่เพิ่มเติมและให้เหตุผลมากกว่าการค้นหาข้อมูลและสร้างข้อความพื้นฐาน รวมถึงการกำกับและควบคุมส่วนต่าง ๆ ของ RAG pipeline
ยุทธวิธี Agentic สามประการหลัก
รูทเตอร์ส่งคำถามไปยังโมดูลหรือฐานข้อมูลที่เหมาะสมตามประเภท คำถามจะถูกส่งไปยังเครื่องมือที่เหมาะสมโดยใช้โมเดลภาษาขนาดใหญ่เพื่อการตัดสินใจแบบไดนามิกเกี่ยวกับบริบทของคำถาม เพื่อเลือกเครื่องมือที่เหมาะสมที่สุดในการส่งคำถามเพื่อความแม่นยำและประสิทธิภาพที่ดีขึ้นของพายพайป์
การแปลงคำถามเป็นกระบวนการที่เกี่ยวข้องกับการเปลี่ยนคำถามของผู้ใช้ให้ตรงกับข้อมูลที่ต้องการหรือในทางกลับกัน เพื่อให้ตรงกับสิ่งที่ฐานข้อมูลให้มา ซึ่งอาจเป็นการเปลี่ยนคำถาม การขยายหรือการแบ่งคำถามที่ซับซ้อนออกเป็นคำถามย่อย ๆ ที่จัดการได้ง่ายขึ้น
ยังต้องการเครื่องมือคำถามย่อยสำหรับการวางแผนเพื่อตอบคำถามที่ซับซ้อนโดยใช้แหล่งข้อมูลหลายแหล่ง
ขั้นแรก คำถามที่ซับซ้อนจะถูกแยกออกเป็นคำถามที่ง่ายกว่าสำหรับแหล่งข้อมูลแต่ละแหล่ง จากนั้นคำตอบระหว่างก็จะถูกรวบรวมและผลลัพธ์สุดท้ายจะถูกสังเคราะห์
ชั้น Agentic สำหรับ RAG Pipelines
- การกำหนดเส้นทาง: คำถามจะถูกส่งไปยังการประมวลผลข้อมูลที่เกี่ยวข้องตามความเกี่ยวข้อง ตัวอย่างเช่น เมื่อผู้ใช้ต้องการคำแนะนำสำหรับประเภทหนังสือบางประเภท คำถามสามารถถูกส่งไปยังฐานความรู้ที่มีข้อมูลเกี่ยวกับประเภทเหล่านั้น
- การวางแผนคำถาม: สิ่งนี้เกี่ยวข้องกับการแบ่งคำถามออกเป็นคำถามย่อย ๆ แล้วส่งไปยังพายพายป์แต่ละอัน ตัวแทนจะสร้างคำถามย่อยสำหรับรายการแต่ละรายการ เช่น ปี ในกรณีนี้ และส่งไปยังฐานความรู้ที่เกี่ยวข้อง
- การใช้เครื่องมือ: โมเดลภาษาจะสื่อสารกับ API หรือเครื่องมือภายนอก โดยทราบถึงสิ่งที่จะเกิดขึ้น บนแพลตฟอร์มใด และเมื่อใดที่จำเป็นต้องทำเช่นนั้น ตัวอย่างเช่น เมื่อผู้ใช้ขอพยากรณ์สภาพอากาศสำหรับวันที่กำหนด โมเดลภาษาจะสื่อสารกับ API สภาพอากาศ โดยระบุสถานที่และวันที่ จากนั้นจะวิเคราะห์ผลลัพธ์ที่ได้รับจาก API เพื่อให้ข้อมูลที่ถูกต้อง
- ReAct เป็นกระบวนการเชิงอุปนัยที่คู่กับการวางแผน การใช้เครื่องมือ และการสังเกต
ตัวอย่างเช่น เพื่อออกแบบแผนการเดินทางแบบครบวงจร ระบบจะพิจารณาความต้องการของผู้ใช้และดึงรายละเอียดเกี่ยวกับเส้นทาง สถานที่ท่องเที่ยว ร้านอาหาร และที่พักโดยการเรียก API จากนั้นระบบจะตรวจสอบผลลัพธ์เทียบกับความถูกต้องและความเกี่ยวข้อง โดยสร้างแผนการเดินทางที่มีรายละเอียดและเกี่ยวข้องกับคำถามของผู้ใช้และตารางเวลา - การวางแผนคำถามแบบไดนามิก: แทนที่จะดำเนินการแบบลำดับ ตัวแทนจะดำเนินการหลายอย่างหรือคำถามย่อย ๆ พร้อมกัน จากนั้นรวมผลลัพธ์เหล่านั้น
ตัวอย่างเช่น หากต้องการเปรียบเทียบผลการเงินของบริษัทสองแห่งและกำหนดความแตกต่างในเมตริกบางอย่าง ตัวแทนจะประมวลผลข้อมูลสำหรับบริษัททั้งสองพร้อมกัน จากนั้นรวมผลการวิเคราะห์; LLMCompiler เป็นเฟรมเวิร์กที่นำไปสู่การกำกับแบบขนานในการเรียกฟังก์ชัน
Agentic RAG และ LLMaIndex
LLMaIndex เป็นการนำไปใช้ RAG pipelines ที่มีประสิทธิภาพมาก โดยการเติมช่องว่างที่ขาดหายไปในการบูรณาการข้อมูลองค์กรแบบโครงสร้างเข้ากับโมเดล AI ที่สร้างข้อความ โดยให้ความสะดวกสบายสำหรับเครื่องมือในการประมวลผลและดึงข้อมูล ตลอดจนอินเทอร์เฟซสำหรับแหล่งข้อมูลต่าง ๆ ส่วนประกอบหลักของ LlamaIndex ได้แก่
LlamaParse วิเคราะห์เอกสาร
Llama Cloud สำหรับบริการระดับองค์กรพร้อมพายพายป์ RAG ที่ติดตั้งด้วยแรงงานมนุษย์น้อยที่สุด
โดยใช้ LLM หลายตัวและจัดเก็บเวกเตอร์ LlamaIndex ให้วิธีการบูรณาการในการสร้างแอปพลิเคชันใน Python และ TypeScript พร้อม RAG ลักษณะเฉพาะของมันทำให้เป็นโครงสร้างพื้นฐานที่มีความต้องการสูงสำหรับบริษัทที่ต้องการใช้ AI สำหรับการตัดสินใจโดยอาศัยข้อมูล
ส่วนประกอบหลักของ Agentic RAG โดยใช้ LLMaIndex
มาดูรายละเอียดเกี่ยวกับส่วนประกอบบางส่วนของ Agentic RAG และวิธีการนำไปใช้ใน LlamaIndex
1. การใช้เครื่องมือและการกำหนดเส้นทาง
ตัวแทนการกำหนดเส้นทางเลือก LLM หรือเครื่องมือที่ดีที่สุดสำหรับคำถามที่กำหนดตามประเภทคำถาม ซึ่งนำไปสู่การตัดสินใจที่มีความอ่อนไหวต่อบริบท เช่น ผู้ใช้ต้องการสรุปหรือสรุปโดยละเอียด ตัวอย่างเช่น Router Query Engine ใน LlamaIndex ซึ่งเลือกเครื่องมือที่จะเพิ่มประสิทธิภาพการตอบสนองต่อคำถาม
2. การรักษาบริบทระยะยาว
ในขณะที่งานที่สำคัญที่สุดของหน่วยความจำคือการรักษาบริบทตลอดการโต้ตอบหลายครั้ง ตัวแทนใน Agentic RAG ที่มีหน่วยความจำจะรักษาความตระหนักรู้อย่างต่อเนื่องเกี่ยวกับการโต้ตอบที่นำไปสู่คำตอบที่สอดคล้องกันและเต็มไปด้วยบริบท
LlamaIndex ยังมีเครื่องมือสนทนาที่มีหน่วยความจำสำหรับการสนทนาแบบบริบทและคำถามแบบช็อตเดียว เพื่อหลีกเลี่ยงการเกินขีดจำกัดของหน้าต่างบริบท LLM หน่วยความจำนี้จะต้องควบคุมอย่างเข้มงวดและย่อให้เหลือรูปแบบสรุปเพื่อหลีกเลี่ยงการเกิดปัญหาในการสนทนา
3. เครื่องมือคำถามย่อยสำหรับการวางแผน
บ่อยครั้ง เราต้องแบ่งคำถามที่ซับซ้อนออกเป็นงานที่จัดการได้ เครื่องมือคำถามย่อยเป็นหนึ่งในฟังก์ชันหลักของ LlamaIndex โดยที่คำถามขนาดใหญ่จะถูกแบ่งออกเป็นคำถามเล็ก ๆ แล้วดำเนินการตามลำดับและรวมกันเพื่อสร้างคำตอบที่สอดคล้องกัน ความสามารถของตัวแทนในการสำรวจหลายด้านของคำถามทีละขั้นตอนแสดงถึงแนวคิดของการวางแผนแบบหลายขั้นตอนมากกว่าการวางแผนแบบเชิงเส้น
4. การสะท้อนกลับและการแก้ไขข้อผิดพลาด
ตัวแทนแบบสะท้อนกลับจะสร้างเอาต์พุต แต่จากนั้นจะตรวจสอบคุณภาพของเอาต์พุตนั้นเพื่อทำการแก้ไขหากจำเป็น ทักษะนี้มีความสำคัญอย่างยิ่งในการรับรองความแม่นยำและความสอดคล้องกับวัตถุประสงค์ของบุคคล ด้วยการไหลเวียนของ LlamaIndex ที่สะท้อนกลับ ตัวแทนจะตรวจสอบประสิทธิภาพของตนเองโดยการลองใหม่หรือปรับกิจกรรมที่ไม่ตรงตามมาตรฐานคุณภาพบางอย่าง แต่เนื่องจากเป็นการแก้ไขตนเอง Agentic RAG จึงน่าเชื่อถือสำหรับแอปพลิเคชันระดับองค์กรที่ความน่าเชื่อถือเป็นสิ่งสำคัญ
5. การให้เหตุผลแบบ Agentic ที่ซับซ้อน:
การสำรวจแบบต้นไม้ใช้เมื่อตัวแทนต้องสำรวจเส้นทางที่เป็นไปได้หลายเส้นทางเพื่อบรรลุเป้าหมาย ในทางตรงกันข้ามกับการตัดสินใจแบบลำดับ การให้เหตุผลแบบต้นไม้ทำให้ตัวแทนสามารถพิจารณาแผนการหลายอย่างพร้อมกันและเลือกที่มีแนวโน้มมากที่สุดตามเกณฑ์การประเมินที่อัปเดตแบบเรียลไทม์
LlamaCloud และ LlamaParse
ด้วยบริการจัดการที่หลากหลายซึ่งออกแบบมาเพื่อการเพิ่มบริบทระดับองค์กรภายในแอปพลิเคชัน LLM และ RAG LlamaCloud เป็นก้าวสำคัญในระบบ LlamaIndex นี้ ช่วยให้วิศวกร AI มุ่งเน้นไปที่การสร้างตรรกะทางธุรกิจหลักโดยลดกระบวนการประมวลผลข้อมูลที่ซับซ้อน
เครื่องมือการวิเคราะห์อีกตัวหนึ่งที่มีอยู่คือ LlamaParse ซึ่งบูรณาการกับพายพายป์การดึงข้อมูลและจัดเก็บข้อมูลใน LlamaIndex ได้อย่างสะดวกสบาย สิ่งนี้เป็นหนึ่งในองค์ประกอบสำคัญที่จัดการเอกสารที่ซับซ้อนและแบบกึ่งโครงสร้างที่มีวัตถุฝังตัว เช่น ตารางและรูปภาพ องค์ประกอบอื่นที่สำคัญคือ API การดึงข้อมูลและจัดเก็บข้อมูลที่จัดการได้ ซึ่งให้วิธีการหลากหลายในการโหลด ประมวลผล และจัดเก็บข้อมูลจากแหล่งต่าง ๆ เช่น ที่เก็บข้อมูลกลาง LlamaHub หรือเอาต์พุต LlamaParse นอกจากนี้ยังรองรับการบูรณาการการจัดเก็บข้อมูลหลายแบบ
สรุป
Agentic RAG แสดงถึงการเปลี่ยนแปลงในกระบวนการประมวลผลข้อมูลโดยการนำความฉลาดเข้ามาในตัวแทนเอง ในหลายกรณี Agentic RAG สามารถรวมกับกระบวนการหรือ API ที่แตกต่างกันเพื่อให้ผลลัพธ์ที่แม่นยำและละเอียดมากขึ้น ตัวอย่างเช่น ในกรณีการสรุปเอกสาร Agentic RAG จะประเมินวัตถุประสงค์ของผู้ใช้ก่อนที่จะสร้างสรุปหรือเปรียบเทียบข้อความเฉพาะ เมื่อมีการให้การสนับสนุนลูกค้า Agentic RAG สามารถตอบคำถามที่ซับซ้อนของลูกค้าได้อย่างแม่นยำและเป็นรายบุคคล ไม่เพียงแต่ตามโมเดลการฝึกเท่านั้น แต่ยังรวมถึงความจำและแหล่งข้อมูลภายนอกด้วย Agentic RAG เน้นย้ำถึงการเปลี่ยนแปลงจากโมเดลที่สร้างข้อความไปสู่ระบบที่ปรับให้เหมาะสมยิ่งขึ้นซึ่งใช้แหล่งข้อมูลอื่น ๆ เพื่อให้ได้ผลลัพธ์ที่แข็งแกร่งและแม่นยำ อย่างไรก็ตาม เนื่องจากโมเดลเหล่านี้เป็นแบบสร้างข้อความและฉลาดอยู่แล้ว โมเดลเหล่านี้และ Agentic RAGs จึงมุ่งสู่ประสิทธิภาพที่สูงขึ้นเมื่อมีข้อมูลเพิ่มเข้ามาในพายพายป์












