본문 바로가기

카테고리 없음

[LangChain] 랭체인의 Components(구성요소) - Text splitter

 

 

LangChain은 긴 문서를 작은 단위인 청크(chunk)로 나누는 텍스트 분리 도구를 지원

청킹(chunking): 텍스트를 분리하는 작업

문서를 작은 조각으로 나누는 이유는 LLM 모델의 입력 토큰의 개수가 정해져있기 때문

허용 한도를 넘는 텍스트는 모델에서 입력으로 처리할 수 없게 되는 것

텍스트가 너무 긴 경우 핵심 정보 이외에 불필요한 정보들이 많이 포함될 수 있어서 RAG 품질이 낮아지는 요인이 될 수도 있음

핵심 정보가 유지될 수 있는 크기로 나누는 것이 매우 중요

 

LangChain이 지원하는 다양한 텍스트 분리기(Text Splitter)는 분할하려는 텍스트 유형과 사용 사례에 맞춰 선택할 수 있는 다양한 옵션이 제공됨

크게 두가지 차원에서 검토 필요

텍스트가 어떻게 분리되는지

텍스트를 나눌 때 각 청크가 독립적으로 의미를 갖도록 나눠야 함

이를 위해 문장, 구절, 단락 등 문서 구조를 기준으로 나눌 수 있음

 

청크 크기가 어떻게 측정되는 지

각 청크의 크기를 직접 조정할 수 있음

LLM 모델의 입력 크기와 비용 등을 종합적으로 고려하여 애플리케이션에 적합한 최적 크기를 결정하는 기준

예를 들면 단어 수, 문자 수 등을 기준으로 나눌 수 있음