RRF

RRF (Reciprocal Rank Fusion) คือวิธีการให้คะแนนเพื่อรวมผลลัพธ์การจัดอันดับจากหลายวิธีการค้นหาเข้าด้วยกัน โดยการนำค่าส่วนกลับของอันดับจากแต่ละวิธีมารวมกัน ทำให้สามารถผสานระบบคะแนนที่แตกต่างกันได้โดยไม่ต้องทำการ Normalization
หัวใจของ Hybrid Search
ใน RAG pipeline นั้น การใช้งานร่วมกันระหว่างการค้นหาด้วยคีย์เวิร์ดแบบ BM25 และ vector search (semantic search) ในรูปแบบ hybrid เป็นเรื่องที่พบได้ทั่วไป อย่างไรก็ตาม เนื่องจาก score ของ BM25 และ cosine similarity มีทั้ง scale และการกระจายตัวที่แตกต่างกันโดยสิ้นเชิง การนำมาบวกรวมกันอย่างง่าย ๆ จึงไม่ก่อให้เกิดการรวมที่มีความหมายได้
RRF แก้ปัญหานี้ได้อย่างเรียบง่าย โดยใช้เพียง "อันดับ" ของเอกสารที่แต่ละวิธีการค้นหาส่งคืนมา แล้วนำ score 1 / (k + rank) มารวมกันจากทุกวิธีการ ค่าคงที่ k (โดยทั่วไปคือ 60) เป็น parameter สำหรับปรับน้ำหนักของอันดับ โดยยิ่งค่ามาก ความแตกต่างระหว่างอันดับต้น ๆ และอันดับท้าย ๆ ก็จะยิ่งลดลง
ตัวอย่างการคำนวณ
กรณีที่เอกสารหนึ่งปรากฏในอันดับที่ 3 จาก BM25 และอันดับที่ 7 จาก vector search:
RRF score = 1/(60+3) + 1/(60+7) = 0.0159 + 0.0149 = 0.0308
เอกสารที่ติดอันดับพอสมควรในการค้นหาทั้งสองวิธีมีแนวโน้มที่จะได้รับการจัดอันดับสูงกว่าเอกสารที่ปรากฏในการค้นหาเพียงวิธีเดียว ซึ่งนี่คือสิ่งที่นำไปสู่ความเสถียรของ hybrid search
ข้อควรระวังในการ implement
เนื่องจาก RRF ไม่ได้ใช้ค่าสัมบูรณ์ของ score ต้นฉบับ จึงมีข้อดีตรงที่ไม่จำเป็นต้องทำการ calibrate score ระหว่าง search engine ต่าง ๆ ในทางกลับกัน ต้องระมัดระวังในกรณีที่มีเอกสารที่มีอันดับเท่ากันจำนวนมาก หรือการจัดการกับเอกสารในกลุ่ม long-tail โดย vector DB หลัก ๆ อย่าง Elasticsearch 8.x ขึ้นไป, Weaviate และ Qdrant ต่างรองรับ RRF แบบ native แล้ว
บทความที่กล่าวถึงคำศัพท์นี้
- Hybrid Search คืออะไร? กลไกและวิธีเพิ่มความแม่นยำให้ RAG ด้วย Vector Search และ Full-Text Searchอธิบายกลไก Hybrid Search ผ่าน Vector Search, BM25 และ RRF พร้อมสรุปเทคนิคการออกแบบเพื่อเพิ่มความแม่นยำให้ RAG และข้อควรระวังในการใช้งานจริง
- ฐานข้อมูลเวกเตอร์คืออะไร? อธิบายครบจบ ตั้งแต่หลักการทำงาน เปรียบเทียบผลิตภัณฑ์หลัก ไปจนถึงการใช้งาน RAGอธิบายแนวคิดพื้นฐานของ Vector Database เปรียบเทียบผลิตภัณฑ์หลักอย่าง Pinecone, Weaviate, pgvector และการนำไปใช้ใน RAG System สำหรับผู้รับผิดชอบด้าน AI
- 10 ข้อผิดพลาดในการสร้าง RAG และวิธีแก้ไข — ป้องกันปัญหาที่อาจเกิดขึ้นในการใช้งานจริงเจาะลึก 10 ข้อผิดพลาดที่พบบ่อยในการทำ RAG ทั้งก่อนและหลังใช้งานจริง ตั้งแต่การแบ่ง Chunk การเพิ่มความแม่นยำในการค้นหา ไปจนถึงวิธีแก้ปัญหา Hallucination
- วิธีเลือกใช้ Fine-tuning และ RAG: คู่มือเปรียบเทียบตามต้นทุน ความแม่นยำ และการใช้งานจริงเลือกใช้ Fine-tuning หรือ RAG ดี? เปรียบเทียบ 4 ปัจจัยหลัก (ต้นทุน, ความแม่นยำ, การอัปเดต, ความปลอดภัย) พร้อมเกณฑ์การเลือกที่เหมาะสมกับธุรกิจคุณ
คำศัพท์ที่เกี่ยวข้อง

Agentic RAG
Agentic RAG คือสถาปัตยกรรมที่ LLM ทำหน้าที่เป็น Agent โดยวนซ้ำกระบวนการสร้าง Query ค้นหา ประเมินผลลั

เอ็มเบดดิง (Embedding)
เอ็มเบดดิง (Embedding) คือเทคนิคที่แปลงข้อมูลไม่มีโครงสร้าง เช่น ข้อความ รูปภาพ และเสียง ให้เป็นเวกเ

GraphRAG
สถาปัตยกรรม RAG รุ่นถัดไปที่ผสมผสาน Knowledge Graph และการค้นหาแบบ Vector เข้าด้วยกัน โดยใช้ประโยชน์

Gemini Embedding 2
Gemini Embedding 2 คือโมเดล embedding ที่รองรับ multimodal ซึ่งพัฒนาโดย Google สามารถแปลงข้อความ รูป



