Continue [github.com/continuedev…] 是 GitHub Copilot 的开源替代品,一个开源的 AI 代码助手,允许我们在 VS Code 和 JetBrains 中连接各种大模型来构建自定义的代码自动补全和聊天能力。
它支持:代码解析代码自动补全代码优化建议修改代码询问代码实现在线文档搜索解析终端错误
等等能力,辅助开发人员进行代码开发,从而提高开发人员的编码速度。
在本篇文章中,我们将使用 Continue + GPUStack 来在本地构建免费的 GitHub Copilot,为开发人员提供 AI 结对编程的体验。
用 GPUStack 运行所需模型
在 GPUStack 上部署 Continue 推荐使用的三种类型的模型:
Chat 模型:选择 llama3.1,由 Meta 训练的最新开源模型自动补全模型:选择 starcoder2:3b,由 Hugging Face 训练的一个高水平的自动补全模型Embedding 模型:选择 nomic-embed-text,上下文长度为8192,在短上下文任务和长上下文任务上都优于 OpenAI 的 ada-002 和 text-embedding-3-small 模型
编辑
模型部署完成后,还需要在 API Keys 中创建一个 API 秘钥,以供 Continue 在访问 GPUStack 部署的大模型 API 时进行认证。
安装与配置 Continue
Continue 提供了 VS Code 和 JetBrains 扩展插件,在本文中使用 VS Code。在 VS Code 的扩展商店中安装 Continue:
编辑
扩展安装完成后,将 Continue 扩展拖动到右侧,避免和文件资源管理器冲突:
编辑
然后选择右下角的设置按钮,编辑 Continue 的配置,连接 GPUStack 部署的模型。
替换其中的 "models"、"tabAutocompleteModel" 和 "embeddingsProvider" 部分,注意替换为你自己在 GPUStack 上生成的 API Key:
编辑
编辑
使用 Continue
将 Continue 配置好连接 GPUStack 部署的模型后,在右上角 Continue 的插件界面,模型选择前面配置的 Llama 3.1 模型,然后就可以使用前面介绍的功能了。
代码解析
选中代码后,按 Cmd/Ctrl + L ,输入对话,让本地大模型解析代码:
编辑
代码自动补全
在编码过程中,按 Tab 让本地大模型尝试自动补全代码:
编辑
代码重构
选中代码后,按 Cmd/Ctrl + I ,输入对话,让本地大模型尝试优化代码:
编辑
大模型会给出建议,可以自行判断是否接受还是拒绝建议:
编辑
询问代码实现
可以通过 @Codebase 询问该代码库的问题,例如代码中如何实现某个功能:
编辑
文档搜索
通过 @Docs 然后选择需要搜索的文档网站,可以搜索想要查询的文档内容:
编辑
总结
通过以上内容,我们已经介绍了如何使用 Continue + GPUStack 在本地构建免费的 GitHub Copilot,无成本地为开发人员提供 AI 结对编程能力。