add MiniCPM5-1B

This commit is contained in:
jhqxxx
2026-05-27 00:50:23 +08:00
parent ac5bd03ee3
commit 35678e3ee4
22 changed files with 367 additions and 26 deletions
+12 -3
View File
@@ -12,6 +12,7 @@ pub mod lfm2;
pub mod lfm2vl;
pub mod mask_gct;
pub mod minicpm4;
pub mod minicpm5;
pub mod moss_audio_tokenizer_nano;
pub mod moss_tts_nano;
pub mod paddleocr_vl;
@@ -36,6 +37,7 @@ use crate::{
models::{
all_minilm_l6_v2::AllMiniLML6V2Embedding,
common::{embedding::TextEmbedding, model_mapping::WhichModel, reranker::TextRerank},
minicpm5::generate::MiniCPM5GenerateModel,
qwen3_embedding::Qwen3Embedding,
qwen3_reranker::Qwen3Reranker,
},
@@ -50,7 +52,7 @@ use crate::models::{
fun_asr_nano::generate::FunAsrNanoGenerateModel,
glm_asr_nano::generate::GlmAsrNanoGenerateModel, glm_ocr::generate::GlmOcrGenerateModel,
hunyuan_ocr::generate::HunyuanOCRGenerateModel, lfm2::generate::Lfm2GenerateModel,
lfm2vl::generate::Lfm2VLGenerateModel, minicpm4::generate::MiniCPMGenerateModel,
lfm2vl::generate::Lfm2VLGenerateModel, minicpm4::generate::MiniCPM4GenerateModel,
paddleocr_vl::generate::PaddleOCRVLGenerateModel, qwen2_5vl::generate::Qwen2_5VLGenerateModel,
qwen3::generate::Qwen3GenerateModel, qwen3_5::generate::Qwen3_5GenerateModel,
qwen3_asr::generate::Qwen3AsrGenerateModel, qwen3vl::generate::Qwen3VLGenerateModel,
@@ -74,7 +76,8 @@ pub trait GenerateModel {
pub enum ModelInstance<'a> {
AllMiniLML6V2(AllMiniLML6V2Embedding),
MiniCPM4(MiniCPMGenerateModel<'a>),
MiniCPM4(MiniCPM4GenerateModel<'a>),
MiniCPM5(MiniCPM5GenerateModel<'a>),
Lfm2(Lfm2GenerateModel<'a>),
Lfm2VL(Lfm2VLGenerateModel<'a>),
Qwen2_5VL(Qwen2_5VLGenerateModel<'a>),
@@ -101,6 +104,7 @@ impl<'a> GenerateModel for ModelInstance<'a> {
Err(anyhow!("embedding model does not support chat completions"))
}
ModelInstance::MiniCPM4(model) => model.generate(mes),
ModelInstance::MiniCPM5(model) => model.generate(mes),
ModelInstance::Lfm2(model) => model.generate(mes),
ModelInstance::Lfm2VL(model) => model.generate(mes),
ModelInstance::Qwen2_5VL(model) => model.generate(mes),
@@ -143,6 +147,7 @@ impl<'a> GenerateModel for ModelInstance<'a> {
Err(anyhow!("embedding model does not support chat completions"))
}
ModelInstance::MiniCPM4(model) => model.generate_stream(mes),
ModelInstance::MiniCPM5(model) => model.generate_stream(mes),
ModelInstance::Lfm2(model) => model.generate_stream(mes),
ModelInstance::Lfm2VL(model) => model.generate_stream(mes),
ModelInstance::Qwen2_5VL(model) => model.generate_stream(mes),
@@ -218,9 +223,13 @@ pub fn load_model<'a>(
ModelInstance::AllMiniLML6V2(model)
}
WhichModel::MiniCPM4_0_5B => {
let model = MiniCPMGenerateModel::init(path, device, dtype)?;
let model = MiniCPM4GenerateModel::init(path, device, dtype)?;
ModelInstance::MiniCPM4(model)
}
WhichModel::MiniCPM5_1B => {
let model = MiniCPM5GenerateModel::init(path, device, dtype)?;
ModelInstance::MiniCPM5(model)
}
WhichModel::LFM2_1_2B | WhichModel::LFM2_5_1_2BInstruct => {
let model = Lfm2GenerateModel::init(path, device, dtype)?;
ModelInstance::Lfm2(model)