五月对于 Ollama 社区来说是激动人心的一个月!这个致力于让每个人都能轻松在本地运行强大AI模型的开源项目,在短短几周内接连发布了三项重大更新,极大地扩展了其功能和用户体验。如果你关注本地化 AI 的发展,或者已经是 Ollama 的忠实用户,那么这些新特性绝对不容错过。让我们一起来看看 Ollama 在这个五月都为我们带来了哪些惊喜。

重磅升级一:全新多模态引擎,让你的 AI “看”懂世界 (5月15日)

Ollama Multimodality

首先,Ollama 推出了全新的多模态引擎,正式宣告支持视觉模型!这意味着,你现在可以在本地通过 Ollama 运行那些不仅能理解文本,还能“看见”和分析图像的模型了。

首批支持的明星模型包括:

  • Meta Llama 4: 特别提到了其 1090 亿参数的混合专家模型 (MoE) Llama 4 Scout,能够对视频帧进行细致分析,甚至回答基于地理位置的问题。例如,你可以给它一张旧金山渡轮大厦的图片,问它看到了什么,它能准确描述钟楼、背景的海湾和远处的桥梁,还能告诉你从这里到斯坦福大学有多远,以及最佳交通方式。
  • Google Gemma 3: 演示了其处理多张图片并理解它们之间关系的能力。比如,同时给它四张包含“羊驼”的图片,它能准确识别出共同的动物是羊驼,并能对其中一张羊驼和海豚拳击的搞笑图片进行分析。
  • Qwen 2.5 VL (通义千问): 展示了其强大的文档扫描和字符识别能力,例如准确识别支票上的文字信息,甚至能理解并翻译垂直书写的中文春联。
  • Mistral Small 3.1 等更多视觉模型。

为什么需要新引擎?

Ollama 此前主要依赖 ggml/llama.cpp 项目,专注于易用性和模型可移植性。但随着多模态模型的涌现,原有的架构在支持这些复杂模型时遇到了挑战。新引擎旨在:

  1. 提升可靠性和准确性:通过模型模块化设计,每个模型都相对独立,减少了相互干扰,简化了模型集成。同时,新引擎能更准确地处理大图像产生的 token,并优化了图像的批处理和位置信息。
  2. 优化内存管理:引入了图像缓存机制,并与硬件制造商合作优化内存预估和使用,针对不同模型的特性(如 Gemma 3 的滑动窗口注意力和 Llama 4 的分块注意力)进行KV缓存优化,从而在相同硬件上实现更长的上下文或更高的并发。
  3. 为未来奠定基础:为未来支持语音、图像生成、视频生成、更长上下文以及更完善的工具支持打下坚实基础。

重磅升级二:工具调用支持流式响应,实时互动更顺畅 (5月28日)

Ollama Streaming Tool Calling

紧接着多模态引擎的发布,Ollama 又带来了一项实用性极强的功能:工具调用 (Tool Calling) 支持流式响应

这意味着,当模型需要调用外部工具(如查询天气、执行代码、搜索网页)来回答你的问题时,它不必等工具完全执行完毕并返回所有结果后才开始响应。现在,模型可以一边调用工具,一边实时地将已经生成的内容流式地推送给你,同时在适当的时候插入工具调用的指令。

支持此功能的模型包括 Qwen 3, Devstral, Llama 3.1, Llama 4 等。

它是如何工作的?

Ollama 开发了一个新的增量解析器。这个解析器不再是简单地等待完整的 JSON 输出,而是能够:

  • 理解模型模板:直接参考模型模板来识别工具调用的前缀。
  • 智能处理:即使模型没有严格按照预设的工具调用格式输出,解析器也能处理部分前缀或回退到解析 JSON,从而准确分离内容和工具调用。
  • 提高准确性:避免了之前可能因为模型在回复中引用先前工具调用而导致的重复调用问题。

用户可以通过 cURL、Python 或 JavaScript 库轻松使用这一功能。例如,你可以用 Python 定义一个加法函数,然后让模型调用这个函数来计算 “3+1”,模型会流式输出其“思考”过程(如果开启)并准确地调用你定义的函数。

此外,该更新还提到了模型上下文协议 (MCP) 对此功能的助益,并建议使用 32k 或更高的上下文窗口以提升工具调用的性能和结果。

重磅升级三:引入“思考”过程,模型决策更透明 (5月30日)

Ollama Thinking

五月的最后一份大礼是模型“思考” (Thinking) 功能的上线。用户现在可以选择启用或禁用模型的“思考”过程。

当“思考”功能启用时,模型的输出会将其思考过程最终答案分开展示。这对于理解模型是如何一步步得出结论的非常有帮助,也能让开发者基于此设计出更有趣的应用,比如在游戏 NPC 对话前显示一个思考气泡。

当“思考”功能禁用时,模型会直接输出答案,这在追求快速响应的场景下非常有用。

支持此功能的模型包括 DeepSeek R1, Qwen 3 等。

如何使用?

  • CLI: 可以通过 --think (启用) 或 --think=false (禁用) 参数控制。在交互式会话中,可以使用 /set think/set nothink。还有一个 --hidethinking 参数,用于在启用思考但只显示最终答案的场景。
  • API: /api/generate/api/chat 接口新增了 think 参数 (true/false)。
  • Python/JavaScript 库: 相应库已更新,支持在调用时传递 think 参数。

官方演示了 DeepSeek R1 模型在启用和禁用思考模式下回答问题的不同表现,直观展示了该功能的价值。

这对用户意味着什么?

Ollama 五月份的这三大更新,无疑使其在本地化 AI 领域又迈进了一大步:

  1. 更强大的能力:多模态引擎的加入,让 Ollama 不再局限于文本,开始具备理解视觉信息的能力,为开发更丰富的 AI 应用打开了大门。
  2. 更流畅的交互:流式工具调用解决了以往调用外部工具时可能出现的长时间等待问题,使得与 AI 的互动更加实时和自然。
  3. 更透明的决策:“思考”功能的引入,不仅让我们能一窥大模型的“内心世界”,也为调试和优化模型提供了新的视角。
  4. 持续的易用性:尽管功能越来越强大,Ollama 依然保持了其简洁易用的特性,通过简单的命令和 API 就能让用户体验到最新的 AI 技术。

Ollama 团队及其社区的努力,正在让尖端 AI 技术越来越普惠化。如果你也对在自己的设备上探索 AI 的无限可能充满兴趣,不妨现在就去下载最新版的 Ollama,亲身体验这些激动人心的新功能吧!我们有理由相信,Ollama 的未来会更加精彩!