diff --git a/src/models/qwen2_5vl/generate.rs b/src/models/qwen2_5vl/generate.rs index 7dd65a7..63c9376 100644 --- a/src/models/qwen2_5vl/generate.rs +++ b/src/models/qwen2_5vl/generate.rs @@ -222,9 +222,9 @@ impl<'a> GenerateModel for Qwen2_5VLGenerateModel<'a> { "" => { // 结束工具调用 let chunk = build_completion_chunk_response( - decoded_token, - &self.model_name, - tool_call_id.clone(), + decoded_token, + &self.model_name, + tool_call_id.clone(), Some(tool_call_content.clone()) ); tool_call_id = None; @@ -245,15 +245,15 @@ impl<'a> GenerateModel for Qwen2_5VLGenerateModel<'a> { } else { // 正常文本输出 let chunk = build_completion_chunk_response( - decoded_token, - &self.model_name, - None, + decoded_token, + &self.model_name, + None, None ); yield Ok(chunk); } } - } + } // let chunk = build_completion_chunk_response(decoded_token, &self.model_name, None, None); // yield Ok(chunk); if next_token == self.endoftext_id || next_token == self.im_end_id { diff --git a/src/models/qwen2_5vl/processor.rs b/src/models/qwen2_5vl/processor.rs index 58d8039..53e3da8 100644 --- a/src/models/qwen2_5vl/processor.rs +++ b/src/models/qwen2_5vl/processor.rs @@ -72,9 +72,9 @@ impl Qwen2_5VLProcessor { if let ChatMessageContentPart::Image(img_part) = part { let img_url = img_part.image_url; vision_map.get_mut("image").unwrap().push(img_url.url); - // } else if let ChatMessageContentPart::Video(video_part) = part { - // let video_url = video_part.video_url; - // vision_map.get_mut("video").unwrap().push(video_url.url); + // } else if let ChatMessageContentPart::Video(video_part) = part { + // let video_url = video_part.video_url; + // vision_map.get_mut("video").unwrap().push(video_url.url); } } } diff --git a/src/utils/mod.rs b/src/utils/mod.rs index b90d19b..95a45c2 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -137,24 +137,23 @@ pub fn ceil_by_factor(num: f32, factor: u32) -> u32 { ceil * factor } -pub fn build_completion_response(res: String, model_name: &str, num_tokens: Option) -> ChatCompletionResponse { +pub fn build_completion_response( + res: String, + model_name: &str, + num_tokens: Option, +) -> ChatCompletionResponse { let id = uuid::Uuid::new_v4().to_string(); - let usage = match num_tokens { - Some(num) => { - Some(Usage { - input_tokens: None, - input_tokens_details: None, - output_tokens: None, - output_tokens_details: None, - prompt_tokens: None, - completion_tokens: None, - total_tokens: num, - prompt_tokens_details: None, - completion_tokens_details: None - }) - }, - None => None, - }; + let usage = num_tokens.map(|num| Usage { + input_tokens: None, + input_tokens_details: None, + output_tokens: None, + output_tokens_details: None, + prompt_tokens: None, + completion_tokens: None, + total_tokens: num, + prompt_tokens_details: None, + completion_tokens_details: None, + }); let mut response = ChatCompletionResponse { id: Some(id), choices: vec![], @@ -163,7 +162,7 @@ pub fn build_completion_response(res: String, model_name: &str, num_tokens: Opti service_tier: None, system_fingerprint: None, object: "chat.completion".to_string(), - usage + usage, }; let choice = if res.contains("") { let mes: Vec<&str> = res.split("").collect(); diff --git a/tests/test_deepseek_ocr.rs b/tests/test_deepseek_ocr.rs index 6274993..e73dee1 100644 --- a/tests/test_deepseek_ocr.rs +++ b/tests/test_deepseek_ocr.rs @@ -48,7 +48,7 @@ fn deepseek_ocr_generate() -> Result<()> { let tps = num_token as f64 / duration_secs; println!("Tokens per second (TPS): {:.2}", tps); } - println!("Time elapsed in generate is: {:?}", i_duration); + println!("Time elapsed in generate is: {:?}", i_duration); Ok(()) } diff --git a/tests/test_hunyuan_ocr.rs b/tests/test_hunyuan_ocr.rs index 5b14ba8..adf887e 100644 --- a/tests/test_hunyuan_ocr.rs +++ b/tests/test_hunyuan_ocr.rs @@ -48,7 +48,7 @@ fn hunyuan_ocr_generate() -> Result<()> { println!("Tokens per second (TPS): {:.2}", tps); } println!("Time elapsed in generate is: {:?}", i_duration); - + Ok(()) } diff --git a/tests/test_paddleocr_vl.rs b/tests/test_paddleocr_vl.rs index 571cbfd..834a396 100644 --- a/tests/test_paddleocr_vl.rs +++ b/tests/test_paddleocr_vl.rs @@ -48,7 +48,7 @@ fn paddleocr_vl_generate() -> Result<()> { let tps = num_token as f64 / duration_secs; println!("Tokens per second (TPS): {:.2}", tps); } - println!("Time elapsed in generate is: {:?}", i_duration); + println!("Time elapsed in generate is: {:?}", i_duration); Ok(()) } diff --git a/tests/test_qwen2_5vl.rs b/tests/test_qwen2_5vl.rs index d0863d1..d0423be 100644 --- a/tests/test_qwen2_5vl.rs +++ b/tests/test_qwen2_5vl.rs @@ -45,7 +45,7 @@ fn qwen2_5vl_generate() -> Result<()> { println!("Time elapsed in load model is: {:?}", i_duration); let i_start = Instant::now(); - let result = model.generate(mes)?; + let result = model.generate(mes)?; let i_duration = i_start.elapsed(); println!("generate: \n {:?}", result); if result.usage.is_some() { diff --git a/tests/test_robo_brain.rs b/tests/test_robo_brain.rs index 2cd02a7..2352c14 100644 --- a/tests/test_robo_brain.rs +++ b/tests/test_robo_brain.rs @@ -35,7 +35,7 @@ fn robo_brain_generate() -> Result<()> { let i_start = Instant::now(); let result = model.generate(mes)?; let i_duration = i_start.elapsed(); - println!("generate: \n {:?}", result); + println!("generate: \n {:?}", result); if result.usage.is_some() { let num_token = result.usage.as_ref().unwrap().total_tokens; let duration_secs = i_duration.as_secs_f64();