Text Splitter: 토큰 제한이 있는 LLM이 여러 문장을 참고해 답변할 수 있도록 문서를 분할하는 역할
Text Splitter 종류
1) CharacterTextSplitter: 구분자 1개 기준으로 분할, max_token 제한을 지키지 못하는 경우가 발생할 수 있음(ex. 문단 1개)
2)RecursiveCharacterTextSplitter: 구분자 여러개로 분할, max_token 제한을 못지키면 다음 구분자로 나누어서 chunk가 max_token을 안넘도록 수정함.
from langchain.text_splitter import CharacterTextSplitter
text_splitter = CharacterTextSplitter(
seperator = "\n\n", //제한자
chunk_size = 1000, // 청크의 최대 사이즈
chunk_overlap = 100, // 이전 청크의 data를 일부를 overlap 하게 됨
length_function = len, // 청크 사이즈 측정 제한(len은 글자수)
)
from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(
chunk_size = 1000, // 청크의 최대 사이즈
chunk_overlap = 200, // 이전 청크의 data를 일부를 overlap 하게 됨
length_function = len, // 청크 사이즈 측정 제한(len은 글자수)
)
'Computer Theory > LLM' 카테고리의 다른 글
Retrival - Vectorstore (0) | 2023.12.28 |
---|---|
Retrival-Text Embeddings (0) | 2023.12.28 |
랭체인의 핵심 (0) | 2023.12.28 |
LangChain - PromptTemplate, LLM 프롬포트 입력을 더 편하게 (2) | 2023.12.28 |
LangChain으로 ChatGPT API 활용 (0) | 2023.12.27 |