#nlp #sentence-piece #machine-learning #tokenizer

no-std sentencepiece-model

SentencePiece model parser generated from the SentencePiece protobuf definition

5 releases

0.1.4 Oct 8, 2024
0.1.3 Jul 16, 2024
0.1.2 Jul 4, 2024
0.1.1 Jul 2, 2024
0.1.0 Nov 18, 2023

#1353 in Parser implementations

Download history 4/week @ 2024-11-13 63/week @ 2024-11-20 4/week @ 2024-11-27 4/week @ 2024-12-04 63/week @ 2024-12-11 44/week @ 2024-12-18 21/week @ 2025-01-15 210/week @ 2025-01-22 1876/week @ 2025-01-29 856/week @ 2025-02-05

2,963 downloads per month
Used in kitoken

BSD-2-Clause

8KB
78 lines

sentencepiece-model

Crates.io Docs.rs

SentencePiece model parser generated from the SentencePiece protobuf definition.

use sentencepiece_model::SentencePieceModel;

let model = SentencePieceModel::from_file("tests/t5-spiece.model")?;
assert_eq!(model.pieces.len(), 32000);
assert_eq!(model.trainer()?.unk_id(), 2);

Usage

[dependencies]
sentencepiece-model = "0.1"

sentencepiece-model uses prost-build and protox to generate Rust code from the SentencePiece protobuf definition at build time. protoc is not required.


lib.rs:

SentencePiece model parser generated from the SentencePiece protobuf definition.

See SentencePieceModel for the entry point for parsing and accessing sentencepiece models.

use sentencepiece_model::SentencePieceModel;

let model = SentencePieceModel::from_file("tests/t5-spiece.model")?;
assert_eq!(model.pieces.len(), 32000);
assert_eq!(model.trainer().unwrap().unk_id(), 2);

Dependencies

~0.3–2.5MB
~35K SLoC