[package]
name = "vecboost"
version = "0.1.2"
edition = "2024"
authors = ["Kirky-X <kirky-x@outlook.com>"]
description = "High-performance embedding vector service written in Rust"
repository = "https://github.com/Kirky-X/vecboost"
documentation = "https://github.com/Kirky-X/vecboost"
homepage = "https://github.com/Kirky-X/vecboost"
license = "MIT"
keywords = ["embedding", "vector", "ml", "ai", "inference"]
categories = ["asynchronous", "science", "web-programming::http-server"]
[dependencies]
axum = "0.7"
axum-extra = { version = "0.9", features = ["typed-header"] }
tokio = { version = "1.40", features = ["full"] }
tower-http = { version = "0.6", features = ["trace", "cors", "add-extension", "validate-request", "set-header", "timeout"] }
tonic = "0.12"
prost = "0.13"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
utoipa = { version = "5.1", features = ["axum_extras", "chrono", "uuid"] }
utoipa-swagger-ui = { version = "8.0", features = ["axum"] }
uuid = { version = "1.11", features = ["v4", "serde"] }
prometheus = { version = "0.13", features = ["process"] }
axum-prometheus = "0.7"
async-trait = "0.1"
redis = { version = "1.0.0-rc.5", optional = true, features = ["tokio-comp", "connection-manager"] }
config = "0.14"
toml = "0.8"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
thiserror = "2.0"
anyhow = "1.0"
candle-core = { version = "0.9", features = [] }
candle-nn = "0.9"
candle-transformers = "0.9"
hf-hub = "0.3"
ndarray = { version = "0.16", optional = true }
ort = { version = "2.0.0-rc.11", optional = true }
tempfile = "3.14"
futures = "0.3"
sys-info = "0.9"
num_cpus = "1.16"
lru = "0.12"
hashbrown = "0.15"
xxhash-rust = { version = "0.8", features = ["xxh3"] }
chrono = { version = "0.4", features = ["serde"] }
regex = "1.11"
home = "0.5"
reqwest = { version = "0.12", features = ["stream"] }
sha2 = "0.10"
jsonwebtoken = "9.3"
password-hash = { version = "0.5", features = ["rand_core"] }
argon2 = "0.5"
rand = "0.8"
aes-gcm = "0.10"
hex = "0.4"
cudarc = { version = "0.18.2", optional = true, default-features = false }
[build-dependencies]
tonic-build = "0.12"
[features]
default = []
cuda = ["candle-core/cuda", "candle-nn/cuda"]
onnx = ["ndarray", "ort"]
metal = ["candle-core/metal", "candle-nn/metal"]
grpc = []
redis = ["dep:redis"]
auth = []
[target.'cfg(target_os = "macos")'.dependencies]
tokenizers = { version = "0.15", features = ["http"] }
[target.'cfg(target_os = "linux")'.dependencies]
[target.'cfg(target_os = "windows")'.dependencies]
[profile.dev]
opt-level = 1
[[example]]
name = "gpu_basic_device_test"
path = "examples/gpu/basic_device_test.rs"
required-features = ["cuda"]
[[example]]
name = "gpu_candle_engine_test"
path = "examples/gpu/candle_engine_test.rs"
required-features = ["cuda"]
[[example]]
name = "gpu_onnx_engine_test"
path = "examples/gpu/onnx_engine_test.rs"
required-features = ["cuda", "onnx"]
[[example]]
name = "gpu_performance_comparison"
path = "examples/gpu/performance_comparison.rs"
required-features = ["cuda", "onnx"]