Ollama 使用本地模型来使用 copilot
最近 Mistral AI 开放了一个非常善于写代码的模型 codestral,只有 22B, 而我的 MacBook 可以轻松驾驭它,在运行时内存基本只调用 15G 左右,但是又想把它应用到 VScode,这样就可以替代 Github copilot 来更加安全地编写代码。
首先保证在本机已经已经安装了 Ollama 和模型 codestral ,参考官方的链接即可,非常简单。
想在 VScode 使用 类似于 copilot 的功能,一方面需要已经通过 Ollama 安装了 codestral 和 starcoder2 之后在 VScode 中安装插件 continue 。保证你的 Ollama 已经启动即可,你可以通过访问 localhost:11434 来验证它是否在运行。
之后在 continue 插件里面选择 local model 即可,记住,一定要安装 starcoder2 它是实现你成为 TAB 工程师的关键!
Ollama 使用私有部署模型来使用 copilot
但是,并不是所有朋友的设备都具有在本地跑一个 22B 模型的能力,或者移动设备能力不足。这时候,如果你拥有一个性能还不错的主机设备,那么你可以选择将 Ollama 部署到主机上,然后远程访问它。
想访问它的前提是需要设置它运行在 0.0.0.0 上,让其他设备能够访问到这个服务,参考这里 :
setting-environment-variables-on-linux
Setting environment variables on Linux
If Ollama is run as a systemd service, environment variables should be set using
systemctl
:
Edit the systemd service by calling
systemctl edit Ollama.service
. This will open an editor.For each environment variable, add a line
Environment
under section[Service]
:Save and exit.
Reload
systemd
and restart Ollama:
[!WARNING]
注意!如果你的机器升级了 Ollama ,他会动你的 service 文件,你需要重新编辑保存它!
这里我部署到了我的 itx 上,我的 itx 设备使用 Debian ,确认安装 Ollama 以及 codestral 和 starcoder2 之后,修改 Ollama.service
的配置文件,然后重启即可,然后在本地机器上尝试访问它 ip:11434
能看到 Ollama is running
就说明能够成功访问到了。
如果你有使用 iptables
或者 ufw
那要记得开放 11434 端口来进行访问。
然后编辑 VScode 上 continue 的扩展配置,我的配置文件目录在 /Users/bdim404/.continue/config.json
你也可以通过点击 continue 右下角的 设置 图标来修改它的配置来使用远程机器上配置的 ollama,关键参数是 "apiBase"
这里是我的示例,例如:
|
|
然后保存即可,这个时候在 continue 中选择 Ollama in itx 中的模型来进行问答来测试即可。
模型推荐
针对编写代码问答 copilot chat :
codestral 22B (运行时大概需要 15G 显存,显存不足可能导致生成慢/卡顿)
codeqwen 7B
这两个模型都针对 code 进行了优化。
对于 TAB 补全可以使用:
starcoder2 3B.
参考链接:
https://ollama.com/library/codestral
https://ollama.com/library/starcoder2
https://docs.continue.dev/intro
https://github.com/ollama/ollama/blob/main/docs/faq.md#setting-environment-variables-on-linux