본문 바로가기
📂 머신러닝 | 딥러닝/◾ NLP

Langchain CharacterTextSplitter와 RecursiveTextSplitter

by 이 정규 2024. 10. 15.
728x90
반응형

CharacterTextSplitter

  • 텍스트 분할 방법: 단일 문자 단위
  • 청크 크기 측정 방법: 문자의 수
from langchain.text_splitter import CharacterTextSplitter

text_splitter = CharacterTextSplitter(
    separator="\n\n",
    chunk_size=100,
    chunk_overlap=10,
    length_function=len,
    is_separator_regex=False,
)

Parameters

  • separator: 청크를 구분하는 데 사용되는 문자열을 지정하며, 기본값은 '\n\n'
  • chunk_size: 각 청크의 최대 길이
  • chunk_overlap: 인접한 청크 간 겹치는 문자의 수
  • length_function: 청크의 길이를 계산하는 데 사용되는 함수, 기본값은 len
  • is_separator_regex: separator가 정규 표현식으로 해석될 지 여부를 결정하는 불리언 값

RecursiveTextSplitter

  • 텍스트 분할 방법: 단일 문자 단위의 리스트
  • 청크 크기 측정 방법: 문자의 수
from langchain.text_splitter import RecursiveCharacterTextSplitter

recursive_text_splitter = RecursiveCharacterTextSplitter(
    chunk_size=100,
    chunk_overlap=10,
    length_function=len,
    is_separator_regex=False,
)

Parameters

  • separators: separator의 집합, 기본 목록은 ['\n\n', '\n', ' ', '']
  • chunk_size: 각 청크의 최대 길이
  • chunk_overlap: 인접한 청크 간 겹치는 문자의 수
  • length_function: 청크의 길이를 계산하는 데 사용되는 함수, 기본값은 len
  • is_separator_regex: separator가 정규 표현식으로 해석될 지 여부를 결정하는 불리언 값

 

728x90
반응형

댓글