데브허브 | DEVHUB | 스프링AI - 12. 청킹과 질의증강
- 스프링 AI의
TokenTextSplitter는 오버랩을 지원하지 않아 청킹 품질 저하의 치명적인 단점이 있습니다. 🚫
- 문서 분할 후 청크가 의도대로 잘 생성되었는지 반드시 확인하는 습관이 중요하며, 청크 품질이 RAG 성능의 핵심입니다. 👀
- 길이 기반 분할 대신 LM을 활용하여 청크를 생성하면 각 청크의 품질을 크게 향상시킬 수 있습니다. 🧠
- 범용 스플리터의 한계를 인지하고, 문서 구조와 도메인 특성에 맞는 맞춤형 스플리터 개발이 RAG 품질 향상에 필수적입니다. 🏗️
- 사용자의 불완전하고 모호한 질의를 LM을 통해 명확하고 사실 기반의 질의로 변환하는 '질의 증강' 기법이 중요합니다. ❓
Compression Query Transformer Advisor는 히스토리와 애매한 질의를 바탕으로 명확한 질문으로 재구성하는 역할을 합니다. ✍️
Rewrite Query Transformer는 사용자 질의에서 불필요한 요소를 제거하고 사실 기반의 질문으로 변환하여 검색 정확도를 높입니다. 🧹
Multi-Query Expander는 하나의 사용자 질의로부터 여러 버전의 질의를 생성하여 벡터 검색의 성공 확률을 높이는 전략입니다. 🚀
Multi-Vector Store 패턴은 하나의 청크에 대해 여러 개의 임베딩(청크 자체, 예상 질문 등)을 저장하여 임베딩 유사도 매칭 확률을 높이는 기법입니다. 📊
Multi-Vector Store 사용 시, 동일 청크에서 파생된 여러 레코드를 식별하고 관리하기 위해 청크별 고유 ID 부여가 필수적입니다. 🆔