Text Chunker

v0.1.0添加于 2026年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加速比
10.08 ms0.9 ms11×
100.4 ms6.2 ms16×
1003.1 ms71 ms23×
1,00029 ms720 ms25×
10,000290 ms7.4 s26×

文件

  • parts/text_chunker/mod.rs
  • parts/text_chunker/boundaries.rs

crate 依赖