이 문서에서 하는 것
- 검색(Retrieval) 설정을 바꾸면서 품질/지연/비용이 어떻게 달라지는지 확인해.
RAG 파이프라인(큰 흐름)
- 인제스천: 업로드 → 파싱 → 청킹
- 임베딩: 청크 → 벡터
- 검색: 질의 → 벡터검색 → 후보(top-k)
- (선택) 재랭킹: 후보 재정렬
- 생성: 답변 + 출처
핵심 변수
- chunk_size / chunk_overlap / max_chunks
- embedding 모델(및 dimension)
- top_k / threshold(유사도 임계값)
- rerank on/off
기록할 지표
- retrieved_count / score 분포
- 답변 근거성(정말 관련 청크를 가져왔나?)
- 지연/토큰/비용(컨텍스트가 길어지면 prompt가 커짐)
자주 터지는 실수
- top-k 과다(노이즈/비용/지연 증가)
- threshold 과다(필요한 청크를 못 가져옴)
- overlap 과다(중복 컨텍스트로 토큰 낭비)
rerank가 도움 되는 상황
- 1차 검색 후보가 많고 비슷비슷해서 상위가 흔들릴 때
- top_k를 크게 가져오고, 그 중에서 진짜 상위만 뽑고 싶을 때
비용/지연 영향
- 추가 스코어링 단계라 latency 증가
- 대신 컨텍스트 품질이 좋아져 환각이 줄 수 있음
추천 실험
- top_k=10에서 rerank OFF vs ON
- 근거성/지연/비용 나란히 비교
다음 문서
- /rag/sources-citations
