@ondeinference / onde / commits / d23c8cb

Add Qwen 2.5 Coder 7B (GGUF Q4_K_M) model support

- Adds model constants and metadata for Qwen 2.5 Coder 7B Instruct - Implements GgufModelConfig::qwen25_coder_7b() constructor - Registers model in SUPPORTED_MODELS and SUPPORTED_MODEL_INFO - Enables tokenizer mapping for Android

keypair34 committed Apr 26, 2026 at 07:11 UTC d23c8cb7d4f7f3aaf2ca820db8f4e9c21b822cb3
2 files changed +41
src/inference/engine.rs
+19
@@ -1956,6 +1956,25 @@ impl GgufModelConfig {
1956 }
1957 }
1958
1959 + /// Qwen 2.5 Coder 7B Instruct (GGUF Q4_K_M) — ~4.4 GB.
1960 + ///
1961 + /// Strong coding model with tool/function calling support via the Qwen2.5
1962 + /// chat template. Uses the `qwen2` architecture. Requires 8+ GB RAM.
1963 + pub fn qwen25_coder_7b() -> Self {
1964 + Self {
1965 + model_id: super::models::BARTOWSKI_QWEN25_CODER_7B_INSTRUCT_GGUF.into(),
1966 + files: vec![super::models::QWEN25_CODER_7B_GGUF_FILE.into()],
1967 + tok_model_id: if cfg!(target_os = "android") {
1968 + Some(super::models::QWEN25_CODER_7B_TOK_MODEL_ID.into())
1969 + } else {
1970 + None
1971 + },
1972 + display_name: "Qwen 2.5 Coder 7B (Q4_K_M)".into(),
1973 + approx_memory: "~4.4 GB".into(),
1974 + chat_template: None,
1975 + }
1976 + }
1977 +
1978 /// Qwen 3 4B Instruct (GGUF Q4_K_M) — ~2.7 GB.
1979 ///
1980 /// Full OpenAI-compatible tool calling with extended thinking mode.
src/inference/models.rs
+22
@@ -52,6 +52,18 @@ pub const QWEN25_CODER_3B_GGUF_FILE: &str = "Qwen2.5-Coder-3B-Instruct-Q4_K_M.gg
52 /// Base model repo used for the HF tokenizer on Android.
53 pub const QWEN25_CODER_3B_TOK_MODEL_ID: &str = "Qwen/Qwen2.5-Coder-3B-Instruct";
54
55 +/// Pre-quantized Qwen 2.5 Coder 7B Instruct (GGUF Q4_K_M) — strong coding model with tool calling (~4.4 GB).
56 +///
57 +/// Uses the `qwen2` GGUF architecture. Trained on 5.5T tokens of code/math data with
58 +/// fill-in-the-middle and repo-level code understanding. Supports function/tool calling
59 +/// via the Qwen2.5 chat template. Requires ~8 GB RAM.
60 +pub const BARTOWSKI_QWEN25_CODER_7B_INSTRUCT_GGUF: &str =
61 + "bartowski/Qwen2.5-Coder-7B-Instruct-GGUF";
62 +/// The specific GGUF filename to download from the bartowski Coder 7B repo.
63 +pub const QWEN25_CODER_7B_GGUF_FILE: &str = "Qwen2.5-Coder-7B-Instruct-Q4_K_M.gguf";
64 +/// Base model repo used for the HF tokenizer on Android.
65 +pub const QWEN25_CODER_7B_TOK_MODEL_ID: &str = "Qwen/Qwen2.5-Coder-7B-Instruct";
66 +
67 /// Pre-quantized Qwen 2.5 3B Instruct (GGUF Q4_K_M) — balanced option (~1.93 GB).
68 /// Ideal for macOS desktops and Android devices with sufficient RAM.
69 /// Not recommended as default on iOS: the 3B variant caused OOM on iPhone 16e (8 GB RAM)
@@ -110,6 +122,7 @@ pub const SUPPORTED_MODELS: &[&str] = &[
122 BARTOWSKI_QWEN3_4B_GGUF,
123 BARTOWSKI_QWEN3_8B_GGUF,
124 BARTOWSKI_QWEN3_1_7B_GGUF,
125 + BARTOWSKI_QWEN25_CODER_7B_INSTRUCT_GGUF,
126 THEBLOKE_DEEPSEEK_CODER_6_7B_INSTRUCT_GGUF,
127 ];
128
@@ -184,6 +197,14 @@ pub const SUPPORTED_MODEL_INFO: &[SupportedModelInfo] = &[
197 Smallest Qwen 3 variant with tool calling support.",
198 expected_size_bytes: 1_282_439_584,
199 },
200 + SupportedModelInfo {
201 + id: BARTOWSKI_QWEN25_CODER_7B_INSTRUCT_GGUF,
202 + name: "Qwen 2.5 Coder 7B (GGUF)",
203 + org: "Qwen / Alibaba",
204 + description: "Strong coding model with tool calling support (~4.4 GB). \
205 + Trained on 5.5T code tokens. Requires 8+ GB RAM.",
206 + expected_size_bytes: 4_683_074_336,
207 + },
208 SupportedModelInfo {
209 id: THEBLOKE_DEEPSEEK_CODER_6_7B_INSTRUCT_GGUF,
210 name: "DeepSeek Coder 6.7B (GGUF)",
@@ -206,6 +227,7 @@ pub fn tok_model_id_for_repo(hf_repo_id: &str) -> Option<&'static str> {
227 BARTOWSKI_QWEN25_3B_INSTRUCT_GGUF => Some(QWEN25_3B_TOK_MODEL_ID),
228 BARTOWSKI_QWEN25_CODER_1_5B_INSTRUCT_GGUF => Some(QWEN25_CODER_1_5B_TOK_MODEL_ID),
229 BARTOWSKI_QWEN25_CODER_3B_INSTRUCT_GGUF => Some(QWEN25_CODER_3B_TOK_MODEL_ID),
230 + BARTOWSKI_QWEN25_CODER_7B_INSTRUCT_GGUF => Some(QWEN25_CODER_7B_TOK_MODEL_ID),
231 THEBLOKE_DEEPSEEK_CODER_6_7B_INSTRUCT_GGUF => Some(DEEPSEEK_CODER_6_7B_TOK_MODEL_ID),
232 _ => None,
233 }