Files
zeekay 63c045b419 feat: Add Hanzo Engine - standalone AI inference engine
- Create hanzo-engine binary for standalone inference (port 36900)
- Rebrand from mistral.rs to Hanzo Engine
- Add comprehensive CLI with pull, embed, chat, rerank commands
- Support for Qwen3 embedding and reranking models
- Store models in ~/.hanzo directory structure
- OpenAI-compatible API endpoints
- Ollama compatibility mode available
- Full model management (pull, list, delete)
2025-09-15 12:47:28 -05:00

196 lines
5.9 KiB
TOML

[workspace]
members = [
"hanzo-engine",
"mistralrs-server-core",
"mistralrs-server",
"mistralrs-core",
"mistralrs-pyo3",
"mistralrs",
"mistralrs-bench",
"mistralrs-vision",
"mistralrs-quant",
"mistralrs-paged-attn",
"mistralrs-web-chat",
"mistralrs-audio",
"mistralrs-mcp",
]
resolver = "2"
[workspace.package]
version = "0.6.0"
edition = "2021"
description = "Fast and easy LLM serving."
homepage = "https://github.com/EricLBuehler/mistral.rs"
repository = "https://github.com/EricLBuehler/mistral.rs"
keywords = ["machine-learning"]
categories = ["science"]
license = "MIT"
rust-version = "1.86"
[workspace.dependencies]
candle-core = { git = "https://github.com/EricLBuehler/candle.git", version = "0.9.1", rev = "5e6c385" }
candle-nn = { git = "https://github.com/EricLBuehler/candle.git", version = "0.9.1", rev = "5e6c385" }
candle-flash-attn-v3 = { git = "https://github.com/EricLBuehler/candle.git", version = "0.9.1", rev = "5e6c385" }
candle-flash-attn = { git = "https://github.com/EricLBuehler/candle.git", version = "0.9.1", rev = "5e6c385" }
# candle-core = { path = "../candle/candle-core" }
# candle-nn = { path = "../candle/candle-nn" }
# candle-flash-attn-v3 = { path = "../candle/candle-flash-attn-v3" }
# candle-flash-attn = { path = "../candle/candle-flash-attn" }
axum = "0.8.4"
anyhow = "1.0.98"
serde = "1.0.219"
serde_json = "1.0.140"
indexmap = { version = "2.9.0", features = ["serde"] }
either = { version = "1.15.0", features = ["serde"] }
accelerate-src = { version = "0.3.2" }
intel-mkl-src = { version = "0.8.1", features = ["mkl-static-lp64-iomp"] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.20", features = ["env-filter"] }
futures = "0.3"
clap = { version = "4.5.39", features = ["derive", "wrap_help"] }
pyo3 = { version = "0.25.0", features = ["full", "extension-module", "either"] }
tokio = { version = "1.45.1", features = ["full", "rt-multi-thread"] }
once_cell = "1.21.3"
# All features but avif, avif increases the msrv dramatically
image = { version = "0.25.6", default-features = false, features = [
'bmp',
'dds',
'exr',
'ff',
'gif',
'hdr',
'ico',
'jpeg',
'png',
'pnm',
'qoi',
'tga',
'tiff',
'webp',
] }
reqwest = { version = "0.12.19", default-features = false, features = [
"blocking",
"rustls-tls",
"charset",
"http2",
"macos-system-configuration",
] }
base64 = "0.22.1"
half = "2.6.0"
rayon = "1.10.0"
url = "2.5.4"
utoipa = "5.3.1"
walkdir = "2.5.0"
data-url = "0.3.1"
float8 = "0.4.0"
regex = "1.11.1"
metal = { version = "0.27.0", features = ["mps"] }
safetensors = "0.6.0"
toml = "0.8.22"
hf-hub = { version = "0.4.2", default-features = false, features = [
"ureq",
"tokio",
"rustls-tls",
] }
itertools = "0.14.0"
rand = "0.9.1"
rand_distr = "0.5.0"
cli-table = "0.5.0"
dirs = "6.0.0"
thiserror = "2.0.12"
tokenizers = { version = "0.21.2", default-features = false }
tokio-tungstenite = "0.24.0"
tqdm = "0.7.0"
chrono = "0.4.41"
minijinja = { version = "2.10.2", features = ["builtins", "json"] }
minijinja-contrib = { version = "2.10.2", features = ["pycompat"] }
regex-automata = { version = "0.4.9", features = ["meta"] }
rustc-hash = "2.1.1"
vob = "3.0.4"
cfgrammar = "0.13.10"
lrtable = "0.13.10"
galil-seiferas = "0.1.5"
radix_trie = "0.2.1"
bytemuck = "1.23.0"
tokio-rayon = "2.1.0"
rand_isaac = "0.4.0"
indicatif = { version = "0.17.11", features = ["rayon"] }
async-trait = "0.1.88"
strum = { version = "0.27.1", features = ["derive"] }
derive_more = { version = "2.0.1", default-features = false, features = ["from"] }
akin = "0.4.0"
variantly = "0.4.0"
derive-new = "0.7.0"
sysinfo = "0.30.13"
csv = "1.3.1"
bytemuck_derive = "1.9.3"
uuid = "1.17.0"
schemars = "0.8.22"
serde_yaml = "0.9.34"
serde_plain = "1.0.2"
as-any = "0.3.2"
llguidance = { git = "https://github.com/guidance-ai/llguidance.git", version = "1.0.0", default-features = false, features = ["lark"], rev = "c432092" }
toktrie_hf_tokenizers = {git = "https://github.com/guidance-ai/llguidance.git", version = "1.0.0", rev = "c432092" }
objc = { version = "0.2.7" }
serde-big-array = "0.5.1"
interprocess = "2.2.3"
urlencoding = "2.1.3"
scraper = "0.23.1"
html2text = "0.14.4"
ordered-float = "5.0.0"
hashbrown = "0.15.3"
parking_lot = "0.12.4"
ahash = "0.8.12"
num-traits = "0.2.19"
libc = "0.2.172"
bm25 = "2.2.1"
symphonia = { version = "0.5.4", default-features = false, features = ["mp3", "flac", "vorbis", "wav", "isomp4", "ogg", "pcm"] }
lazy_static = "1.5"
paste = "1.0.15"
byteorder = "1.5.0"
yoke = "0.7.5"
memmap2 = "0.9.5"
pyo3-build-config = "0.25.0"
ctrlc = "3.4.7"
directories = "6.0.0"
# Need to keep rustyline at 15.0.0 as 16.0.0 has a breaking change that conficts with `ctrlc`'s handling
rustyline = { version = "15.0.0", default-features = false, features = ["with-file-history"] }
tower-http = "0.6.6"
utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
futures-util = "0.3.31"
axum_static = "1.7.1"
mime_guess = "2.0.5"
include_dir = "0.7.4"
http = "1.3.1"
hyper = "1.6.0"
rust-mcp-sdk = { version = "0.4.2", default-features = false, features = ["server", "hyper-server", "2025_03_26"] }
rust-mcp-schema = { version = "0.1.11", default-features = false, features = ["schema_utils", "2024_11_05"] }
bindgen_cuda = { git = "https://github.com/guoqingbao/bindgen_cuda.git", version = "0.1.6" }
rubato = "0.16.2"
rustfft = "6.3.0"
hound = "3.5.1"
apodize = "1.0.0"
statrs = "0.18.0"
mistralrs-core = { path = "mistralrs-core" }
mistralrs-paged-attn = { path = "mistralrs-paged-attn" }
mistralrs-quant = { path = "mistralrs-quant" }
mistralrs-vision = { path = "mistralrs-vision" }
mistralrs-server-core = { path = "mistralrs-server-core" }
mistralrs = { path = "mistralrs" }
mistralrs-audio = { path = "mistralrs-audio" }
mistralrs-mcp = { path = "mistralrs-mcp" }
[profile.release-with-debug]
inherits = "release"
debug = true
[profile.release]
lto = true
opt-level = 3
[profile.dev]
debug = true
opt-level = 3