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