Ollama 一直给人的印象是「本地跑 LLM」的命令行工具,v0.40.11 这版加了两个方向不太一样的能力:一个是 macOS 上的语音输出,让本地模型「开口」;一个是 d3 决策模型,专门做分类、是非判断和打分,而不是闲聊。这两样对做本地 Agent 的人都有用,分开说。

语音输出

语音能力基于 phonon 这个模型,它在 macOS 上把文字转成语音,而且是边生成边流式朗读——文本还没念完,声音就开始放了。语音模型用的是 Gradium 的 31M 英文 checkpoint,自带几个英文声音(Zoey、Easton、Freya),不指定就用默认音色。命令行用法很直白:

ollama run phonon "Hello from Ollama."          # 朗读一段文字
ollama run phonon --voice Zoey "Hi, this is Zoey."   # 指定声音
echo "Text from another program" | ollama run phonon  # 朗读别的程序的输出

更有意思的是管道组合:把一个聊天模型的输出接给 phonon,就能边生成边念出来,第一两句说完就开始播。当输出被重定向时,它不播放而是写成一个 WAV 文件,没有扬声器的服务器也能用:

# 把聊天模型的回答边生成边念出来
ollama run gemma4 --hidethinking "Tell me a fun fact about owls." | ollama run phonon
# 重定向则落盘成 WAV,而不是播放
ollama run phonon "Save this to a file." > speech.wav

对应用来说,走 OpenAI 兼容的 /v1/audio/speech 接口流式拿音频:

curl http://localhost:11434/v1/audio/speech   -H "Content-Type: application/json"   -d '{"model": "phonon", "input": "Hello from Ollama.", "voice": "default"}'   --output speech.wav

注意边界:语音是 macOS 能力,播放端在 macOS 走 afplay、Linux 走 paplay/aplay 这类系统播放器,但官方发布说明里点名的生成能力是 macOS。

d3 决策模型

d3 是另一类东西。它不是聊天模型,而是 vLLM Semantic Router 那套「决策模型」进 Ollama 的版本:给它文本、结构化状态或一张图片,让它做分类、回答是或否、或者给选项打分,返回的是分数和概率,不写对话式回答。典型的用法是路由工单、文档分诊、优先级排序,或者判断一张图是否满足某个标准。家族有 2B、4B、9B、27B 四档,默认 d3 跑的是 4B,256K 上下文,支持文本和图片输入。

# 是非判断:是不是账单问题?
ollama run d3 "A customer says their card was charged twice."   --ask "Is this a billing issue?"

# 多选分类:该派给哪个团队?
ollama run d3 "A customer says their card was charged twice."   --ask "Which team should handle this?"   --choice 'billing=Invoices and charges'   --choice 'returns=Refunds and replacements'   --choice 'technical=App errors'

同一个输入可以一次问好几个问题。这跟「拿一个通用 LLM 做分类」的区别在于:d3 不生成自由文本,输出天生就是结构化分数,省掉了让模型输出 JSON 再解析、再担心它跑偏的那一步。对「路由」这类高频、低延迟、要可复现的决策,专用模型比通用模型的 prompt 工程要省心得多。

d3 吃的不只是纯文本,还有结构化状态和图片;它的输出也不是一句解释,而是每个选项的分数和概率——这正好是路由、分诊、质检这类场景要的东西。把决策从「让通用模型输出 JSON」里解放出来,好处有两层:一是稳定,不用再跟 prompt 里的「只输出 JSON」较劲;二是可复现,同一个输入给出来的是确定的分数,而不是每次措辞都不同的回答。对要做本地 Agent 编排的人,d3 适合当网关前那道「分类闸门」:先把请求分到对的处理器,再让专用模型做剩下的事。语音那侧,phonon 适合做本地播报、边生成边听的交互原型,但它是英文 TTS,中文场景不在能力范围内,选之前先确认这个前提。

选型怎么选

需求 用什么
让本地模型朗读/出语音 phonon(macOS)
分类、是非判断、打分 d3(2B/4B/9B/27B)
少量文本+图片的判断 d3(支持图片输入)
生成式的对话回答 还是用常规 LLM,别用 d3

d3 的 4B 在 16GB 机器上就能起步,2B 更轻、27B 更稳,按任务精度和显存选。要注意 d3 需要 Ollama 0.4 及以上。两样都装的话,phonon 和 d3 还能串起来:d3 先判断意图,phonon 再把结果念出来。

不适合谁

两个能力的边界都很清楚。phonon 目前是英文语音,做中文 TTS 的场景别指望它;而且生成能力聚焦 macOS,跨平台的语音方案得另找。d3 不做生成式回答,你要是想让它「解释一下为什么这么分类」,它不是干这个的——它只给分数和概率,解释得你自己用常规模型补。对这两类需求,这版更新解决的是「语音」和「结构化决策」这两个很具体的点,而不是要抢谁的地盘。