把本地 Ollama 推理服务接进 DeepSeek Harness,和前两篇文章接云厂商的思路完全一致:**OpenAI 兼容接口、同一段 cordis.patch.yml、同一个 api: openai-completions provider**。不同点在于:Ollama 是纯本地运行,不需要 API Key(可选设置),BASE_URL 就是 http://localhost:11434/v1,模型从 Ollama 库直接拉取。
如果你已经在本地 LM Studio跑过 OpenAI 兼容 API,这篇会让你更顺手——两者都走 localhost 和 /v1 路径,只是端口号和模型名可能不同。
一、Ollama 安装与启动(Windows)
访问 https://ollama.com 下载 Windows 安装包,双击完成安装后会自动启动后台服务。验证是否成功:
# PowerShell / CMD 里执行
ollama --version
# 看到版本输出即成功;默认监听 11434 端口在浏览器打开 http://localhost:11434,如果看到「Welcome」页面就说明服务正常。接下来就可以开始拉模型了。
二、拉取模型并启动对话
Ollama 的模型库非常丰富,主流开源模型都有镜像(Llama 3.1、Qwen2.5、Mistral、Phi 3.5 等)。拉模型的命令格式是 ollama pull <model>:
# 拉取 Qwen2.5-7B-Instruct(中文表现好)
ollama pull qwen2.5:7b-instruct
# 拉取 Llama 3.1-8B-Instruct
ollama pull llama3.1:8b-instruct
# 查看已安装的模型列表
ollama list拉完之后,直接在命令行测试对话:
ollama run qwen2.5:7b-instruct
# 出现提示符后可输入问题,例如:你是谁?如果想后台运行且支持网络调用,确保 Ollama 监听的是 0.0.0.0:11434(默认就是内网所有网卡),后续配置 DSH 时会用到这个地址。
三、Docker 部署 Ollama(可选)
如果你是 Linux/macOS 或者希望容器化运行,也可以用 Docker:
安装前先确认机器显卡驱动正确安装(NVIDIA GPU 需要 NVIDIA Container Toolkit):
# NVIDIA GPU 模式(推荐)
docker run -d --gpus=all \
--name ollama \
-v ollama:/root/.ollama \
-p 11434:11434 \
--restart always \
ollama/ollama:latest
# CPU 模式(无需 GPU)
docker run -d \
--name ollama \
-v ollama:/root/.ollama \
-p 11434:11434 \
--restart always \
ollama/ollama:cpu容器启动后同样可以通过 http://localhost:11434 验证,模型拉取步骤和本地版一样。
四、DSH 配置 Ollama provider
还是改 profile 的 cordis.patch.yml,给 @deepseek-ai/dsh-llm-pi-ai 加一个 Ollama provider。关键差异是:**不需要填写 apiKeyEnv**(或可以留空):
- id: llm-ollama
name: "@deepseek-ai/dsh-llm-pi-ai"
config:
providers:
ollama: # provider 名,会话里全名是 ollama/qwen2.5:7b-instruct
displayName: Ollama 本地服务
api: openai-completions
baseURL: http://localhost:11434/v1
models: # 不必须填,但填上方便选择
- id: qwen2.5:7b-instruct
name: Qwen2.5-7B-Instruct
- id: llama3.1:8b-instruct
name: Llama 3.1-8B-Instruct
- id: mistral:7b
name: Mistral 7B Instruct
- id: phi3:mini
name: Phi 3 Mini 4K Instruct三个注意点:
- baseURL 路径不要漏掉
/v1:完整值是http://localhost:11434/v1(不是/chat/completions,那是 endpoint,BASE_URL 只要到/v1)。 - 不需要密钥:Ollama 默认没有认证机制,所以
apiKeyEnv字段可以省略,或者留空。 - models 里的 id 要和拉取的模型名完全一致:包含标签后缀如
:7b-instruct,否则 DSH 调用的时候会报 404。
重启 DSH 后即可在会话里切换到 ollama/... 模型,效果等同于你在 CLI 里手动跑。
五、常见问题排查
本地服务的问题和云 API 不太一样,主要是连接和权限层面:
| 现象 | 原因 | 处理 |
|---|---|---|
| 无法连接 / 超时 | Ollama 服务未启动 / 端口被占用 | 检查 ollama --version,确保服务正在运行;端口冲突时修改环境变量 OLLAMA_HOST=0.0.0.0:端口号 并重启 |
| 404 model not found | 模型名写错 / 还没拉取该模型 | 先执行 ollama pull <model> 拉下来;再核对 base URL 和 models id 中的标签后缀(如 :7b-instruct) |
| 显存不足 OOM | 模型太大,显存不够加载 | 换小参数版本(如 7B→3B),或使用 CPU 模式;Docker GPU 模式要确保 NVIDIA Container Toolkit 正确安装 |
| 响应很慢 | CPU 推理 / 磁盘 IO 慢 | 优先使用 GPU 模式;Docker 卷挂载在 SSD 性能会更好;减少并发请求数量 |
| SSE 流式中断 | Ollama 在某些客户端下对 SSE 支持不完整 | DASH 客户端一般没问题;如果是自定义 SDK 可能需要做异常恢复逻辑 |
| 改完配置没生效 | 编辑的是 cordis.yml 而非 patch.yml;或未重启 | 老三样:改 cordis.patch.yml,条目 id 别撞名,重启 DSH 验证 |
六、和本地服务的对比
现在这台 DSH 已经有了三种本地 / 云端混合方案:
| 方案 | 优点 | 缺点 | 适合场景 |
|---|---|---|---|
| LM Studio | 图形化界面,模型管理直观,内置 GUI | 需手动配置绑定 IP,多进程占用资源 | 偶尔切换模型 / 非技术用户 |
| Ollama | 命令行轻快,Docker 部署方便,社区模型库丰富 | 无 GUI,需记住模型名称规则 | 技术用户 / CI/CD 集成 / 容器化 |
| Bailian / Zhipu | 免费额度高,模型种类多,无需本地硬件 | 依赖网络,敏感数据外传 | 开发测试 / 生产级业务 |
如果你想彻底离线、保护隐私,首选 Ollama 或 LM Studio 本地跑;如果只是临时跑个 demo 测个流程,云厂商按量付费更灵活。三者都是 openai-completions,在 DSH 里切换模型的方式一模一样——这大概就是 OpenAI 兼容接口最大的价值。
相关配置背景可看:阿里云百炼接入 DeepSeek Harness、DeepSeek Harness 接入智谱大模型、LM Studio 实践:开启 OpenAI 兼容 API 的地址与 Key 配置、DSH Desktop 上手指南:安装、数据目录、MCP 配置与使用技巧。
评论区