시작하기무료로 시작하기

문서 재귀 분할

단일 문자를 기준으로 분할하는 방법은 간단하고 예측 가능하지만, 종종 최적이 아닌 청크를 만듭니다. 이 연습 문제에서는 이전 연습에서 불러온 Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 논문에 재귀적 문자 분할을 적용해 보겠습니다.

재귀적 문자 분할은 문자 목록을 순회하면서 각 문자를 기준으로 차례대로 분할하고, chunk_size 제한 아래에서 청크를 만들 수 있는지 확인하는 방식이라는 점을 기억하세요.

이 연습은 강의의 일부입니다

LangChain을 활용한 RAG(검색 증강 생성)

강의 보기

연습 안내

  • 문자 목록 ['\n', '.', ' ', '']을 순서대로 재귀적으로 분할하도록 LangChain의 재귀 문자 텍스트 스플리터를 정의하고, chunk_size75, chunk_overlap10으로 설정하세요.
  • 정의한 text_splitter와 적절한 메서드를 사용해 document를 분할하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

loader = PyPDFLoader("rag_paper.pdf")
document = loader.load()

# Define a text splitter that splits recursively through the character list
text_splitter = ____(
    ____,
    chunk_size=75,  
    chunk_overlap=10  
)

# Split the document using text_splitter
chunks = text_splitter.____
print(chunks)
print([len(chunk.page_content) for chunk in chunks])
코드 편집 및 실행