이 문서에서 하는 것
- 검색(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 과다(중복 컨텍스트로 토큰 낭비)
무엇이 중요한가
- 도메인 적합도/품질
- dimension(저장용량/성능)
- 배치 처리/캐시
운영 체크리스트
- vector마다 embedding_model + dimension 저장
- 서로 다른 임베딩 모델을 같은 인덱스에 섞지 않기
다음 문서
- /rag/search
