데이터
청킹
Chunking

대용량 문서를 벡터 DB에 넣기 좋은 작은 단위로 쪼개는 전처리 과정. 쪼개는 방식에 따라 RAG 검색 정확도가 크게 달라진다.

청킹이 중요한 이유

PDF 200페이지짜리 문서를 통째로 임베딩할 수는 없다. 적절한 크기로 쪼개야 하는데, 너무 크면 검색 시 노이즈가 많고, 너무 작으면 문맥이 끊긴다. 청킹은 이 "적절한 크기"를 찾는 과정이다.

사용 예시

LangChain의 RecursiveCharacterTextSplitter가 가장 많이 쓰인다. 문단, 문장, 단어 순서로 자연스러운 경계를 찾아 분할하며, 400~512 토큰에 10~20% 오버랩이 일반적인 출발점이다.

시맨틱 청킹은 임베딩 유사도가 급격히 변하는 지점을 경계로 삼아서 의미 단위로 정확하게 나눈다. 코드 파일이면 함수 단위, 마크다운이면 헤딩 단위로 나누는 구조 기반 청킹도 있다. 도메인에 따라 최적의 전략이 다르므로, 단순한 방법으로 베이스라인을 먼저 잡고 개선하는 게 실용적이다.

#전처리#문서분할
← AI Wiki에서 더 보기