WebStorm + Continue + Ollama,实现本地大模型代码补全,M2 Mac 实测结果是可用但不好用
本文首发于 微信公众号 CroWall,这里同步一下。
PS: 本文目标读者是对编程感兴趣的用户或者是程序员,小白用户可以忽略。
昨天夜里尝试了一下 Ollama 本地部署大模型,效果不错,参见《Ollama 初体验,本地部署大模型利器,小白也能在 M2 芯片的 Mac 上分分钟跑起来》这篇文章。
今天上午一到公司,就迫不及待尝试了下阿里的 qwen2.5-coder:7b 模型的代码补全效果。
PS 视频参见公众号文章。
先说结论,代码补全在我的 M2 MacBook Air 上可以用,但资源占用太高,导致我的网易云音乐播放着的音乐都卡顿了,所以目前来看并不好用。
一方面不能一边写代码一边听音乐了,另一方面如果是坐在外面(比如咖啡馆)写代码没插电源,估计个把小时就能把电池用完了。
下面是部署过程。
首先是用 ollama run qwen2.5-coder:7b 命令在本地先把模型跑起来:
这个模型 4.7GB,公司网络还不错,三四分钟就下载好了。
跑起来后,Ollama 在 11434 端口启动了一个本地的 http 服务:
服务地址是 http://127.0.0.1:11434 后面配置会用到。
下一步就是让 WebStorm 去调用 Ollama 的服务。这里我们用 Continue.dev, Continue 支持 VS Code 和 JetBrains 全家桶。
在 WebStorm 中安装 Continue 插件:
安装完成后,需要更改配置,可以在 WebStorm 中直接修改,也可以在终端中修改。
配置文件在 ~/.continue/config.json
修改 models 和 tabAutocompleteModel 两个字段的配置:
"models": [
{
"model": "qwen2.5-coder:7b",
"provider": "ollama",
"apiBase": "http://127.0.0.1:11434",
"title": "Ollama qwen2.5-coder"
}
],
"tabAutocompleteModel": {
"title": "Ollama qwen2.5-coder",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://127.0.0.1:11434"
},
注意 models 的值是一个数组,tabAutocompleteModel 是一个对象。
配置好后,WebStorm 的 Continue 插件也安装好了,重启 WebStorm,看一下配置是否生效:
注意如果启用了其他 AI 助手,开启了自动完成的,会冲突,需要关掉。
没问题就可以使用了。
先试一下 Chat,选中一段代码,点击弹出的 Chat 按钮:
效果看起来还不错,但资源占用确实高,我的网易云音乐卡顿了一会,16G 小内存伤不起...
代码补全效果也有:
不过每次推理补全的时候,网易云音乐都会卡顿,受不了。
内存压力太大了,随便补了几句就这样了:
CPU/GPU 负载倒还好:
32GB 内存以上的可以尝试一下。
参考资料
- Ollama 官网 https://ollama.com
- qwen2.5-coder https://ollama.com/library/qwen2.5-coder
- Continue 官网 https://www.continue.dev
- Continue 插件 https://plugins.jetbrains.com/plugin/22707-continue