From 04122d0a2475c16cb4dde6cd47a1475d74954c37 Mon Sep 17 00:00:00 2001 From: Concedo <39025047+LostRuins@users.noreply.github.com> Date: Wed, 17 Dec 2025 23:12:25 +0800 Subject: [PATCH] projector tags --- gpttype_adapter.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/gpttype_adapter.cpp b/gpttype_adapter.cpp index 2577222f7..6552561fd 100644 --- a/gpttype_adapter.cpp +++ b/gpttype_adapter.cpp @@ -3461,8 +3461,24 @@ generation_outputs gpttype_generate(const generation_inputs inputs) media_object lv; lv.b64data = item; lv.is_audio = false; - TokenizeString("", lv.chunk_start_seq, file_format, false); - TokenizeString("\n\n", lv.chunk_end_seq, file_format, false); + std::string img_start = ""; + std::string img_end = "\n\n"; + if(clp_ctx_v) + { + int ptype = clip_get_projector_type_ext(clp_ctx_v); + if(ptype == PROJECTOR_TYPE_QWEN2VL || ptype == PROJECTOR_TYPE_QWEN25VL || ptype == PROJECTOR_TYPE_QWEN3VL) //qwen + { + img_start = "<|vision_start|>"; + img_end = "<|vision_end|>\n\n"; + } + else if(ptype==PROJECTOR_TYPE_GLM4V) + { + img_start = "<|begin_of_image|>"; + img_end = "<|end_of_image|>\n\n"; + } + } + TokenizeString(img_start, lv.chunk_start_seq, file_format, false); + TokenizeString(img_end, lv.chunk_end_seq, file_format, false); media_objects.push_back(lv); new_media_composite += item; } @@ -3480,12 +3496,12 @@ generation_outputs gpttype_generate(const generation_inputs inputs) if(clp_ctx_a) { int ptype = clip_get_projector_type_ext(clp_ctx_a); - if(ptype==14) //qwen omni + if(ptype==PROJECTOR_TYPE_QWEN2A) //qwen omni { aud_start = "<|audio_bos|>"; aud_end = "<|audio_eos|>\n"; } - else if(ptype==16) //voxtral + else if(ptype==PROJECTOR_TYPE_VOXTRAL) //voxtral { aud_start = "[INST][BEGIN_AUDIO]"; aud_end = "[/INST]\n";