Skip to main content

ferrum_models/
lib.rs

1//! Ferrum 模型层
2//!
3//! 该 crate 负责围绕 `ferrum-interfaces`/`ferrum-types` 定义的核心抽象
4//! 提供模型定义解析、构建器与权重加载占位实现,确保上层可以在
5//! 重构阶段编译。
6
7// TTS / Whisper架构里存在大量在不同调用路径下"当下未使用"的字段/方法
8// (e.g. 推理期不走的 layers、只在特定 feature 下用的导入)。抑制到 crate 级,
9// 新写代码的真实警告由 engine / sampler / scheduler 等下游 crate 的 CI 门把守。
10#![allow(
11    dead_code,
12    unused_imports,
13    unused_variables,
14    unused_mut,
15    unused_parens,
16    unused_assignments
17)]
18
19pub mod audio_processor;
20pub mod common;
21pub mod definition;
22pub mod deltanet_s1;
23pub mod executor;
24pub mod gguf_config;
25pub mod gguf_engine_loader;
26pub mod gguf_runtime;
27pub mod hf_download;
28pub mod image_processor;
29pub mod legacy_capabilities;
30pub mod loader;
31pub mod lora;
32pub mod mel;
33pub mod models;
34pub mod moe;
35pub mod moe_config;
36pub mod multimodal;
37pub mod qwen35_config;
38#[cfg(any(test, feature = "test-support"))]
39pub mod qwen35_s1;
40pub mod qwen35_weights;
41pub mod registry;
42pub mod source;
43pub mod tensor_wrapper;
44#[cfg(feature = "test-support")]
45pub mod test_support;
46pub mod tokenizer;
47pub mod vnext;
48pub mod weight_format;
49
50pub use common::{DecoderOnlyLLM, LlmRuntimeConfig};
51pub use definition::{ConfigManager, ModelDefinition};
52pub use executor::{
53    BertModelExecutor, ClipModelExecutor, LlmExecutor, StubModelExecutor, TtsModelExecutor,
54    VNextCompiledModel, VNextDeterminismExecutionMode, VNextDeterminismExecutionSpec,
55    VNextDeterminismInitialState, VNextDeterminismParticipantSpec, VNextDeterminismPhase,
56    VNextDeterminismWorkspacePoison, VNextExecutorConfig, VNextModelExecutor,
57    VNextRuntimeComposition, WhisperModelExecutor, MAX_VNEXT_DETERMINISM_PARTICIPANTS,
58};
59pub use hf_download::HfDownloader;
60pub use image_processor::ClipImageProcessor;
61pub use loader::SafeTensorsLoader;
62pub use lora::{
63    default_lora_model_id, load_runtime_lora_adapter, load_startup_lora_adapter,
64    load_startup_lora_adapters, render_lora_model_id, ActiveLoraAdapter, LoraAdapterConfig,
65    RuntimeLoraAdapter, StartupLoraAdapter, StartupLoraSpec,
66};
67pub use multimodal::{BertModelWrapper, ClipModelWrapper, WhisperModelWrapper};
68pub use registry::{
69    Architecture, DefaultModelRegistry, ModelAlias, ModelDiscoveryEntry, ModelFormatType,
70};
71pub use source::{
72    DefaultModelSourceResolver, ModelFormat, ModelSourceConfig, ModelSourceResolver,
73    ResolvedModelSource,
74};
75pub use tensor_wrapper::CandleTensorWrapper;
76pub use tokenizer::{TokenizerFactory, TokenizerHandle};
77
78pub use ferrum_interfaces::ModelExecutor;
79pub use ferrum_types::{
80    Activation, AttentionConfig, ModelConfig, ModelInfo, ModelType, NormType, Result, RopeScaling,
81};