Series · Folio

RAG 검색 계층 제대로 만들기

10 parts · 완결

문서 파싱부터 검색 평가까지 이어지는 초·중급 10편

원문 수집과 파싱에서 청킹, sparse와 dense 검색, ANN, hybrid fusion, reranking, context 선택, 평가로 이어지는 RAG 검색 로드맵
대상
첫 RAG를 만든 뒤 검색 누락과 엉뚱한 근거의 원인을 단계별로 진단하고 싶은 개발자
읽고 나면
파싱·청킹·BM25·dense retrieval·ANN·hybrid·reranking·query 변환·context 선택을 설계하고, 같은 평가셋으로 개선 효과를 검증할 수 있음
추천 진입

№001 rag-retrieval-foundations · 01

RAG 문서 수집: PDF·HTML을 검색 가능한 데이터로 바꾸기 (1/10)

PDF·HTML·스캔 문서를 수집해 layout과 표, 페이지, 권한, 출처 metadata를 보존하는 ingestion pipeline을 설계하고, stable ID·parser version·품질 gate로 검색 이전의 데이터 오류를 추적하는 방법을 배웁니다.

#RAG #DocumentParsing #PDF #Ingestion
원문 snapshot이 layout parsing과 OCR, 정규화, 품질 gate, versioned document store로 변환되는 RAG ingestion 흐름
№002 rag-retrieval-foundations · 02

RAG Chunking: 크기·Overlap·Semantic·Late Chunking 선택법 (2/10)

고정 길이·overlap·문서 구조·semantic·late chunking의 원리와 비용을 비교하고, tokenizer 기반 구현·parent-child 연결·평가 grid를 통해 자신의 문서와 질문에 맞는 chunk 경계와 크기를 선택하는 방법을 배웁니다.

#RAG #Chunking #Retrieval #Embedding
하나의 문서를 fixed token, structure-aware, semantic, late chunking으로 나누고 검색용 child와 답변용 parent를 연결하는 비교
№003 rag-retrieval-foundations · 03

Sparse Retrieval 기초: 역색인·TF-IDF·BM25 직접 계산하기 (3/10)

역색인이 query term의 후보 문서를 찾는 구조부터 TF·IDF·문서 길이 정규화가 BM25 점수로 결합되는 과정을 수치로 계산하고, 한글 분석기·희귀 코드 보존·field 설계·Python baseline으로 sparse retrieval을 구현합니다.

#RAG #Retrieval #BM25 #SparseRetrieval
질문 token이 역색인의 posting list를 찾아 TF, IDF, 문서 길이 정규화를 거쳐 BM25 순위를 만드는 과정
№004 rag-retrieval-foundations · 04

Dense Retrieval 기초: Bi-Encoder·Contrastive Learning·DPR (4/10)

Bi-Encoder의 query·passage 분리 encoding과 contrastive loss·negative 학습을 이해하고, prefix·pooling·normalization 계약을 지킨 exact search로 dense retrieval을 구현·평가합니다.

#RAG #DenseRetrieval #BiEncoder #DPR
Query encoder와 passage encoder가 vector를 만들고 positive는 가깝게 negative는 멀게 학습한 뒤 dot product로 검색하는 dense retrieval
№005 rag-retrieval-foundations · 05

ANN Vector Index: Flat·HNSW·IVF·PQ 선택법 (5/10)

Exact kNN을 기준으로 HNSW graph, IVF cluster, PQ 압축 원리를 이해하고, ANN Recall@k·p95 latency·memory·build/update 비용을 함께 측정해 corpus와 운영 조건에 맞는 vector index를 선택합니다.

#RAG #VectorSearch #ANN #HNSW
동일한 vector 공간을 Flat 전수 비교, HNSW graph 탐색, IVF cluster 탐색, PQ 압축 code로 검색하는 ANN index 비교
№006 rag-retrieval-foundations · 06

Hybrid Search: BM25와 Vector 검색을 RRF로 합치기 (6/10)

Exact term에 강한 BM25와 paraphrase에 강한 dense 후보를 stable chunk ID로 합치고, raw score 대신 RRF와 calibrated score fusion을 사용해 순위를 만드는 Python 구현·평가·운영 방법을 배웁니다.

#RAG #HybridSearch #BM25 #DenseRetrieval
BM25 sparse 순위와 dense vector 순위가 서로 다른 후보를 만든 뒤 stable ID로 합쳐 RRF 점수로 최종 순위를 만드는 hybrid search
№007 rag-retrieval-foundations · 07

Reranking: Cross-Encoder·monoT5·ColBERT의 역할 (7/10)

Hybrid 후보를 query와 함께 읽는 Cross-Encoder·monoT5·ColBERT의 구조와 비용을 비교하고, candidate recall·batching·truncation·nDCG·latency를 측정하는 reranking pipeline을 구현합니다.

#RAG #Reranking #CrossEncoder #ColBERT
Bi-Encoder 후보 생성 뒤 Cross-Encoder joint attention, monoT5 relevance token, ColBERT MaxSim으로 후보를 재정렬하는 비교
№008 rag-retrieval-foundations · 08

Query Transformation: Rewrite·Expansion·HyDE·Decomposition (8/10)

짧고 모호한 질문을 rewrite, expansion, multi-query, HyDE, decomposition으로 변환하되 코드·날짜·부정·권한을 보존하고, query drift·후보 recall·latency·비용으로 효과를 검증하는 방법을 배웁니다.

#RAG #QueryTransformation #HyDE #QueryExpansion
원 질문이 standalone rewrite, keyword expansion, multi-query, HyDE hypothetical document, decomposition 경로로 분기되고 검색 결과가 합쳐지는 과정
№009 rag-retrieval-foundations · 09

Context Selection: MMR·Dedup·Parent-Child·순서 최적화 (9/10)

검색·reranking 후보를 prompt에 그대로 넣지 않고, token budget 안에서 span 중복을 제거하고 MMR로 관련성과 다양성을 조절하며 parent 문맥·subquery coverage·모순 근거·인용 좌표를 보존하는 context selector를 구현합니다.

#RAG #ContextSelection #MMR #ContextWindow
Reranked 후보에서 중복 span을 제거하고 MMR과 coverage로 다양한 child를 선택한 뒤 parent 문맥과 citation을 token budget에 맞춰 배치하는 흐름
№010 rag-retrieval-foundations · 10

Retrieval Evaluation: Recall@k·MRR·nDCG와 실패 분석 (10/10)

Source span 기반 gold dataset으로 Hit·Recall·Precision·MRR·nDCG를 계산하고, ingestion부터 answer까지 단계별 상한과 failure slice·bootstrap·version manifest로 검색 실험을 재현합니다.

#RAG #RAGEvaluation #Retrieval #MRR
질문과 source span gold evidence가 ingestion, retrieval, ANN, fusion, rerank, context, answer 단계 metric과 failure slice로 연결되는 RAG 평가 harness