使用 Ollama 和 VS Code 的 Continue 插件在本地实现 AI 辅助代码编写

Github Copilot 确实好用,不过作为程序员能自己动手,就尽量不使用商业软件。

Ollama 作为一个在本地运行各类 AI 模型的简单工具,将门槛拉到了一个人人都能在电脑上运行 AI 模型的程度,不过运行它最好有 Nvidia 的显卡或者苹果 M 系列处理器的笔记本。

我自己是在 Macbook Pro M1 Pro 32G 统一内存的笔记本上运行的,目前运行 codellama:7b-code-q4_K_M 小模型效果都不错,但是运行模型体积稍大一点就容易出现反应迟钝(例如 dolphin-mixtral:8x7b),或者输出出错的情况(例如 codellama:34b-code-q4_K_M)。我的意思是,本地运行 AI 还是要量力而行,即使对自己的硬件有信心,也建议从小慢慢往大了测试。

本地运行 Ollama

下载安装 Ollama

直接从 https://ollama.com/download 官网下载应用即可,目前平台覆盖比较齐全。

下载后安装,命令行中会增加 ollama 命令,启动后会在系统托盘中出现羊驼图标。

下载模型

我这里依然以 codellama:7b-code-q4_K_M 它是针对编码训练的 Lama 模型,对大部分代码有比较不错的兼容性。

直接在命令行中运行:

ollama pull codellama:7b-code-q4_K_M

然后就会开始下载,在 4G 多。下载完成后可以先启动试试:

ollama run codellama:7b-code-q4_K_M

它会跟你一个 >>> 的命令提示符,然后就可以和它沟通了,一定要描述清晰你的需求,否则就会输出一堆没什么用的东西。:-(

使用 Continue 与 IDE 集成

VSCode 的 Llama 插件目前我觉得 Continue 还算不错,它也提供了 Jetbran 的插件。

截稿时它的自动补齐功能还在 pre-prelease 版本中,所以我这里以它正式版本为主。

安装 Continue 插件

直接从 Extension Marketplace 安装即可 https://marketplace.visualstudio.com/items?itemName=Continue.continue

安装完成后在 VSCode 左侧侧栏中会增加一个 > CD_ 的图标,这就是它的主界面了。

配置本地 AI 模型

Continue 默认只提供了几种线上 AI 模型的试用,如果需要更改,需要在 Continue 主界面中点击右下角的齿轮图标,进入配置界面,会打开 $HOME/.continue/config.json,需要在该文件的字段中增加以下字段:

{
  "models: {
    {
      "title": "Local Ollama",
      "provider": "ollama",
      "model": "codellama:7b-code-q4_K_M"
    },
    // ...
  }
  // ...
}

这样就启用了本地 Ollama,如果未来需要更换别的模型,直接修改 model 字段即可。

使用 Continue 进行 AI 辅助代码编写。

Continue 主要有两种使用方式:

1. ⌘ + L 选中代码

选中需要的代码,按下 ⌘+L 快捷键后,Continue 界面就会弹出来,并将选中的代码插入到聊天框中,这时候你可以让它帮你编写单元测试,或者检查可能存在的 bug。

2. ⌘ + I 插入代码

在代码的任意位置按下 ⌘ + I,会弹出一个小的 prompt 输入框,你可以输入需求让它快速生成。

总结

相对线上的大模型,本地运行的小模型在精准度上还是有些欠缺,不过已经可以代替部分工作,最主要是它依托开源的优势,降低了成本。

Copilot 的免费替代

如果觉得本地 Codellama 模型不够使用,其实还有个 Copilot 的免费替代 - https://codeium.com/ 这个功能我自己试用下来也很不错,目前跟本地 Ollama 交替使用。

版权所有丨转载请注明出处:https://kxq.io/archives/localai-assistedcodewritingwithollama