피드로 돌아가기
Dev.toAI/ML
원문 읽기
RAG Retrieval 고도화를 통한 Local LLM 답변 정확도 70% 개선
Why your local LLM knowledge base gives bad answers (and how to fix it)
AI 요약
Context
단순 폴더 경로 기반의 Local LLM 연결 방식은 Retrieval Layer의 부재로 인해 Hallucination 및 정보 누락 문제 발생. Context Window의 물리적 한계로 인해 단순 Vector Search만으로는 복잡한 개인 데이터의 의미론적 연결성을 확보하는 데 한계 노출.
Technical Solution
- RecursiveCharacterTextSplitter 기반의 Semantic Boundary 설정 및 Chunk Overlap 적용을 통한 문맥 단절 방지
- 데이터 도메인 특성을 반영한 Embedding Model(bge-base-en-v1.5, e5-base-v2) 교차 검증 및 선정
- Top-k=3의 단순 추출 한계를 극복하기 위해 Wide Retrieval(n=20) 후 Cross-Encoder 기반 Reranking 수행
- Metadata Filtering(Date, Topic)을 쿼리 시점에 적용하여 시계열 데이터 혼선 및 불필요한 컨텍스트 유입 차단
- BM25와 Dense Retrieval을 결합한 Hybrid Search를 통해 고유 명사 및 특정 키워드 검색 Recall 향상 도모
실천 포인트
1. 단순 글자 수 기반 Splitter 대신 문단/문장 경계를 인식하는 Recursive Splitter 사용 여부 확인
2. Top-k 값을 낮게 설정하는 대신 충분한 양을 추출한 뒤 Cross-Encoder로 재순위화하는 파이프라인 검토
3. 시간, 카테고리 등 정형 데이터가 포함된 경우 Vector Search 전 Metadata Filtering 단계 추가
4. Embedding 모델 변경 시 기존 Index를 전면 재구축(Re-embed) 하는 프로세스 수립