一个完全开源的内置于编辑器中的 AI 代码助手

An entirely open-source AI code assistant inside your editor
这最初是Ollama博客上的一篇客座文章,介绍了如何设置、探索以及找出一起使用 Continue 和 Ollama 的最佳方法。

Continue 让你能够轻松地使用开源 LLMs 在 Visual Studio Code 和 JetBrains 中直接创建自己的编码助手。所有这些都可以完全在你的笔记本电脑上运行,或者将 Ollama 部署在服务器上,根据你的需要远程提供代码补全和聊天体验。

要进行设置,你需要安装

下载完成后,我们推荐探索以下内容

尝试使用 Mistral AI 的 Codestral 22B 模型进行自动补全和聊天

截至目前,Codestral 是我们目前最喜欢的、同时具备自动补全和聊天能力的模型。这个模型展示了 LLMs 在编程任务上的进步。然而,由于它有 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. 提取“已接受的 Tab 建议”并将其加载到 Hugging Face Datasets 中

b. 使用 Hugging Face 监督微调训练器(Supervised Fine-tuning Trainer)微调 StarCoder 2

c. 将模型推送到 Ollama 模型库供你的团队使用,并衡量你的接受率如何变化

使用 @docs 在 Continue 的帮助下提问,了解更多关于 Ollama 的信息

Continue 也内置了 @docs 上下文提供程序,它可以让你索引和检索任何文档网站的片段。假设你已经设置了聊天模型(例如 Codestral, Llama 3),你可以通过提供 Ollama README 在 GitHub 上的链接,并以此作为上下文提问来了解更多信息,从而将整个体验保持在本地。

a. 在聊天侧边栏输入 @docs,选择“添加文档”,将“https://github.com/ollama/ollama” 复制并粘贴到 URL 字段,然后在标题字段中输入“Ollama”

b. 它应该会快速索引 Ollama README,然后你就可以向它提问了,重要的部分会自动被找到并用于回答(例如:“@Ollama 如何运行 Llama 3?”)

加入我们的 Discord!

现在你已经尝试了这些不同的探索,希望能更好地了解如何使用 Continue 和 Ollama。如果在过程中遇到问题或有疑问,请加入 Continue Discord 或 Ollama Discord 获取帮助和解答。