本地 Claude Code + Gemma 4 12B 报错修复记录
2026/6/7 12:12:12 网站建设 项目流程

本地 Claude Code + Gemma 4 12B 报错修复记录

问题现象

在本地部署 Claude Code,通过cc switch中转连接 LM Studio 运行的gemma-4-12b-it-ud模型时,API 请求直接报错:

{"error":{"message":"Error rendering prompt with jinja template: "Cannot call something that is not afunction:got UndefinedValue"","type":"internal_error"}}

LM Studio 的 GUI 聊天界面正常,唯独 API 调用(Claude Code / cc switch)会触发。


环境链路

Claude Code → cc switch → LM Studio (v0.4.16) → gemma-4-12b-it-ud

根本原因

LM Studio 0.4.16 内置的 Gemma 4 提示词模板中到处调用了format_type_argument宏,但从未定义它。当通过 API 发送请求(尤其是带tools参数时),Jinja 模板引擎执行到未定义的宏,直接抛出UndefinedValue错误。

这是 LM Studio 的已知 Bug,GUI 聊天和 API 路径的模板渲染逻辑不同,所以只有 API 调用会中招。


解决方案

第一步:进入模型设置

在 LM Studio 的Local Server页面 →Loaded Models中找到gemma-4-12b-it-ud→ 点击右侧⚙️ 齿轮图标进入Model Settings

第二步:覆盖 Prompt Template

找到Prompt Template区域,将下拉选项从Default改为Override

第三步:插入缺失的宏(关键)

在模板文本框的最顶部(第一个format_parameters宏之前),手动输入以下 3 行:

{%- macro format_type_argument(type_arg) -%} {{- type_arg if type_arg is string else format_argument(type_arg) -}} {%- endmacro -%}

注意:

  • 只加这 3 行,其余模板内容完全不要动
  • 不要用富文本编辑器粘贴,避免引入不可见字符
  • 确保{%--%}的减号位置正确

插入后,模板顶部结构应为:

{%- macro format_type_argument(type_arg) -%} {{- type_arg if type_arg is string else format_argument(type_arg) -}} {%- endmacro -%} {%- macro format_parameters(properties, required, filter_keys=false) -%} ...(原有内容保持不变)

第四步:保存并生效

点击Save→ 回到 Local Server →Eject模型再重新Load Model(或点击刷新)。


验证修复

用 curl 直接测试 LM Studio API:

curlhttp://localhost:1234/v1/chat/completions\-H"Content-Type: application/json"\-d'{ "model": "gemma-4-12b-it-ud", "messages": [{"role": "user", "content": "Hello"}] }'

如果返回正常文本而非UndefinedValue,Claude Code 和 cc switch 就能正常工作了。


避坑提醒

坑点说明
不要全量替换模板网上复制的完整模板版本可能包含格式错误,导致Parser Error: CloseStatement !== CloseExpression。只插入缺失的 3 行宏是最安全的做法。
cc switch 配置确保指向 LM Studio 的 OpenAI 兼容端点http://localhost:1234/v1,而非 Anthropic 原生格式。
社区版模型如果不想手动修模板,可从lmstudio-community重新下载同名模型,通常已修复此问题。

一句话总结

LM Studio 0.4.16 的 Gemma 4 模板缺了个宏定义,在模板最顶部补上format_type_argument宏即可解决,其余内容不要动。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询