Chunking 실전·API — LangChain Text Splitters
Chunking 실전·API
LangChain은 langchain-text-splitters 패키지로 다양한 스플리터를 제공해요. 문서 유형별로 맞는 스플리터를 골라 쓰는 것이 실전의 핵심이에요.
설치와 기본
pip install langchain-text-splitters
주요 스플리터 클래스
RecursiveCharacterTextSplitter: 구분자 리스트를 재귀로 시도하며 청크 경계를 찾는 기본 스플리터TokenTextSplitter: 토큰 단위 분할MarkdownHeaderTextSplitter: 헤더(##등) 기준으로 청크를 만들어 마크다운 구조를 살림HTMLHeaderTextSplitter: HTML 헤더 기준 분할MarkdownTextSplitter/PythonCodeTextSplitter/LatexTextSplitter/NLTKTextSplitter/SentenceTransformersTokenTextSplitter: 각 포맷·도구 특화ExperimentalMarkdownSyntaxTextSplitter: 마크다운 문법을 처리하는 실험적 스플리터
사용 예
from langchain_text_splitters import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50,
separators=["\n\n", "\n", " ", ""],
)
chunks = splitter.split_text("긴 텍스트...")
separators를 지정하면 첫 번째 구분자로 나누다 실패하면 다음 구분자로 내려가는 재귀 동작을 해요. 문서의 구조를 지키면서 최대한 자연스러운 경계에서 자르고 싶을 때 가장 널리 쓰는 선택이에요.