Investment-Assistant

LangChain으로 문서를 쪼개는 방법: Splitter 실습 가이드 [8]

HeyTeddy 2024. 11. 22. 04:13
반응형

Python과 LangChain 라이브러리를 활용하여 문서를 원하는 단위로 분리(Splitting)하는 방법을 소개합니다. 이 글에서는 문자 단위로 문서를 쪼개는 실습을 진행합니다.

1. 문서 쪼개는 방식

문서를 나누는 방식에는 여러 가지가 있습니다. 예를 들어:

  • 문단 단위: 문단마다 분리
  • 문장 단위: 문장마다 분리
  • 의미 단위: 의미가 이어지는 구간마다 분리

이 글에서는 문자 단위로 분리하여 특정 크기로 청크(chunk)를 만드는 실습을 진행합니다.

2. 실습 코드

다음은 LangChain의 CharacterTextSplitter를 활용하여 문서를 문자 단위로 쪼개는 코드입니다:

from langchain_community.document_loaders import PyPDFLoader
from langchain.text_splitter import CharacterTextSplitter

# PDF 파일 로드 및 페이지 분리
loader = PyPDFLoader("C:/LLM_project/investment assistant/test.pdf")
pages = loader.load_and_split()

# 첫 번째 페이지의 텍스트 가져오기
text = pages[0].page_content

# 문자 단위로 텍스트 청크 나누기
text_splitter = CharacterTextSplitter(
    separator='. ',  # 문장 끝 구분자로 사용
    chunk_size=500,  # 각 청크의 최대 길이
    chunk_overlap=100,  # 청크 간 중복되는 문자 수
    length_function=len  # 길이 측정 함수
)

# 텍스트 분리 실행
texts = text_splitter.split_text(text)

# 결과 출력
print(texts[0])  # 첫 번째 청크
print(len(texts[0]))  # 첫 번째 청크 길이
print(len(texts))  # 총 청크 개수

요약

LangChain의 CharacterTextSplitter를 활용하면 문서를 손쉽게 쪼개어 처리할 수 있습니다. 이는 대용량 문서를 분석하거나 자연어 처리 작업에 활용할 때 특히 유용합니다.

이제 직접 실습하여 문서를 쪼개는 과정을 경험해보세요! 🚀

반응형