打开网易新闻 查看精彩图片

发布时间:2025年10月11日

在 v0.12.5 版本中,Ollama 带来了多项功能改进、问题修复及平台兼容性调整。本次更新主要涉及运行流程优化、错误处理改进、模型输出优化以及平台支持范围调整。以下是详细解析。

一、主要更新内容

  1. 1.应用启动等待机制优化
    Ollama 的应用在启动对话前,将等待 Ollama 服务运行完成,避免了在服务尚未启动的情况下进行会话操作。

  2. 2.Think 参数兼容性改进
    修复了在"think": false时,以前会出现错误提示的问题,现版本将改为静默忽略,提升了非思考模型的兼容性。

  3. 3.模型输出问题修复
    修正了deepseek-r1模型的输出异常问题,提升了生成结果的稳定性。

  4. 4.平台支持变更

  • • macOS 12 Monterey 与 macOS 13 Ventura不再支持

  • • AMD gfx900 和 gfx906 系列 GPU(如 MI50、MI60)不再通过 ROCm 支持,未来将尝试通过 Vulkan 提供支持。

二、代码层面变更解析 1. 内置函数 min/max 应用

在多个图像处理模块中,替换了math.Minmath.Max为 Go 语言的内置min()max()方法:

  • llama4mllama模型的process_image.go调整了分辨率计算方法,提升了代码简洁性与性能。

2. 运行时度量优化
  • llamarunnerollamarunner都引入了新的运行时间度量方式,将处理阶段与生成阶段拆分,对处理耗时生成耗时进行单独统计。

  • • 新增了processingDurationgenerationDuration/samplingDuration变量,用于区分不同阶段的运行时间。

  • • 在批量处理过程中,增加了startedAtlastUpdatedAt的记录,以便更精准地分析性能数据。

3. 批量处理与异步支持调整
  • • 在ollamarunner中,批量处理逻辑修改为使用previousBatchnextBatch交替进行。

  • • 当模型支持异步运算时(pooling_type == none),批处理计算会并行执行,提升模型运行效率。

4. Thinking 能力判断优化
  • • 在server/routes.go中,GenerateHandlerChatHandler的逻辑调整为:

    • • 如果模型支持thinking,则默认开启;

    • • 如果模型不支持thinking且用户设置了true,将返回错误;

    • • 如果设置为false,则不报错,正常执行。

三、测试用例改动

server/routes_generate_test.go中:

  • • 错误提示信息调整为更简洁的"\"test\" does not support thinking"

  • • 新增测试用例,验证模型不支持thinkingthink=false时的执行结果,确保返回状态码 200。

四、版本影响与展望

本次ollama v0.12.5更新在性能优化、运行时度量、错误处理等方面都有显著提升,尤其是:

  • 提升模型执行阶段的时间统计精度

  • 改善非思考模型的兼容性

  • 优化批处理执行流程

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。