From 385f18dbf5c40f7db862b146b85a46c9ff568c51 Mon Sep 17 00:00:00 2001 From: yyualvin <136134023+yyualvin@users.noreply.github.com> Date: Thu, 3 Sep 2026 15:05:50 -0400 Subject: [PATCH] feat: add support for GLM models --- src/coding_agent_bench/models/__init__.py | 2 ++ src/coding_agent_bench/models/configs.py | 15 +++++++++++++++ tests/test_models.py | 17 +++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 tests/test_models.py diff --git a/src/coding_agent_bench/models/__init__.py b/src/coding_agent_bench/models/__init__.py index c5a4a8c..ca6f10f 100644 --- a/src/coding_agent_bench/models/__init__.py +++ b/src/coding_agent_bench/models/__init__.py @@ -6,6 +6,7 @@ RedHatAI_Mistral_Small_4_119B_2603_NVFP4, RedHatAI_NVIDIA_Nemotron_3_Super_120B_A12B_NVFP4, RedHatAI_Qwen3_6_27B_FP8, + ZaiOrg_GLM_5_2_FP8, ) MODEL_CONFIGS: list[type[ModelConfig]] = [ @@ -15,6 +16,7 @@ RedHatAI_Mistral_Small_4_119B_2603_NVFP4, RedHatAI_NVIDIA_Nemotron_3_Super_120B_A12B_NVFP4, RedHatAI_Qwen3_6_27B_FP8, + ZaiOrg_GLM_5_2_FP8, ] MODEL_REGISTRY: dict[str, ModelConfig] = {cls.name: cls() for cls in MODEL_CONFIGS} diff --git a/src/coding_agent_bench/models/configs.py b/src/coding_agent_bench/models/configs.py index 7e4a5bd..ab1d6a3 100644 --- a/src/coding_agent_bench/models/configs.py +++ b/src/coding_agent_bench/models/configs.py @@ -14,6 +14,21 @@ class Qwen_Qwen3_8_27B(ModelConfig): "--mm-encoder-tp-mode", "data", ] + +class ZaiOrg_GLM_5_2_FP8(ModelConfig): + + name = "zai-org/GLM-5.2-FP8" + model_max_len = 131072 + args = [ + "--model", "zai-org/GLM-5.2-FP8", + "--max-model-len", "131072", + "--kv-cache-dtype", "fp8", + "--enable-auto-tool-choice", + "--tool-call-parser", "glm47", + "--reasoning-parser", "glm45", + ] + + class RedHatAI_gemma_4_31B_it_FP8_block(ModelConfig): name = "RedHatAI/gemma-4-31B-it-FP8-block" diff --git a/tests/test_models.py b/tests/test_models.py new file mode 100644 index 0000000..1a2e2ed --- /dev/null +++ b/tests/test_models.py @@ -0,0 +1,17 @@ +from coding_agent_bench.models import get_model_config + + +def test_glm_5_2_fp8_model_config() -> None: + config = get_model_config("zai-org/GLM-5.2-FP8") + + assert config.name == "zai-org/GLM-5.2-FP8" + assert config.model_max_len == 131072 + assert config.image == "vllm/vllm-openai:v0.24.0" + assert config.args == [ + "--model", "zai-org/GLM-5.2-FP8", + "--max-model-len", "131072", + "--kv-cache-dtype", "fp8", + "--enable-auto-tool-choice", + "--tool-call-parser", "glm47", + "--reasoning-parser", "glm45", + ]