add MiniCPM5-1B
This commit is contained in:
@@ -4,6 +4,7 @@ use aha::models::{
|
||||
lfm2::config::Lfm2Config,
|
||||
lfm2vl::config::{Lfm2ProcessorConfig, Lfm2VLConfig},
|
||||
minicpm4::config::MiniCPM4Config,
|
||||
minicpm5::config::MiniCPM5Config,
|
||||
moss_audio_tokenizer_nano::config::MossAudioTokenizerConfig,
|
||||
moss_tts_nano::config::MossTTSConfig,
|
||||
paddleocr_vl::config::PaddleOCRVLConfig,
|
||||
@@ -139,3 +140,13 @@ fn moss_tts_config() -> Result<()> {
|
||||
println!("{:?}", config);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn minicpm5_config() -> Result<()> {
|
||||
// cargo test -F cuda --test config_tests minicpm5_config -r -- --nocapture
|
||||
let model_path = "/home/jhq/.aha/OpenBMB/MiniCPM5-1B/";
|
||||
let config_path = model_path.to_string() + "/config.json";
|
||||
let config: MiniCPM5Config = serde_json::from_slice(&std::fs::read(config_path)?)?;
|
||||
println!("{:?}", config);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use std::{pin::pin, time::Instant};
|
||||
|
||||
use aha::models::{GenerateModel, minicpm4::generate::MiniCPMGenerateModel};
|
||||
use aha::models::{GenerateModel, minicpm4::generate::MiniCPM4GenerateModel};
|
||||
use aha::params::chat::ChatCompletionParameters;
|
||||
use anyhow::Result;
|
||||
use rocket::futures::StreamExt;
|
||||
@@ -29,7 +29,7 @@ fn minicpm_generate() -> Result<()> {
|
||||
"#;
|
||||
let mes: ChatCompletionParameters = serde_json::from_str(message)?;
|
||||
let i_start = Instant::now();
|
||||
let mut model = MiniCPMGenerateModel::init(&model_path, None, None)?;
|
||||
let mut model = MiniCPM4GenerateModel::init(&model_path, None, None)?;
|
||||
let i_duration = i_start.elapsed();
|
||||
println!("Time elapsed in load model is: {:?}", i_duration);
|
||||
|
||||
@@ -62,7 +62,7 @@ async fn minicpm_stream() -> Result<()> {
|
||||
"#;
|
||||
let mes: ChatCompletionParameters = serde_json::from_str(message)?;
|
||||
let i_start = Instant::now();
|
||||
let mut model = MiniCPMGenerateModel::init(&model_path, None, None)?;
|
||||
let mut model = MiniCPM4GenerateModel::init(&model_path, None, None)?;
|
||||
let i_duration = i_start.elapsed();
|
||||
println!("Time elapsed in load model is: {:?}", i_duration);
|
||||
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
use std::time::Instant;
|
||||
|
||||
use aha::{
|
||||
models::{GenerateModel, minicpm5::generate::MiniCPM5GenerateModel},
|
||||
params::chat::ChatCompletionParameters,
|
||||
};
|
||||
use anyhow::Result;
|
||||
#[test]
|
||||
fn minicpm5_generate() -> Result<()> {
|
||||
// test with cuda: RUST_BACKTRACE=1 cargo test -F cuda --test test_minicpm5 minicpm5_generate -r -- --nocapture
|
||||
|
||||
let save_dir =
|
||||
aha::utils::get_default_save_dir().ok_or(anyhow::anyhow!("Failed to get save dir"))?;
|
||||
let model_path = format!("{}/OpenBMB/MiniCPM5-1B/", save_dir);
|
||||
let message = r#"
|
||||
{
|
||||
"temperature": 0.3,
|
||||
"top_p": 0.8,
|
||||
"model": "minicpm4",
|
||||
"messages": [
|
||||
{
|
||||
"role": "user",
|
||||
"content": "什么是AI"
|
||||
}
|
||||
],
|
||||
"enable_thinking": true
|
||||
}
|
||||
"#;
|
||||
let mes: ChatCompletionParameters = serde_json::from_str(message)?;
|
||||
let i_start = Instant::now();
|
||||
let mut model = MiniCPM5GenerateModel::init(&model_path, None, None)?;
|
||||
let i_duration = i_start.elapsed();
|
||||
println!("Time elapsed in load model is: {:?}", i_duration);
|
||||
|
||||
let res = model.generate(mes)?;
|
||||
println!("generate: \n {:?}", res);
|
||||
if let Some(usage) = &res.usage {
|
||||
println!("usage: \n {:?}", usage);
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user