[package]
edition = "2024"
name = "inferencelayer"
version = "0.2.3"
authors = ["Kortexya"]
build = false
include = [
"src/**",
"web/moshi_webrtc_demo.html",
"LICENSE",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Kortexya's engine-native inference layer — LLM generation + embedding/encoder family on wgpu (WGSL kernels, any adapter) with a pure-Rust CPU fallback"
readme = "README.md"
license-file = "LICENSE"
repository = "https://gitlab.com/kortexya/inferencelayer"
[features]
audio-io = ["dep:cpal"]
cli = [
"dep:tokenizers",
"dep:regex",
]
cudarc = ["dep:cudarc"]
default = [
"net",
"cli",
"encoder-cpu",
]
encoder-cpu = [
"dep:gemm",
"dep:rayon",
"dep:libm",
"dep:image",
]
net = []
server = [
"dep:axum",
"dep:tokio",
"dep:serde",
"dep:futures-core",
"cli",
"encoder-cpu",
]
webrtc = [
"dep:webrtc",
"dep:tokio",
"dep:bytes",
"dep:turn",
"dep:webrtc-util",
"dep:env_logger",
"dep:rustls",
"net",
]
webrtc-media = [
"server",
"webrtc",
"dep:opus",
]
ws = [
"dep:tungstenite",
"net",
]
[lib]
name = "inferencelayer"
path = "src/lib.rs"
[[bin]]
name = "chatterbox-dbg"
path = "src/bin/chatterbox_dbg.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "chatterbox-wmcheck"
path = "src/bin/chatterbox_wmcheck.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "conv-bench"
path = "src/bin/conv_bench.rs"
required-features = ["encoder-cpu"]
[[bin]]
name = "cuda-tower-gate"
path = "src/bin/cuda_tower_gate.rs"
required-features = [
"cudarc",
"encoder-cpu",
]
[[bin]]
name = "deepencoder-bench"
path = "src/bin/deepencoder_bench.rs"
[[bin]]
name = "encoder-scoreboard"
path = "src/bin/encoder_scoreboard.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "gguf-quantize"
path = "src/bin/gguf_quantize.rs"
required-features = ["cli"]
[[bin]]
name = "kernel-lab"
path = "src/bin/kernel_lab.rs"
[[bin]]
name = "kld-eval"
path = "src/bin/kld_eval.rs"
required-features = ["cli"]
[[bin]]
name = "layout-bench"
path = "src/bin/layout_bench.rs"
required-features = ["encoder-cpu"]
[[bin]]
name = "lfm2-generate"
path = "src/bin/generate.rs"
required-features = ["cli"]
[[bin]]
name = "lfm2-profile-stage"
path = "src/bin/profile_stage.rs"
required-features = ["net"]
[[bin]]
name = "lfm2-serve"
path = "src/bin/serve.rs"
required-features = ["server"]
[[bin]]
name = "lfm2-shard-run"
path = "src/bin/shard_run.rs"
required-features = [
"net",
"cli",
]
[[bin]]
name = "lfm2-shard-worker"
path = "src/bin/shard_worker.rs"
required-features = ["net"]
[[bin]]
name = "moshi-converse"
path = "src/bin/moshi_converse.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "moshi-live"
path = "src/bin/moshi_live.rs"
required-features = [
"encoder-cpu",
"cli",
"audio-io",
]
[[bin]]
name = "moshi-serve"
path = "src/bin/moshi_serve.rs"
required-features = ["server"]
[[bin]]
name = "moshi-talk"
path = "src/bin/moshi_talk.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "pocket-tts"
path = "src/bin/pocket_tts.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "precision-search"
path = "src/bin/precision_search.rs"
required-features = ["cli"]
[[bin]]
name = "qwen35-cpu"
path = "src/bin/qwen35_cpu.rs"
[[bin]]
name = "qwen3tts-dbg"
path = "src/bin/qwen3tts_dbg.rs"
required-features = [
"encoder-cpu",
"cli",
]
[[bin]]
name = "scoreboard"
path = "src/bin/scoreboard.rs"
[[bin]]
name = "tableformer"
path = "src/bin/tableformer.rs"
required-features = ["encoder-cpu"]
[[bin]]
name = "whisper"
path = "src/bin/whisper.rs"
required-features = [
"encoder-cpu",
"cli",
]
[dependencies.anyhow]
version = "1.0"
[dependencies.axum]
version = "0.8"
features = [
"macros",
"ws",
]
optional = true
[dependencies.bytemuck]
version = "1.18"
features = ["derive"]
[dependencies.bytes]
version = "1"
optional = true
[dependencies.cpal]
version = "0.16"
optional = true
[dependencies.cudarc]
version = "0.19.8"
features = [
"driver",
"nvrtc",
"cublas",
"f16",
"dynamic-loading",
"cuda-12020",
"std",
]
optional = true
default-features = false
[dependencies.env_logger]
version = "0.11"
optional = true
[dependencies.futures-core]
version = "0.3"
optional = true
[dependencies.gemm]
version = "0.19"
optional = true
[dependencies.half]
version = "2.4"
features = ["bytemuck"]
[dependencies.image]
version = "0.25"
features = [
"png",
"jpeg",
"webp",
]
optional = true
default-features = false
[dependencies.libm]
version = "0.2"
optional = true
[dependencies.opus]
version = "0.3"
optional = true
[dependencies.pollster]
version = "0.4"
[dependencies.rayon]
version = "1.11"
optional = true
[dependencies.regex]
version = "1"
optional = true
[dependencies.rustls]
version = "0.23"
features = ["ring"]
optional = true
default-features = false
[dependencies.safetensors]
version = "0.4"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
optional = true
[dependencies.serde_json]
version = "1.0"
[dependencies.tokenizers]
version = "0.22.2"
optional = true
[dependencies.tokio]
version = "1.42"
features = ["full"]
optional = true
[dependencies.tungstenite]
version = "0.26"
optional = true
[dependencies.turn]
version = "0.17"
optional = true
[dependencies.webrtc]
version = "0.17"
optional = true
[dependencies.webrtc-util]
version = "0.17"
optional = true
[dependencies.wgpu]
version = "30"
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.jsonschema]
version = "0.47"
[dev-dependencies.naga]
version = "30"
features = [
"wgsl-in",
"spv-out",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.futures-channel]
version = "0.3"