[package]
edition = "2021"
rust-version = "1.98.0"
name = "rightkit-embed"
version = "0.4.0"
build = false
include = [
"src/**",
"tests/**",
"Cargo.toml",
"README.md",
"CHANGELOG.md",
"LICENSE-MIT",
"LICENSE-APACHE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Product-neutral local text embeddings and persistent cosine vector store."
readme = "README.md"
license = "MIT OR Apache-2.0"
repository = "https://github.com/Orthic-Labs/rightkit"
[package.metadata.rightkit]
continuous = "held-resource"
[[package.metadata.rightkit.resources]]
api = "Embedder::load"
file = "src/embedder.rs"
holds = [
"memory",
"thread",
]
scale = "one ONNX session: model weights, ORT arenas and intra_threads intra-op threads (default 1), plus a tokenizer and a OnceLock pipeline id; fixed per Embedder, independent of how many texts are embedded"
release = "Drop"
[features]
default = [
"inference",
"vector",
]
inference = [
"dep:rightkit-onnx",
"dep:tokenizers",
"dep:rightkit-fs",
"dep:serde_json",
]
vector = [
"dep:rusqlite",
"dep:rightkit-db",
]
[lib]
name = "rightkit_embed"
path = "src/lib.rs"
[[test]]
name = "accelerator_parity_e2e"
path = "tests/accelerator_parity_e2e.rs"
[[test]]
name = "batch_real_model_e2e"
path = "tests/batch_real_model_e2e.rs"
[[test]]
name = "gemma2_real_model_e2e"
path = "tests/gemma2_real_model_e2e.rs"
[[test]]
name = "real_model_e2e"
path = "tests/real_model_e2e.rs"
[[test]]
name = "vector_e2e"
path = "tests/vector_e2e.rs"
[dependencies.rightkit-db]
version = "0.4"
optional = true
default-features = false
[dependencies.rightkit-fs]
version = "0.4.0"
features = ["digest"]
optional = true
default-features = false
[dependencies.rightkit-onnx]
version = "0.2.2"
optional = true
[dependencies.rusqlite]
version = "0.40.1"
optional = true
default-features = false
[dependencies.serde_json]
version = "1.0.150"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokenizers]
version = "0.22.2"
features = ["onig"]
optional = true
default-features = false
[dev-dependencies.rusqlite]
version = "0.40.1"
features = ["bundled"]
[dev-dependencies.tempfile]
version = "3"