update fmt
This commit is contained in:
@@ -222,9 +222,9 @@ impl<'a> GenerateModel for Qwen2_5VLGenerateModel<'a> {
|
||||
"</tool_call>" => {
|
||||
// 结束工具调用
|
||||
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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+17
-18
@@ -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<u32>) -> ChatCompletionResponse {
|
||||
pub fn build_completion_response(
|
||||
res: String,
|
||||
model_name: &str,
|
||||
num_tokens: Option<u32>,
|
||||
) -> 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("<tool_call>") {
|
||||
let mes: Vec<&str> = res.split("<tool_call>").collect();
|
||||
|
||||
@@ -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(())
|
||||
}
|
||||
|
||||
|
||||
@@ -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(())
|
||||
}
|
||||
|
||||
|
||||
@@ -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(())
|
||||
}
|
||||
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user