你的编辑器里的完全开源 AI 代码助手
2024 年 5 月 31 日
这是来自 Continue 联合创始人 Ty Dunn 的客座文章,介绍了如何设置、探索和找出使用 Continue 和 Ollama 的最佳方式。
Continue 使你能够轻松地在 Visual Studio Code 和 JetBrains 中直接创建自己的代码助手,使用开源 LLM。所有这些都可以完全在你的笔记本电脑上运行,或者将 Ollama 部署到服务器上以根据你的需要远程提供代码补全和聊天体验。
要开始设置,你需要安装:
下载完成后,我们建议你探索以下内容:
尝试 Mistral AI 的 Codestral 22B 模型进行自动补全和聊天
目前,Codestral 是我们目前最喜欢的模型,能够同时进行自动补全和聊天。该模型展示了 LLM 在编程任务方面取得的进步。然而,由于拥有 22B 个参数和 非生产许可证,它需要相当大的 VRAM,并且只能用于研究和测试目的,因此可能不适合日常本地使用。
a. 通过在终端中运行以下命令来下载并运行 Codestral:
ollama run codestral
b. 点击 Continue 右下角的齿轮图标打开你的 config.json
并添加:
{
"models": [
{
"title": "Codestral",
"provider": "ollama",
"model": "codestral"
}
],
"tabAutocompleteModel": {
"title": "Codestral",
"provider": "ollama",
"model": "codestral"
}
}
使用 DeepSeek Coder 6.7B 进行自动补全,使用 Llama 3 8B 进行聊天
根据你的机器上的 VRAM 数量,你可能可以利用 Ollama 的能力,通过使用 DeepSeek Coder 6.7B 进行自动补全和 Llama 3 8B 进行聊天来运行多个模型并处理多个并发请求。如果你的机器无法同时处理两者,那么请分别尝试它们,并决定是更喜欢本地自动补全还是本地聊天体验。然后,你可以 使用远程托管或 SaaS 模型 进行另一种体验。
a. 通过在终端中运行以下命令来下载并运行 DeepSeek Coder 6.7B:
ollama run deepseek-coder:6.7b-base
b. 通过在另一个终端窗口中运行以下命令来下载并运行 Llama 3 8B:
ollama run llama3:8b
c. 点击 Continue 右下角的齿轮图标打开你的 config.json
并添加:
{
"models": [
{
"title": "Llama 3 8B",
"provider": "ollama",
"model": "llama3:8b"
}
],
"tabAutocompleteModel": {
"title": "DeepSeek Coder 6.7B",
"provider": "ollama",
"model": "deepseek-coder:6.7b-base"
}
}
使用 nomic-embed-text
嵌入与 Ollama 一起为 @codebase
提供支持
Continue 内置了 @codebase 上下文提供程序,它允许你从你的代码库中自动检索最相关的代码片段。假设你已经设置了聊天模型(例如 Codestral、Llama 3),那么你可以通过 Ollama 和 LanceDB 的嵌入来保持整个体验本地化。目前,我们建议使用 nomic-embed-text
嵌入。
a. 通过在终端中运行以下命令来下载 nomic-embed-text
:
ollama pull nomic-embed-text
b. 点击 Continue 右下角的齿轮图标打开你的 config.json
并添加:
{
"embeddingsProvider": {
"provider": "ollama",
"model": "nomic-embed-text"
}
}
c. 根据你的代码库的大小,索引可能需要一些时间,然后你可以向它提问,它会自动找到并使用重要的代码库部分来回答(例如,“@codebase Llama 3 的默认上下文长度是多少?”)。
在你自己的开发数据上微调 StarCoder 2,并将其推送到 Ollama 模型库
当你使用 Continue 时,你会自动生成有关你如何构建软件的数据。默认情况下,这些 开发数据 会保存在你本地机器上的 .continue/dev_data
中。当与你最终提交的代码结合起来时,它可以用来改进你或你的团队使用的 LLM(如果你允许)。例如,你可以使用团队接受的自动补全建议来微调像 StarCoder 2 这样的模型,以便给你提供更好的建议。
a. 将“接受的制表符建议”提取并加载到 Hugging Face 数据集中
b. 使用 Hugging Face 有监督微调训练器来微调 StarCoder 2
c. 将模型推送到 Ollama 模型库,供你的团队使用并衡量你的接受率的变化
通过使用 @docs
来提问,借助 Continue 来更多了解 Ollama
Continue 还内置了一个 @docs
上下文提供程序,它允许你索引和检索来自任何文档网站的代码片段。假设你已经设置了聊天模型(例如 Codestral、Llama 3),那么你可以通过提供指向 GitHub 上 Ollama 自述文件的链接并向它提问来了解更多信息,并将其作为上下文来保持整个体验本地化。
a. 在聊天侧边栏中键入 @docs
,选择“添加文档”,将“https://github.com/ollama/ollama” 复制粘贴到 URL 字段中,然后在标题字段中键入“Ollama”
b. 它应该会快速索引 Ollama 自述文件,然后你可以向它提问,它会自动找到并使用重要的部分来回答(例如,“@Ollama 如何运行 Llama 3?”)。
加入我们的 Discord!
现在你已经尝试了这些不同的探索,你应该对如何使用 Continue 和 Ollama 的最佳方式有了更好的了解。如果你在过程中遇到了问题或有疑问,请加入 Continue Discord 或 Ollama Discord 来获得一些帮助和答案。