5차시. LangChain 입문
3. Text Splitter — 문서 분할
출처: 원본 PDF 05차시_LangChain입문RAG의마법도구.pdf 3~4쪽 · 쪽 그림 3쪽 4쪽
로드한 문서를 적절한 크기의 chunks로 나누는 작업입니다.
3-1) Text Splitter의 종류
출처: 원본 PDF 4쪽
| Splitter | 설명 |
|---|---|
| RecursiveCharacterTextSplitter (추천) | 문자 단위로 지능적으로 분할 |
| CharacterTextSplitter | 단순히 문자 개수만 고려 |
| TokenTextSplitter | 토큰 개수 기준으로 분할 |
3-2) Text Splitter 코드 예시
출처: 원본 PDF 4쪽
from langchain.text_splitter import RecursiveCharacterTextSplitter
splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50
)
chunks = splitter.split_documents(documents)
print(f"chunk 개수: {len(chunks)}")
print(f"첫 chunk: {chunks[0].page_content}")실행 결과 예시 (코드를 읽고 만든 예상 화면입니다. 실제 실행 결과, 특히 모델의 답은 다를 수 있습니다)
chunk 개수: 1
첫 chunk: [고객 안내문]
1. 환불 규정
상품 수령 후 7일 이내에 환불을 신청하실 수 있습니다.
단순 변심의 경우 왕복 배송비는 고객 부담입니다.
2. 교환 규정
상품 불량의 경우 30일 이내에 교환이 가능합니다.
이 경우 배송비는 당사가 부담합니다.
3. 고객센터
운영 시간은 평일 09:00 ~ 18:00 입니다.
전화 1588-0000 / 이메일 help@example.com파라미터 의미
chunk_size=500 — 각 chunk가 약 500자씩
chunk_overlap=50 — chunk 간 50자씩 겹침으로 문맥 유지