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;
38pub mod tokenizer;
39pub mod weight_format;
40
41pub use common::{DecoderOnlyLLM, LlmRuntimeConfig};
42pub use definition::{ConfigManager, ModelDefinition};
43pub use executor::{
44    BertModelExecutor, ClipModelExecutor, LlmExecutor, StubModelExecutor, TtsModelExecutor,
45    WhisperModelExecutor,
46};
47pub use hf_download::HfDownloader;
48pub use image_processor::ClipImageProcessor;
49pub use loader::SafeTensorsLoader;
50pub use lora::{
51    default_lora_model_id, load_runtime_lora_adapter, load_startup_lora_adapter,
52    load_startup_lora_adapters, render_lora_model_id, ActiveLoraAdapter, LoraAdapterConfig,
53    RuntimeLoraAdapter, StartupLoraAdapter, StartupLoraSpec,
54};
55pub use multimodal::{BertModelWrapper, ClipModelWrapper, WhisperModelWrapper};
56pub use registry::{
57    Architecture, DefaultModelRegistry, ModelAlias, ModelDiscoveryEntry, ModelFormatType,
58};
59pub use source::{
60    DefaultModelSourceResolver, ModelFormat, ModelSourceConfig, ModelSourceResolver,
61    ResolvedModelSource,
62};
63pub use tensor_wrapper::CandleTensorWrapper;
64pub use tokenizer::{TokenizerFactory, TokenizerHandle};
65
66pub use ferrum_interfaces::ModelExecutor;
67pub use ferrum_types::{
68    Activation, AttentionConfig, ModelConfig, ModelInfo, ModelType, NormType, Result, RopeScaling,
69};