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