Text Chunker
v0.1.0Ajouté le 26 sept. 2026Données d'exempleDécoupage récursif de texte pour le RAG. Coupe les documents aux limites de paragraphes, de phrases et de mots en fragments de taille cible, avec chevauchement.
Données d'exemple. Ces chiffres sont fictifs et ne proviennent pas de mesures.
cargo install kura-rs
kura add text-chunkerCopie 2 fichiers source dans votre projet. Le code vous appartient ensuite.
Si un autre outil installe déjà une commande kura, lance cargo install kura-rs --bin kura-rs et utilise kura-rs add à la place.
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);
}Vérification
Données d'exempleVérifié par rapport à langchain-text-splitters 0.3.8 (Python). Méthode : Tests différentiels. Les mêmes entrées sont fournies aux deux implémentations, puis leurs sorties sont comparées.
Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.
Benchmarks
Données d'exemplekura-rs (Rust) comparé à langchain-text-splitters sur plusieurs tailles d'entrée. Plus rapide pour toutes les tailles d'entrée mesurées, jusqu'à 26× plus rapide.
Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.
Afficher le tableau de données
| Taille d'entrée | kura-rs (Rust) | langchain-text-splitters | Accélération |
|---|---|---|---|
| 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× |
Fichiers
- parts/text_chunker/mod.rs
- parts/text_chunker/boundaries.rs