首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >WorkBuddy 接入 Ollama 本地模型全流程踩坑指南:从"无输出"到 70 tok/s 的完整排查记录

WorkBuddy 接入 Ollama 本地模型全流程踩坑指南:从"无输出"到 70 tok/s 的完整排查记录

原创
作者头像
用户12790457
发布于 2026-09-28 11:39:04
发布于 2026-09-28 11:39:04
3090
举报

一、为什么要在 WorkBuddy 里接本地模型

WorkBuddy 执行任务消耗积分,而 Ollama 本地模型零成本、离线可用、数据不出本机。WorkBuddy 官方支持在「设置 → 模型」中添加自定义模型(内置 Ollama 提供商),对接本身非常顺畅——真正的坑都在后面。

二、基础部署(10 分钟搞定)

  1. 安装 Ollama:winget install Ollama.Ollama(装完自动启动,监听 11434 端口)
  2. 拉取模型:ollama pull qwen3:8b(5.2GB,8GB 显存的最佳选择)
  3. WorkBuddy 添加自定义模型:
    • 提供商:Ollama
    • 接口地址:http://localhost:11434/v1
    • 模型名称:qwen3:8b
    • API Key:必填项,但 Ollama 不校验,随便填个 ollama 即可(坑 0:表单不允许留空)
  4. 保存后可在模型选择器里切换到本地模型

验证:ollama ps 显示 100% GPU 即模型完整加载进显存,8B Q4 实测可达 60~70 tok/s。

三、坑 1:能调用但回复空白

现象:模型连通、显示"已完成",但没有任何输出。

排查:查看 Ollama 日志(%LOCALAPPDATA%\Ollama\server.log),发现关键一行:

根因:WorkBuddy 每轮对话会附带约 3.1 万 token 的系统提示词(内置工具说明、技能列表等),而 Ollama 默认上下文仅 4096。用户消息在截断中被丢弃,模型收到的是残缺指令,自然输出为空。

修复:设置环境变量后重启 Ollama(从托盘退出再打开,或重启电脑):

8GB 显存建议不要超过 8192,更大的上下文会把模型挤出一部分到内存,速度反而暴跌。

四、坑 2:改了环境变量但不生效

setx 写入的是注册表,只对之后新启动的进程生效。如果 Ollama 已经在运行,必须完全退出(注意系统托盘)再重新打开。判断是否生效:

CONTEXT 列显示 8192 即成功。

五、坑 3:上下文上去了,速度却从 70 掉到 15 tok/s

现象:ollama ps 显示 100% GPU,但生成速度只有原先的五分之一。

根因有两个,需要逐一排除:

  1. KV 缓存量化没生效:OLLAMA_KV_CACHE_TYPE=q8_0 必须搭配 OLLAMA_FLASH_ATTENTION=1 才起作用,单独设置会被静默忽略。两者一起配置可将 8K 上下文的 KV 显存占用减半。
  2. CUDA 静默回退(Sysmem Fallback):这是最隐蔽的坑。当显存不够时,NVIDIA 驱动不会报错,而是把放不下的部分悄悄挪进系统内存——ollama ps 依然显示 100% GPU,但实际带宽骤降。判断方法:nvidia-smi 看显存总占用,若"系统+其他应用占用 + 模型体积"明显超过显存总量,就是发生了回退。

修复:关闭吃显存的后台应用(浏览器、微信等 GPU 加速大户),或重启电脑清空累积占用。彻底方案是在 NVIDIA 控制面板将「CUDA - 系统内存回退策略」改为「首选无系统内存回退」,让显存不足时显式报错。

六、坑 4:重启后显存依然被占满——僵尸进程

多次强制结束 Ollama 后重启,显存仍显示占用 7GB+。检查发现多个 llama-server.exe 僵尸进程(Ollama 的推理子进程)残留并各自持有 CUDA 上下文。

修复:任务管理器结束所有 llama-server.exe,或在 PowerShell 执行:

清理后系统显存基线从 7.4GB 降到不足 1GB,模型完整进显存,速度恢复 69 tok/s。

教训:重启 Ollama 请务必从托盘图标正常退出,不要用任务管理器强杀。

七、诚实的结论:本地模型适合 WorkBuddy 吗

配置全部调优后,最终实测:qwen3:8b / 100% GPU / 8192 上下文 / 69 tok/s,接口零成本、离线可用。

但仍要泼一盆冷水:WorkBuddy 的 Agent 系统提示词规模在 3 万 token 量级,8B 模型即使"装得下"也很难在这样的指令密度下可靠地执行多步骤任务——实测中模型会被截断的工具说明带偏,回答一些与用户问题无关的内容。

我的最终用法建议:

  • 纯聊天、写作、翻译 → 本地模型(零积分)或直接用 Chatbox 等专用前端接 Ollama,体验更纯净
  • 真正的 Agent 任务(读写文件、多步骤执行)→ 云端大模型,这是积分的价值所在

本地部署的最大意义不是替代云端,而是作为离线兜底和零成本聊天入口。想让它真正"干活",至少需要 30B 级别的 MoE 模型(如 qwen3:30b-a3b,32GB 内存的机器可以跑)。


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、为什么要在 WorkBuddy 里接本地模型
  • 二、基础部署(10 分钟搞定)
  • 三、坑 1:能调用但回复空白
  • 四、坑 2:改了环境变量但不生效
  • 五、坑 3:上下文上去了,速度却从 70 掉到 15 tok/s
  • 六、坑 4:重启后显存依然被占满——僵尸进程
  • 七、诚实的结论:本地模型适合 WorkBuddy 吗
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档