RAG2026-5일7차시 · 텍스트 분할 이해12 / 19← 이전목차다음 →MetaContents

7차시. 텍스트 분할 이해

9. 자주 겪는 문제와 해결법

출처: 원본 PDF 07차시_텍스트분할이해.pdf 19쪽 · 쪽 그림 19쪽

증상원인과 해결
조각이 chunk_size보다 훨씬 짧게 나옴정상입니다. separators가 앞쪽에서 자를 곳을 찾은 것입니다
조각이 chunk_size보다 김자를 만한 구분자가 없는 경우입니다. separators에 ""를 마지막에 넣으세요
표가 여러 조각으로 찢어짐표는 분할에 취약합니다. 표만 따로 추출해 별도 처리하세요
제목과 내용이 다른 조각으로 갈라짐chunk_size를 키우거나, Markdown 헤더 분할기를 사용하세요
같은 내용이 여러 조각에 반복됨overlap이 너무 큽니다. chunk_size의 10~20%로 줄이세요
조각 수가 수천 개로 폭증chunk_size가 너무 작습니다. 임베딩 비용도 함께 폭증하니 주의하세요

9-1) 특수한 경우 — Markdown 문서

Markdown 문서는 #, ## 같은 제목 구조가 있습니다. 이걸 살려서 자르면 훨씬 좋습니다.

Python
from langchain_text_splitters import MarkdownHeaderTextSplitter

headers = [("#", "h1"), ("##", "h2"), ("###", "h3")]

md_splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers)
md_chunks = md_splitter.split_text(markdown_text)

# 각 조각의 metadata에 제목 경로가 들어간다
print(md_chunks[0].metadata)
# {'h1': '사용 설명서', 'h2': '설치 방법'}

#

실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)

출력
{'h1': '사용 설명서', 'h2': '설치 방법'}

👉 "설치 방법 섹션에서만 검색" 같은 것이 가능해집니다

← 이전 절7차시 · 8. 실습 ④ — 내 문서에 맞는 값 찾기다음 절 →7차시 · 10. 이번 차시 완성 코드