Hybrid retrieval + reranker
M7 — Retrieval-Augmented Generation
Mengapa Dense Vector Search Saja Tidak Cukup?
Pencarian vektor (Dense Search) unggul dalam menangkap makna semantik konseptual, tetapi sering gagal mencocokkan kata kunci spesifik yang persis (seperti kode produk, nomor seri, nama orang, atau singkatan teknis).
Blueprint Standar RAG Pipeline
PDFs / Docs
↓ (Load & Split)
Chunks (Heading-aware, ~800 tokens)
↓ (Embedding Model)
Embeddings
↓ (Vector DB / SQLite / Chroma)
Retriever (Vector Semantic Search + BM25 Lexical Search)
↓
Simple Reranker / Reciprocal Rank Fusion (RRF)
↓ (Augmented Evidence)
Prompt Template
↓ (LLM via Gemini / OpenRouter)
Response Generator + Memory
↓
Answer + Grounded Document & Page Sources
1. Arsitektur Hybrid Search
Menggabungkan dua pencarian secara paralel:
- Dense Retrieval (Embedding): Cosine similarity atas representasi vektor semantik.
- Sparse Retrieval (BM25 / Lexical): Pencarian frekuensi kata kunci berbasis Okapi BM25.
2. Reciprocal Rank Fusion (RRF)
Menggabungkan dua daftar ranking tanpa perlu menormalisasi skala skor mentah yang berbeda:
di mana adalah peringkat dokumen pada metode pencarian , dan adalah konstanta perataan (biasanya 60).
3. Re-ranking dengan Cross-Encoder
Mengambil top-K hasil hybrid (misal 20 dokumen) lalu melewatkannya ke model Cross-Encoder Reranker yang membaca pasangan (query, document) secara bersamaan untuk menghasilkan skor relevansi yang jauh lebih presisi sebelum masuk ke prompt LLM.
M7