Text Chunker
v0.1.02026년 9월 26일 추가샘플 데이터RAG를 위한 재귀적 텍스트 분할. 문단·문장·단어 경계에서 문서를 나눠 지정한 크기와 겹침을 가진 청크로 만듭니다.
cargo install kura-rs
kura add text-chunker소스 파일 2개를 프로젝트에 복사합니다. 이후 코드는 여러분의 것입니다.
다른 도구가 이미 kura 명령을 설치했다면 cargo install kura-rs --bin kura-rs로 설치하고 kura-rs add를 사용하세요.
use crate::parts::text_chunker::Chunker;
let chunker = Chunker::new(1_000).overlap(200);
for chunk in chunker.split(&document) {
index.add(chunk.text, chunk.range);
}검증
샘플 데이터langchain-text-splitters 0.3.8 (Python)와(과) 차분 테스트(으)로 대조했습니다. 두 구현에 같은 입력을 넣고 출력을 비교합니다.
참조 구현
langchain-text-splitters
Python 0.3.8
테스트 케이스
2,400
차분 테스트
통과
2,400 / 2,400
모든 케이스 일치
마지막 실행
2026년 9월 26일
UTC
이 수치는 임시 값입니다. 아직 측정되지 않았으므로 실제 결과로 해석해서는 안 됩니다. 이 부품은 registry 파일에서 "sample": true(으)로 표시되어 있습니다.
벤치마크
샘플 데이터다양한 입력 크기에서 kura-rs (Rust)와 langchain-text-splitters을(를) 비교합니다. 측정한 모든 입력 크기에서 더 빠름, 최대 26× 빠름.
이 수치는 임시 값입니다. 아직 측정되지 않았으므로 실제 결과로 해석해서는 안 됩니다. 이 부품은 registry 파일에서 "sample": true(으)로 표시되어 있습니다.
kura-rs (Rust)langchain-text-splitters
데이터 표 보기
| 입력 크기 | kura-rs (Rust) | langchain-text-splitters | 속도 향상 |
|---|---|---|---|
| 1 | 0.08 ms | 0.9 ms | 11× |
| 10 | 0.4 ms | 6.2 ms | 16× |
| 100 | 3.1 ms | 71 ms | 23× |
| 1,000 | 29 ms | 720 ms | 25× |
| 10,000 | 290 ms | 7.4 s | 26× |
파일
- parts/text_chunker/mod.rs
- parts/text_chunker/boundaries.rs