Crate spark_model

Crate spark_model 

Source

Re-exports§

pub use vision_item::VisionItem;

Modules§

engine
Inference engine — generate loop for a single request.
factory
Model factory: builds the right model from config + weights.
forward
Vendor-agnostic per-layer forward orchestration.
layer
Composable transformer layer traits (SDD).
layers
lora
Startup-static PEFT LoRA adapter: remap/validate/pack into the fixed-address rank-padded pool. v0 = one adapter, slot 0, always on.
mistral_loader
Weight loader for Mistral Small 4 (MLA + MoE architecture).
model
Generic transformer model.
mtp_layout
Checkpoint-level detection of MTP / next-token-prediction weights.
precision_schedule
Per-layer + per-tensor precision overrides (C.3, 2026-04-25).
preflight
Pre-flight weight-store / config consistency checks.
quant_format
Weight-quantization format abstraction.
seq_state_reserve
Per-sequence device state the serve must RESERVE, computed before the model exists.
speculative
Speculative decoding abstraction (SDD).
ssm_reserve
SSOT for the Phase-C decode-rollback ring depth.
tp_shard
Tensor-parallel weight sharding helpers.
traits
Model trait (SDD: single trait, multiple implementations possible).
video_decode_ffmpeg
Frame extraction for real-world containers, via ffmpeg.
video_preprocess
Video → patch tensor, the temporal sibling of crate::vision_preprocess.
vision_item
The unit of vision input handed to the model.
vision_preprocess
CPU-side image preprocessing for Qwen3-VL vision inputs.
weight_loader
Weight loading traits and per-model loader implementations.
weight_map
Weight name mapping from HuggingFace safetensors to typed layer structures.

Functions§

model_type_ships_vanilla_norm_weights
The dispatch predicate itself, on the bare model_type, so it is unit-testable without constructing a full ModelConfig.
requires_single_chunk_prefill
Must chunked prefill run as a SINGLE chunk for this model?
ships_vanilla_norm_weights
True when the checkpoint ships HF-vanilla RMSNorm weights — i.e. the norm weight is used as out = x * w / rms, not Qwen3-Next’s offset-from-1 out = x * (1 + w) / rms.