일반 소개
zChunk는 범용 시맨틱 청킹을 위한 솔루션을 제공하기 위해 제로엔트로피에서 개발한 새로운 청킹 전략입니다. 이 전략은 청크 생성을 유도하여 문서의 청킹 프로세스를 최적화하고 정보 검색 중에 높은 신호 대 잡음비를 유지하도록 하는 Llama-70B 모델을 기반으로 합니다. zChunk는 특히 고정밀 검색이 필요한 RAG(검색 증강 생성) 애플리케이션에 적합하며 복잡한 문서를 다룰 때 기존 청킹 방법의 한계를 해결해 줍니다. zChunk를 사용하면 문서를 의미 있는 청크로 보다 효과적으로 분류하여 정보 검색의 정확성과 효율성을 향상시킬 수 있습니다.
여러분의 역할은 청커 역할을 하는 것입니다.
입력 내용 전체에 '단락'을 삽입해야 합니다.
목표는 콘텐츠를 의미적으로 연관성이 있는 그룹으로 분리하는 것입니다.
방법론 및 LLM OCR의 한계: 화려함 뒤에 숨겨진 문서 구문 분석의 어려움 언급된 프롬프트에는 몇 가지 공통점이 있습니다.

기능 목록
- 라마-70B 기반 청킹 알고리즘Llama-70B 모델을 사용하여 시맨틱 청킹을 위한 단서를 생성합니다.
- 높은 신호 대 잡음비 청킹청킹 전략을 최적화하여 검색된 정보가 높은 신호 대 잡음비를 갖도록 합니다.
- 다양한 청크 전략고정 크기 청킹, 유사도 기반 청킹 임베딩 등 다양한 전략을 지원합니다.
- 하이퍼파라미터 튜닝하이퍼 파라미터 튜닝 파이프라인을 제공하여 사용자가 특정 요구에 따라 청크 크기와 겹치는 파라미터를 조정할 수 있도록 합니다.
- 오픈 소스전체 오픈 소스 코드가 제공되며 사용자가 자유롭게 사용 및 수정할 수 있습니다.
도움말 사용
설치 프로세스
- 클론 창고::
git clone https://github.com/zeroentropy-ai/zchunk.git
cd zchunk
- 종속성 설치::
pip install -r requirements.txt
사용법
- 입력 파일 준비하기: 청크할 문서를 텍스트 파일로 저장합니다(예
example_input.txt
. - 청크 스크립트 실행::
python test.py --input example_input.txt --output example_output.txt
- 출력 파일 보기청킹 결과가 저장됩니다.
example_output.txt
가운데.
세부 기능 작동 흐름
- 청크 전략 선택::
- 나이브청크: 간단한 문서를 위한 고정 크기 청크입니다.
- 시맨틱 청크의미론적 무결성을 유지해야 하는 문서에 대해 임베딩 유사성을 기반으로 청킹을 수행합니다.
- zChunk 알고리즘복잡한 문서에 대해 Llama-70B 모델의 힌트를 기반으로 청크를 생성합니다.
- 하이퍼파라미터 조정::
- 청크 크기매개변수를 조정하여 이 작업을 수행할 수 있습니다.
chunk_size
를 사용하여 각 청크의 크기를 설정합니다. - 겹침 비율매개 변수를 통해
overlap_ratio
정보의 연속성을 보장하기 위해 청크 간 겹치는 비율을 설정합니다.
- 청크 크기매개변수를 조정하여 이 작업을 수행할 수 있습니다.
- 하이퍼파라미터 튜닝 실행::
python hyperparameter_tuning.py --input example_input.txt --output tuned_output.txt
스크립트는 입력 문서에 따라 청크 크기와 겹침 비율을 자동으로 조정하여 최적의 청크 결과를 생성합니다.
- 청킹의 효과 평가::
- 제공된 평가 스크립트를 사용하여 청킹 결과를 평가하여 청킹 전략의 효과를 확인합니다.
python evaluate.py --input example_input.txt --output example_output.txt
일반적인 예
미국 헌법의 텍스트를 잘게 쪼개야 한다고 가정해 보겠습니다:
원본 텍스트:
Section. 1.
All legislative Powers herein granted shall be vested in a Congress of the United States, which shall consist of a Senate and House of Representatives.
Section. 2.
The House of Representatives shall be composed of Members chosen every second Year by the People of the several States, and the Electors in each State shall have the Qualifications requisite for Electors of the most numerous Branch of the State Legislature.
No Person shall be a Representative who shall not have attained to the Age of twenty five Years, and been seven Years a Citizen of the United States, and who shall not, when elected, be an Inhabitant of that State in which he shall be chosen.
zChunk 알고리즘을 사용한 청크:
- 큐 단어 선택: 말뭉치에 없는 특수 토큰(예: "단락")을 선택합니다.
- 단서 삽입: 라마가 사용자 메시지에 토큰을 삽입하도록 합니다.
SYSTEM_PROMPT (简化版):
你的任务是作为一个分块器。
你应该在输入中插入“段”标记。
你的目标是将内容分成语义相关的组。
- 청크 생성::
Section. 1.
All legislative Powers herein granted shall be vested in a Congress of the United States, which shall consist of a Senate and House of Representatives.段
Section. 2.
The House of Representatives shall be composed of Members chosen every second Year by the People of the several States, and the Electors in each State shall have the Qualifications requisite for Electors of the most numerous Branch of the State Legislature.段
No Person shall be a Representative who shall not have attained to the Age of twenty five Years, and been seven Years a Citizen of the United States, and who shall not, when elected, be an Inhabitant of that State in which he shall be chosen.段
이러한 방식으로 문서를 의미론적으로 연관된 블록으로 분류하고 각 블록을 독립적으로 검색할 수 있어 신호 대 잡음비와 정보 검색의 정확도를 개선할 수 있습니다.
최적화
- 로컬 추론 라마를 사용하면 전체 구절을 효율적으로 처리하고 로그 프로브를 검사하여 청크 위치를 파악할 수 있습니다.
- 450,000자를 처리하는 데 약 15분이 걸리지만 코드를 최적화하면 이 시간을 크게 줄일 수 있습니다.
벤치마킹
- zChunk는 LegalBenchConsumerContractsQA 데이터 세트에서 NaiveChunk 및 시맨틱 청킹 방법보다 검색 비율과 신호 비율 점수가 더 높습니다.
zChunk 알고리즘을 사용하면 정규식이나 수동으로 만든 규칙에 의존하지 않고도 모든 유형의 문서를 쉽게 세분화할 수 있어 RAG 애플리케이션의 효율성과 정확성이 향상됩니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...