From 625f2cd5255eb212a88ef608f6a9ec40f3e24693 Mon Sep 17 00:00:00 2001 From: Isotr0py Date: Sat, 6 Jun 2026 11:25:44 +0800 Subject: [PATCH] correct qwen2-vl image_token Signed-off-by: Isotr0py --- src/registry/qwen_vl.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/registry/qwen_vl.rs b/src/registry/qwen_vl.rs index 6ad19ab..8270b5a 100644 --- a/src/registry/qwen_vl.rs +++ b/src/registry/qwen_vl.rs @@ -13,10 +13,10 @@ pub(super) struct QwenVLVisionSpec; impl QwenVLVisionSpec { fn pad_token_id(metadata: &ModelMetadata) -> RegistryResult { metadata - .config_u32(&["vision_token_id"]) + .config_u32(&["image_token_id"]) .map(|v| v as TokenId) .ok_or_else(|| ModelRegistryError::MissingConfigField { - field: "vision_token_id".to_string(), + field: "image_token_id".to_string(), }) } } @@ -35,7 +35,7 @@ impl ModelProcessorSpec for QwenVLVisionSpec { } fn placeholder_token(&self, _metadata: &ModelMetadata) -> RegistryResult { - Ok("".to_string()) + Ok("<|image_pad|>".to_string()) } fn placeholder_token_id(&self, metadata: &ModelMetadata) -> RegistryResult { @@ -104,7 +104,7 @@ mod tests { #[test] fn qwen_vision_uses_config_token_ids() { - let tokenizer = TestTokenizer::new(&[("", 999)]); + let tokenizer = TestTokenizer::new(&[("<|image_pad|>", 151655)]); let config = json!({ "model_type": "qwen2_vl", "vision_start_token_id": 151652, @@ -128,13 +128,13 @@ mod tests { .unwrap(); // Only pad tokens — vision_start/vision_end are already in the chat template assert_eq!(replacements[0].tokens.len(), 256); - assert_eq!(replacements[0].tokens[0], 151654); // pad (vision_token_id) - assert_eq!(*replacements[0].tokens.last().unwrap(), 151654); + assert_eq!(replacements[0].tokens[0], 151655); // pad (image_token_id) + assert_eq!(*replacements[0].tokens.last().unwrap(), 151655); } #[test] fn qwen_vl_matches_alias_via_model_type() { - let tokenizer = TestTokenizer::new(&[("", 999)]); + let tokenizer = TestTokenizer::new(&[("<|image_pad|>", 151655)]); let config = json!({ "model_type": "qwen2_vl", "vision_start_token_id": 151652,