用本地大模型搭个人代码助手:Ollama + Continue 实战,推理速度才是硬道理
在断网环境下想找个懂代码的帮手,白嫖 GPT 还得看网速,干脆在笔记本上跑了个本地代码助手,结果发现推理速度和模型选型才是真正的门槛。
问题是什么
我经常在离线环境写代码,有时候项目敏感不方便把代码上传到云端。Copilot 和 ChatGPT 再好用,一断网就抓瞎。试过几个开源方案,要么配置复杂得劝退,要么模型跑起来笔记本直接变烤箱。
我就想要一个能在本地跑的代码助手,能理解上下文、能做代码补全、能对话——最关键的是,别让我为了跑它先配三天环境。
解决思路
筛了一圈,三个方向:
- LocalAI:功能全,但部署太重,要 Docker,Windows 支持不友好
- llama.cpp:性能好,但纯 C++ 编译麻烦,还没集成 IDE 插件
- Ollama + Continue:Ollama 管模型,Continue 是 VS Code/JetBrains 插件,组合起来几乎零配置
选了方案 3。Ollama 的 ollama pull 就跟 docker pull 一样无脑,Continue 装完插件自动发现本地 Ollama 实例,一行配置都不用写就能跑。
操作步骤
步骤1:安装 Ollama 并拉取模型
# macOS / Linux / WSL2
curl -fsSL https://ollama.com/install.sh | sh
# Windows 直接去官网下载安装包
# 拉取代码专用模型(我最终选了 deepseek-coder)
ollama pull deepseek-coder:6.7b
选型说明:我试了三个——codellama:7b 中文理解差,qwen2.5-coder:7b 中文好但代码生成偶尔抽风,deepseek-coder:6.7b 在代码补全和中文问答之间最平衡。如果你显存只有 4GB,可以试 deepseek-coder:1.3b,笨是笨了点,至少能跑。
注意: 默认模型下载路径在
~/.ollama,C 盘吃紧的话设个OLLAMA_MODELS环境变量改到其他盘。
步骤2:安装 Continue 插件
VS Code 扩展市场搜 "Continue",装那个安装量最高的。重启 VS Code,点侧边栏的 Continue 图标。
Continue 会自动发现本地的 Ollama,零配置就能在对话窗口里选 deepseek-coder:6.7b 开始聊天。
想微调的话,配置文件在 ~/.continue/config.json:
{
"models": [
{
"title": "DeepSeek Coder",
"provider": "ollama",
"model": "deepseek-coder:6.7b",
"contextLength": 4096
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Coder (Tab)",
"provider": "ollama",
"model": "deepseek-coder:6.7b"
}
}
tabAutocompleteModel 是灵魂配置——加上之后,打字的时候 Continue 会像 Copilot 一样自动弹补全建议。
步骤3:配置代码补全体验
这里踩了个大坑。默认配置下,Tab 补全慢到崩溃——敲一个字等两秒才弹出提示,根本没法用。
关键调优参数:
# 查看模型是否在用 GPU 跑
ollama ps
# NAME ID SIZE PROCESSOR UNTIL
# deepseek-coder:6.7b xxx 3.8GB 100% CPU 4m from now
看到 "100% CPU" 就懂了——模型没走 GPU 加速,纯靠 CPU 硬算。6.7B 参数量的模型推理延迟在 2-3 秒级别。
解决方案:要么换小模型,要么装 Ollama 的 CUDA 版本(需要 NVIDIA 显卡 + CUDA 驱动)。
# 如果有 NVIDIA 显卡,重装 GPU 版
ollama stop deepseek-coder:6.7b
# 用更小的模型先顶着
ollama pull deepseek-coder:1.3b
# 修改 Continue 配置切换到小模型
实际体验下来,1.3B 模型补全速度能压到 200-500ms,基本跟手。但代码质量明显下降,复杂逻辑经常给错误建议。
步骤4:搭私服提升推理速度(终极方案)
如果你有一台带 GPU 的台式机或服务器,最佳实践是:GPU 机器跑 Ollama 服务端,笔记本远程调用。
# 服务端(GPU 机器)
# 默认只监听 localhost,改成 0.0.0.0 允许局域网访问
# Windows 上设置环境变量
set OLLAMA_HOST=0.0.0.0:11434
ollama serve
# 或者 Linux
OLLAMA_HOST=0.0.0.0:11434 ollama serve
客户端 Continue 配置改成远程地址:
{
"models": [
{
"title": "DeepSeek Coder (Remote)",
"provider": "ollama",
"model": "deepseek-coder:6.7b",
"apiBase": "http://192.168.1.100:11434"
}
]
}
这样笔记本零负载,推理速度从秒级降到 100-300ms,才算真正达到了可用的体验。
步骤5:实际使用场景与技巧
几个实战中发现的好用场景:
代码解释:选中一段看不懂的遗留代码,按 Ctrl+I 输入 "解释这段代码在干什么"。本地模型回答虽然不如 GPT-4 精准,但够用。
重构建议:
选中代码 → Ctrl+I → "把这个函数拆成更小的函数"
写测试:
选中函数 → Ctrl+I → "给这个函数写 pytest 测试用例,覆盖边界情况"
经验: 本地模型最重要的一条使用技巧——把问题拆小。复杂的重构需求它搞不定,但"给这个函数加类型注解"这种明确的小任务它完成得很好。
结果与总结
最终这套方案能覆盖我 70% 的日常需求:
- ✅ 代码补全(远程 GPU 方案下体验接近 Copilot)
- ✅ 代码解释和重构建议
- ✅ 生成测试和文档注释
- ✅ 完全离线可用
- ❌ 复杂架构设计和跨文件重构不如 GPT-4
- ❌ 大模型推理慢,不适合需要快速迭代的场景
最大教训:本地模型的核心瓶颈不是模型质量,而是推理速度。7B 模型在 CPU 上跑就是玩具,必须上 GPU。如果没有 GPU,老老实实用小模型,或者干脆用云端方案。
成本对比:Ollama + Continue 完全免费,对比 Copilot 每月 $10 或 ChatGPT Plus 每月 $20,对于预算有限的个人开发者来说是个不错的替代方案。
延伸思考
- RAG 增强:可以接本地向量数据库(如 ChromaDB)把项目代码库做成索引,让模型基于实际代码回答问题,而不只是靠训练数据
- 多模型组合:代码补全用小模型(快),复杂对话用大模型(准),甚至可以接一个云端 API 做 fallback
- Fine-tune:如果对某个框架或业务代码频繁提问,可以考虑用 LoRA 微调一个专用模型——不过这个门槛就高了
- Open Interpreter:Ollama 还可以配合 Open Interpreter 做本地代码执行助手,适合自动化脚本场景
下一步我打算试试把项目的 API 文档和数据库 Schema 灌进本地知识库,看看能不能做出一个真正理解自己项目的代码助手。

评论已关闭!