本文档介绍了如何在本地搭建类似 Copilot 的编程助手,以帮助您写出更加优美,效率的代码。
从过本课程你将学会,使用 Ollama 集成本地编程助手,其中包括
注意:
- 我们讲主要讲解 VScode 的安装和基本使用方式。jetbrain 使用方式和 VScode 大同小异,参考 vscode 即可。
- jetbrain 可以使用的功能和可配置项不如 VScode 丰富,建议使用 VScode
- 本地搭建 Copilot 对机器要求较高,特别是代码自动补全部分,若无特殊需求,建议购买 API 使用。
大语言模型问世已久,但是其表现最出色的领域一直是编程领域,原因如下:
ollama pull llama3:8bollama pull starcoder2:3bollama pull nomic-embed-textO在 VScode 插件库安装模型
搜索 Continue ,看到如下的图标,点击 install 或者安装

(推荐操作)强烈建议将"继续"移至 VS Code 的右侧边栏。这有助于在使用"继续"时保持文件资源管理器打开,并且可以使用简单的键盘快捷键切换侧边栏。

配置 Ollama
方式1:点击 Select model----选择 Add model----点击 Ollama----选择 Autodetect
这样,就可以自动选择刚刚我们在 Ollama 上下载好的模型进行代码推理工具了。


方式2:点击如图所示的设置按钮,进入配置页面,粘贴如下配置
{ "models": [ { "title": "Ollama", "provider": "ollama", "model": "AUTODETECT" } ], "tabAutocompleteModel": { "title": "Starcoder 2 3b", "provider": "ollama", "model": "starcoder2:3b" }, "embeddingsProvider": { "provider": "ollama", "model": "nomic-embed-text" } }


cmd+L ( MacOS ) / ctrl+L ( Windows )cmd+J ( MacOS ) / ctrl+J ( Windows )
tab ( MacOS ) / tab ( Windows )tab ( MacOS ) / tab ( Windows )
cmd+I ( MacOS ) / ctrl+I ( Windows )cmd+I ( MacOS ) / ctrl+I ( Windows )
@codebase ( MacOS ) / @codebase ( Windows )
@docs ( MacOS ) / @docs ( Windows )@docs ( MacOS ) / @docs ( Windows )官方网站:https://docs.continue.dev/intro
Aider 是基于命令行的编程助手,比起集成开发环境,它拥有顶级的系统权限和功能使用,但同时意味着它更难上手。
以下教程将教会你安装 Aider 以及连接到 Ollama 服务
此外,请确保:
Aider 的使用过程中对 python 环境有大量依赖,建议使用 conda 新开一个环境或者使用 python 新建虚拟环境,以下使用 conda 演示
新起一个 conda 虚拟环境(python 虚拟环境同理)
conda create -n aider_env python=3.9
进入该虚拟环境
conda activate aider_env
按照以下命令安装
python -m pip install aider-chat
启动命令行,按照如下设置环境变量
export OLLAMA_API_BASE=http://127.0.0.1:11434 # Mac/Linux环境 setx OLLAMA_API_BASE http://127.0.0.1:11434 # Windows环境,设置以后重启shell工具
cd 进入自己本地的代码仓库位置,若没有,Aider 会自动在当前目录下初始化 git 仓库
#example cd D:\Myfile\handy-ollama\handy-ollama\handy-ollama
使用以下命令运行 Aider
aider --model ollama/<你的模型名字> #example #aider --model ollama/llama3:8b
你也可以使用 .env 文件配置 Aider 相关信息
比如
## 指定OPENAI_KEY(如果有的话) OPENAI_API_KEY=xxx ## 指定你使用model AIDER_MODEL=ollama/llama3:8b
更多配置参考:https://aider.chat/docs/config/dotenv.html
进入以下页面即成功

你现在可以跟他聊天,或者给他发送一些指令,它可以直接修改你的代码

你可以问它一些关于这个仓库的基本信息

Add Files 添加文件
/add <file1> <file2> ...
然后你就可以根据这些文件来做一些提问
示例:



使用 Aider 直接对代码文件或者其他文件进行修改,比如对 Readme最后一行加一个总结

查看实际文件

如果不希望 Aider 对文件进行实际操作,可以在对话前添加操作符 /ask
使用 /drop 删除所有添加入的文件
常用斜杠命令列表:
| 命令 | 描述 |
|---|---|
/add |
将文件添加到聊天中,以便 GPT 可以编辑或详细审查它们 |
/ask |
询问关于代码库的问题,而不编辑任何文件 |
/chat-mode |
切换到新的聊天模式 |
/clear |
清除聊天历史 |
/clipboard |
将剪贴板中的图像/文本添加到聊天中(可选择为图像提供名称) |
/code |
请求对代码进行更改 |
/commit |
提交在聊天外对仓库所做的编辑(提交信息可选) |
/diff |
显示自上次消息以来的更改差异 |
/drop |
从聊天会话中移除文件以释放上下文空间 |
/exit |
退出应用程序 |
/git |
运行 git 命令 |
/help |
询问关于 aider 的问题 |
/lint |
对提供的文件或聊天中的文件进行代码检查和修复(如果未提供文件) |
/ls |
列出所有已知文件,并指示哪些文件包含在聊天会话中 |
/map |
打印当前仓库信息 |
/map-refresh |
强制刷新仓库信息并打印出来 |
/model |
切换到新的语言模型 |
/models |
搜索可用模型列表 |
/quit |
退出应用程序 |
/read-only |
将文件添加到聊天中,仅供参考,不可编辑 |
/run |
运行 shell 命令,并可选择将输出添加到聊天中(别名:!) |
/test |
运行 shell 命令,并在非零退出代码时将输出添加到聊天中 |
/tokens |
报告当前聊天上下文使用的令牌数量 |
/undo |
如果最后一次 git 提交是由 aider 完成的,则撤销该提交 |
/voice |
录制并转录语音输入 |
/web |
抓取网页,转换为 markdown 并添加到聊天中 |
更多用法请参照 https://aider.chat/docs/usage.html