Merge branch 'upstream' into concedo_experimental

# Conflicts:
#	docs/development/HOWTO-add-model.md
#	docs/multimodal.md
#	ggml/src/ggml-sycl/convert.cpp
#	ggml/src/ggml-sycl/dequantize.hpp
#	ggml/src/ggml-sycl/element_wise.cpp
#	ggml/src/ggml-sycl/gated_delta_net.cpp
#	ggml/src/ggml-sycl/ggml-sycl.cpp
#	ggml/src/ggml-sycl/upscale.cpp
#	ggml/src/ggml-webgpu/ggml-webgpu.cpp
#	tests/test-backend-ops.cpp
#	tests/test-llama-archs.cpp
#	tools/mtmd/CMakeLists.txt
This commit is contained in:
Concedo
2026-04-14 20:06:04 +08:00
53 changed files with 3214 additions and 720 deletions
+10 -1
View File
@@ -2123,6 +2123,7 @@ void kcpp_init_audio_proj(clip_ctx * ctx_a)
switch (proj) {
case PROJECTOR_TYPE_QWEN2A:
case PROJECTOR_TYPE_QWEN25O:
case PROJECTOR_TYPE_QWEN3A:
case PROJECTOR_TYPE_ULTRAVOX:
case PROJECTOR_TYPE_VOXTRAL:
case PROJECTOR_TYPE_GLMA:
@@ -2133,6 +2134,9 @@ void kcpp_init_audio_proj(clip_ctx * ctx_a)
case PROJECTOR_TYPE_LFM2A:
audio_preproc = std::make_unique<mtmd_audio_preprocessor_conformer>(ctx_a);
break;
case PROJECTOR_TYPE_GEMMA4A:
audio_preproc = std::make_unique<mtmd_audio_preprocessor_gemma4a>(ctx_a);
break;
default:
GGML_ABORT("unsupported audio projector type");
}
@@ -3700,7 +3704,7 @@ generation_outputs gpttype_generate(const generation_inputs inputs)
if(clp_ctx_a)
{
int ptype = clip_get_projector_type_ext(clp_ctx_a);
if(ptype==PROJECTOR_TYPE_QWEN2A) //qwen omni
if(ptype==PROJECTOR_TYPE_QWEN2A || ptype==PROJECTOR_TYPE_QWEN3A || ptype==PROJECTOR_TYPE_QWEN25O) //qwen omni
{
aud_start = "<|audio_bos|>";
aud_end = "<|audio_eos|>\n";
@@ -3710,6 +3714,11 @@ generation_outputs gpttype_generate(const generation_inputs inputs)
aud_start = "[INST][BEGIN_AUDIO]";
aud_end = "[/INST]\n";
}
else if(ptype==PROJECTOR_TYPE_GEMMA4A)
{
aud_start = "<|audio>";
aud_end = "<audio|>\n";
}
}
TokenizeString(aud_start, lv.chunk_start_seq, file_format, false);