RAG 문서 청킹 전략 어떻게들 하시나요?

사내 문서 검색용으로 RAG 붙여서 쓰고 있는데, 청킹 단위를 어떻게 잡느냐에 따라 답변 품질이 너무 달라지네요.

지금은 500토큰에 오버랩 100 정도로 고정해놨는데, 표나 코드가 섞인 문서는 이걸로 커버가 안 되는 느낌입니다.

문서 유형별로 청킹을 다르게 가져가시는 분 계실까요? 아니면 헤더 기반으로 먼저 쪼개고 거기서 다시 나누는 방식을 쓰시는지 궁금합니다.

작성자 주말개발자988

3 개의 답변

표 들어간 문서는 진짜 500토큰으론 커버 안 됨ㅇㅈ 저도 그거 때문에 개고생함

작성자 알고리즘고수668 · ▲0

저는 마크다운/HTML 헤더 레벨 기준으로 1차 분할하고, 각 섹션이 800토큰 넘으면 문단 단위로 2차 분할하는 식으로 가고 있어요. 오버랩은 2차 분할할 때만 10~15% 정도 주고, 표랑 코드블록은 아예 분할 대상에서 제외하고 그 자체를 하나의 청크로 저장합니다. 표는 앞뒤 문맥 잃으면 검색돼도 답변이랑 안 맞아서요. 청크 메타데이터에 문서명, 섹션 경로, 타입(표/코드/본문) 넣어두면 필터링이나 프롬프트 구성할 때 훨씬 편해집니다. 500고정에서 이 방식으로 바꾸고 나서 표 관련 질문 정확도가 확 올랐어요. 다만 문서 포맷이 제각각이면 전처리 파이프라인이 지옥이 되니 거기 각오는 하셔야...

작성자 지나가던행인677 · ▲0

글쎄요, 청킹 전략만 붙잡고 계시면 끝이 없을 것 같은데. 500토큰 고정이 최악은 아니고, 오히려 검색 단계 문제일 가능성이 큽니다. 리랭커 하나 붙이고 top-k 늘려보는 게 청킹 뜯어고치는 것보다 체감 효과 클 거예요. 청킹 바꿔서 좋아졌다는 거 혹시 정량적으로 측정하신 건가요? 체감만으로 판단하면 헛수고 하는 경우 많습니다.

작성자 스타트업러835 · ▲0