在本地跑了一下Gemma 4——8B模型居然能做函数调用了
Google以Apache 2.0开源了Gemma 4,我用Ollama亲自安装并测试了中文、结构化输出和函数调用。 一个9.6GB的本地模型,能成为Agent流水线的构建模块吗?
ollama pull gemma4——就这一行命令,9.6GB的模型就下载到了我的MacBook上。
4月2日,Google以Apache 2.0许可证开源了Gemma 4。从E2B到31B Dense一共有4种规格,但我最感兴趣的是基础的8B模型。因为我想搞清楚”在边缘端跑Agent”这句营销话术到底有几分真实。
安装真的只需一行
ollama pull gemma4
# 约9.6GB下载,Q4_K_M量化
用ollama show gemma4查看,可以看到支持的功能列表:
Capabilities
completion
vision
audio
tools
thinking
说实话我挺惊讶的。一个8B模型竟然同时支持视觉、音频、工具调用,还有thinking。这些在Gemma 3里都没有的功能,一次性全加上了。
中文还行,但也就是”还行”的水平
我让它用中文做了个自我介绍。
您好。我是一个能够准确快速回答您问题的AI。
语法上没问题。据说支持140种语言,但中文质量跟Claude或GPT-5系列比还是有差距。遇到需要复杂语境和微妙表达的问题时,回答往往比较表面。不过考虑到这是一个在本地离线运行的8B模型,也不算差了。
真正让我惊讶的是Function Calling
我认为Gemma 4这次最有意义的变化就是原生函数调用。我通过Ollama API实际测试了一下:
curl -s http://localhost:11434/api/chat -d '{
"model": "gemma4",
"messages": [{"role": "user", "content": "东京天气怎么样"}],
"tools": [{
"type": "function",
"function": {
"name": "get_weather",
"description": "查询城市的当前天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名"}
},
"required": ["city"]
}
}
}],
"stream": false
}'
响应:
{
"role": "assistant",
"content": "",
"thinking": "1. 用户问了东京的天气...\n2. get_weather工具很合适...",
"tool_calls": [{
"function": {
"name": "get_weather",
"arguments": {"city": "Tokyo"}
}
}]
}
有两点值得注意:
- thinking字段一起返回了——能看到模型为什么选择这个工具的推理过程
- 工具调用很干净——参数以正确的JSON格式输出
这为什么重要呢?因为以前用本地LLM做Agent,函数调用只能靠prompt工程来曲线救国。写个系统提示词说”请按以下格式输出”,然后解析输出,失败了就重试。Gemma 4不需要这些了。
结构化输出也表现不错
我也测试了JSON格式输出:
echo 'Answer in JSON: {"capital": "<answer>"}. What is the capital of France?' \
| ollama run gemma4
# → {"capital": "Paris"}
个人觉得到这个程度的话,可以用作MCP服务器的本地后端了。在不调用外部API、处理公司内部数据来构建Agent的场景下,对安全要求高的环境特别有价值。
那实际能拿来做什么
我想到的现实可行的应用场景有三个:
1. 离线代码审查Agent ——接收Git diff作为输入,生成代码审查评论的本地Agent。在源码不能外传的环境下特别有用。
2. 内部文档搜索+摘要 ——把RAG流水线中的LLM部分替换成Gemma 4。有128K上下文窗口,处理相当长的文档也没问题。
3. IoT/边缘设备的自然语言接口 ——据说E2B(2B)模型在树莓派5上都能跑。给智能家居控制器加上自然语言指令这种原型变得可行了。
说实话还有遗憾
我认为现在就宣称”本地Agent时代来了”还为时尚早。
第一,8B模型的推理质量瓶颈很明显。简单的工具调用没问题,但需要多步推理的复杂Agent任务肯定会频繁出错。Arena AI排行榜上31B模型排开源第三,但8B和31B之间的差距相当大。
第二,基准测试和实战的落差。OSWorld或Arena分数再好看,在实际工作环境中的稳定性是另一回事。特别是中文这种非英语语言,体感性能还会再打折扣。
第三,量化质量问题。我下载的是Q4_K_M量化版本,但相比原始FP16到底损失了多少性能,官方没有公开数据。4-bit量化的质量下降在需要推理能力的任务上感受会更明显。
代替结论
Gemma 4玩了半天,我的感受是这样的:“本地LLM终于可以当Agent工具用了。但目前还是辅助角色。”
要说我的工作流里马上能用在哪里,大概是安全敏感的内部数据处理,或者离线环境下的简单Agent任务。想把主力Agent从Claude或GPT-5.4换成Gemma 4,现在还不现实。
话说回来,一个Apache 2.0许可证、原生支持函数调用的8B模型能面世,这件事本身就很有意义。一年前在本地根本不敢期望这种水平的能力。ollama pull gemma4一行命令谁都能开始,建议自己跑跑看,在自己的使用场景里做判断。
阅读其他语言版本
- 🇰🇷 한국어
- 🇯🇵 日本語
- 🇺🇸 English
- 🇨🇳 中文(当前页面)
这篇文章有帮助吗?
您的支持能帮助我创作更好的内容。请我喝杯咖啡吧!☕