一款完全开源的AI代码助手,集成到您的编辑器中
2024年5月31日
这是来自 Continue 联合创始人 Ty Dunn 的客座文章,介绍了如何设置、探索以及找到最佳方法来一起使用 Continue 和 Ollama。
Continue 使您能够轻松地在 Visual Studio Code 和 JetBrains 中直接创建您自己的编码助手,使用的是开源大型语言模型 (LLM)。所有这些都可以在您自己的笔记本电脑上运行,或者将 Ollama 部署到服务器上,以根据您的需求远程提供代码补全和聊天体验。
要开始设置,您需要安装
下载完成后,我们建议您探索以下内容:
尝试使用 Mistral AI 的 Codestral 22B 模型进行自动补全和聊天
目前,Codestral 是我们目前最喜欢的能够同时进行自动补全和聊天的模型。该模型展示了大型语言模型在编程任务方面的改进。但是,它拥有 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 README 的链接并提出问题来获取更多信息作为上下文,从而使整个体验保持本地化。
a. 在聊天侧边栏中键入@docs
,选择“添加文档”,将“https://github.com/ollama/ollama”复制粘贴到 URL 字段中,并在标题字段中键入“Ollama”
b. 它应该会快速索引 Ollama README,然后您可以提出问题,系统会自动查找并使用重要的部分来进行回答(例如:“@Ollama 如何运行 Llama 3?”)。
加入我们的 Discord!
现在您已经尝试了这些不同的探索,您应该对如何最佳地使用 Continue 和 Ollama 有了更好的了解。如果您在此过程中遇到问题或有任何疑问,请加入Continue Discord或Ollama Discord以获得帮助和解答。