Retrieval Augmented Generation (RAG) คือวิธีการสุดล้ำในการค้นหาข้อมูล ซึ่งความแม่นยำของผลการค้นหามีผลโดยตรงต่อคุณภาพของคำตอบที่สร้างขึ้น RAG ผสมผสานวิธีการค้นหาแบบดั้งเดิมเข้ากับความสามารถของ Large Language Model ในการทำความเข้าใจและสร้างคำตอบ ความแม่นยำในการค้นหาจึงมีความสำคัญอย่างยิ่ง เพราะคำตอบที่ RAG สร้างขึ้นนั้นแม่นยำเท่ากับเอกสารที่ค้นพบ
ในบทความนี้ เราจะสำรวจวิธีการปรับปรุงความแม่นยำในการค้นหาสำหรับแอปพลิเคชัน RAG จาก 65% โดยใช้การค้นหาข้อความพื้นฐาน ไปจนถึงมากกว่า 90%
ขั้นตอนแรก: วางรากฐานสำหรับการค้นหาขั้นสูง การตั้งค่าเริ่มต้นของเราสำหรับการทดสอบและปรับปรุงความแม่นยำประกอบด้วยองค์ประกอบสำคัญหลายประการ:
Azure Cognitive Search : บริการค้นหาที่ทันสมัยจาก Microsoft Azure ออกแบบมาเพื่อมอบความสามารถในการค้นหาที่รองรับปริมาณงานมากและเชื่อถือได้ฐานข้อมูลเอกสารและคำถาม: เราทำดัชนีเอกสารทั้งหมด 121 ส่วน และเชื่อมโยงคำถาม 186 ข้อกับเอกสารเฉพาะที่มีคำตอบการวัดความสำเร็จ: ประสิทธิภาพของระบบถูกวัดด้วยความสามารถในการค้นหาเอกสารที่เกี่ยวข้องภายในหน้าต่างบริบทขนาด 1000 โทเค็นโครงสร้างพื้นฐานนี้มีความสำคัญต่อการพัฒนาในภายหลังของเราอย่างมาก
📊 การค้นหาข้อความพื้นฐาน: จุดเริ่มต้น เริ่มต้นด้วยการค้นหาแบบง่ายๆ ซึ่งเป็นวิธีการพื้นฐานที่สุด:
วิธีการทำงานของการค้นหาข้อความพื้นฐาน การจับคู่คำหลัก: ค้นหาคำหลักที่ตรงกันภายในเอกสารข้อจำกัด: มักจะพลาดบริบทและความหมายเชิงลึกผลลัพธ์เบื้องต้น ความแม่นยำพื้นฐาน: วิธีนี้ให้ความแม่นยำเริ่มต้นที่ 65.41%แม้ว่าการค้นหาข้อความพื้นฐานจะเป็นจุดเริ่มต้นที่ดี แต่ก็เห็นได้ชัดว่าต้องใช้วิธีที่ซับซ้อนกว่านี้
🔍 การใช้ Search Term Expansion: เพิ่มประสิทธิภาพคำค้นหา เพื่อปรับปรุงการค้นหาข้อความพื้นฐาน เราได้นำ Search Term Expansion เข้ามาใช้ด้วยแนวทางต่อไปนี้:
คำถามถูกประมวลผ่านขั้นตอน Search Term Expansion ด้วย GPT-3.5 เพื่อสร้างคำค้นหาและคำหลักเพิ่มเติมที่เกี่ยวข้อง GPT-3.5 วิเคราะห์คำค้นเพื่อสร้างคำค้นหาที่เพิ่มบริบท ซึ่งจะถูกนำไปใช้ใน Azure Cognitive Search การเพิ่มความแม่นยำ: วิธีนี้เพิ่มความแม่นยำในการค้นหาของเราเป็น 70.81% การผนวก Search Term Expansion เป็นก้าวสำคัญในการเชื่อมช่องว่างระหว่างคำค้นแบบง่ายๆ กับเนื้อหาที่ซับซ้อนในเอกสารของเรา
🌐 Semantic Reranking: ก้าวสู่ความเข้าใจบริบทที่มากขึ้น (H2) แม้ว่าการค้นหาข้อความจะดีเยี่ยมในการหาเอกสารเบื้องต้น แต่มักจะขาดความเข้าใจบริบทของคำถาม ดังนั้น คะแนนความเกี่ยวข้อง - ซึ่งปกติจะจัดอันดับโดยใช้วิธี BM25 หรือ RRF สำหรับการค้นหาข้อความ - ของเอกสารที่ได้มักไม่แม่นยำ
เพื่อแก้ปัญหานี้ เราเลยลองเปิดใช้ฟีเจอร์ที่เรียกว่า Semantic Ranking ใน Cognitive Search ซึ่งมันจะช่วยวิเคราะห์ความหมายของภาษามนุษย์ในเอกสารที่ค้นเจอมาตอนแรก แล้วก็เรียงลำดับใหม่ตามความเข้าใจในภาษามนุษย์ของมันเอง
ผลกระทบต่อความแม่นยำ ความแม่นยำพุ่งทะยาน: ด้วยเทคนิคนี้ ความแม่นยำในการค้นหาของเราเพิ่มขึ้นไปถึง 82.70% เลยทีเดียว ตัวช่วยค้นหาเชิงความหมายนี้สามารถเข้าใจความหมายของคำที่เราค้นหาได้ดีมาก ซึ่งนับเป็นปัจจัยสำคัญที่ช่วยให้การค้นหามีความแม่นยำมากขึ้น📈 การปรับปรุงขั้นสุดท้าย: การใช้คำถามตัวอย่าง การปรับปรุงขั้นสุดท้ายเกี่ยวข้องกับการเพิ่มคำถามตัวอย่างในเอกสาร:
การเพิ่มความเกี่ยวข้องของเอกสาร การสร้างคำค้นหาแบบเจาะจง: เราเอาคำถามที่คนถามบ่อยๆ มาใส่ในเอกสาร รวมถึงคำถามที่ได้จากการขยายคำค้นหา (Search Term Expansion) ด้วยการปรับ Semantic Ranking: จากนั้น เราก็ปรับค่าการค้นหาแบบ Semantic ใหม่ เพื่อให้มันให้ความสำคัญกับคำถามใหม่ๆ เหล่านี้มากขึ้นความแม่นยำที่ดีขึ้น การเพิ่มความแม่นยำมากขึ้น: กลยุทธ์นี้ปรับปรุงความแม่นยำของเราเพิ่มขึ้นเป็น 90.27% การใช้คำถามตัวอย่าง ช่วยให้ระบบค้นหาของเราแม่นยำและเกี่ยวข้องกับสิ่งที่ค้นหามากขึ้นมาก📝 สิ่งที่ไม่ถูกเลือกใช้ นอกเหนือจากคุณลักษณะที่ช่วยเพิ่มความแม่นยำในการค้นหา เรายังประเมินฟังก์ชันอื่นๆ แต่สุดท้ายเลือกที่จะไม่นำมาใช้ ซึ่งรวมถึง:
Hybrid Search ซึ่งรวมแนวทางแบบเวกเตอร์ ข้อความ และความหมาย แม้ว่าโมเดลนี้จะเพิ่มความแม่นยำได้เพียงเล็กน้อยที่ 0.5% แต่ก็มาพร้อมกับข้อเสียด้านทรัพยากรและ latency อย่างมากSearch Term Expansion โดยใช้ GPT-4 ซึ่งให้การปรับปรุงความแม่นยำไปถึง 93% อย่างไรก็ตาม latency ที่สูงขึ้นและค่าใช้จ่ายทำให้เราเลือกใช้ GPT-3.5 ต่อไปสรุป: การหาสมดุลที่เหมาะสม ความพยายามของเราในการเพิ่มความแม่นยำของผลการค้นหา RAG จาก 65% เป็น 90% มีความโดดเด่นในด้านนวัตกรรมและการเรียนรู้
ระดับขั้นของการพัฒนา จากการสำรวจวิธีการต่างๆ และทำความเข้าใจข้อแลกเปลี่ยน เราได้ความสมดุลที่ช่วยเพิ่มความแม่นยำและประสิทธิภาพของการค้นหาข้อมูลได้อย่างมาก การพัฒนานี้เน้นถึงความก้าวหน้าอย่างมีนัยสำคัญในเทคโนโลยีการค้นหาและการประยุกต์ใช้ทางธุรกิจ
ทาง Amity Solutions ก็มีการพัฒนา RAG Search Accuracy ที่ช่วยเพิ่มประสิทธิภาพการค้นหาเช่นกัน ปรึกษาผู้เชี่ยวชาญของเราได้ที่นี่