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 executor;
23pub mod gguf_config;
24pub mod gguf_engine_loader;
25pub mod gguf_runtime;
26pub mod hf_download;
27pub mod image_processor;
28pub mod loader;
29pub mod lora;
30pub mod mel;
31pub mod models;
32pub mod moe;
33pub mod moe_config;
34pub mod multimodal;
35pub mod registry;
36pub mod source;
37pub mod tensor_wrapper;
38#[cfg(feature = "test-support")]
39pub mod test_support;
40pub mod tokenizer;
41pub mod weight_format;
42
43pub use common::{DecoderOnlyLLM, LlmRuntimeConfig};
44pub use definition::{ConfigManager, ModelDefinition};
45pub use executor::{
46    BertModelExecutor, ClipModelExecutor, LlmExecutor, StubModelExecutor, TtsModelExecutor,
47    WhisperModelExecutor,
48};
49pub use hf_download::HfDownloader;
50pub use image_processor::ClipImageProcessor;
51pub use loader::SafeTensorsLoader;
52pub use lora::{
53    default_lora_model_id, load_runtime_lora_adapter, load_startup_lora_adapter,
54    load_startup_lora_adapters, render_lora_model_id, ActiveLoraAdapter, LoraAdapterConfig,
55    RuntimeLoraAdapter, StartupLoraAdapter, StartupLoraSpec,
56};
57pub use multimodal::{BertModelWrapper, ClipModelWrapper, WhisperModelWrapper};
58pub use registry::{
59    Architecture, DefaultModelRegistry, ModelAlias, ModelDiscoveryEntry, ModelFormatType,
60};
61pub use source::{
62    DefaultModelSourceResolver, ModelFormat, ModelSourceConfig, ModelSourceResolver,
63    ResolvedModelSource,
64};
65pub use tensor_wrapper::CandleTensorWrapper;
66pub use tokenizer::{TokenizerFactory, TokenizerHandle};
67
68pub use ferrum_interfaces::ModelExecutor;
69pub use ferrum_types::{
70    Activation, AttentionConfig, ModelConfig, ModelInfo, ModelType, NormType, Result, RopeScaling,
71};