这是来自Continue 联合创始人 Ty Dunn 的客座文章,介绍了如何设置、探索和找出同时使用Continue 和Ollama 的最佳方式。

Continue and Ollama
要开始使用开源LLMs创建自己的编码助手,您可以通过继续(https://continue.dev/)在Visual Studio Code和JetBrains中轻松实现。所有这些都可以完全在您的笔记本电脑上运行,或者将Ollama部署在服务器上,以满足您的代码完成和聊天体验需求。 为了进行设置,您需要安装以下内容:

  • 继续(https://docs.continue.dev/quickstart),适用于VS Code(https://marketplace.visualstudio.com/items?itemName=Continue.continue)或JetBrains(https://plugins.jetbrains.com/plugin/22707-continue)
  • Ollama(https://github.com/ollama/ollama?tab=readme-ov-file#quickstart),适用于macOS(https://ollama.com/download/mac)、Linux(https://ollama.com/download/linux)或Windows(https://ollama.com/download/windows) 下载后,我们建议您探索以下内容:

尝试Mistral AI的Codestral 22B模型进行自动完成和聊天

截至目前,Codestral(https://mistral.ai/news/codestral/)是我们目前最喜欢的模型,能够自动完成和聊天。该模型展示了LLMs如何改进编程任务。然而,由于具有22B参数和非生产许可证,它需要相当多的VRAM,并且只能用于研究和测试目的,因此它可能不太适合日常本地使用。 要通过终端运行以下命令来下载并运行Codestral:

ollama run codestral

b.单击“继续”右下角的齿轮图标,打开config.json并添加

1
{ "models": [ { "title": "Codestral", "provider": "ollama", "model": "codestral" } ], "tabAutocompleteModel": { "title": "Codestral", "provider": "ollama", "model": "codestral" } }

VS Code settings to change config.json

使用 DeepSeek Coder 6.7B 进行自动完成和 Llama 3 8B 进行聊天的指南

根据您的计算机的 VRAM 容量,您可以选择使用 Ollama 来运行多个模型。以下是如何通过 DeepSeek Coder 6.7B 实现自动完成和 Llama 3 8B 实现聊天的步骤:

1. DeepSeek Coder 6.7B 自动完成

  • DeepSeek Coder 6.7B 是一个强大的自动完成工具,可以帮助您快速完成代码编写。

2. Llama 3 8B 聊天

  • Llama 3 8B 是一个先进的聊天模型,能够提供流畅的对话体验。

3. 多模型并发处理

  • 如果您的计算机 VRAM 足够,可以尝试同时运行 DeepSeek Coder 6.7B 和 Llama 3 8B,以处理多个并发请求。

  • 如果资源有限,您需要分别尝试这两种模型,以决定您更倾向于本地自动完成还是聊天体验。

4. 远程托管或 SaaS 模型

  • 如果本地资源不足以满足需求,您可以考虑使用远程托管或 SaaS 模型来获得更好的体验。

操作步骤

  • 在终端中运行以下命令来下载并运行 DeepSeek Coder 6.7B。 注意:请根据您的计算机配置和需求,选择合适的模型和托管方案。
ollama run deepseek-coder:6.7b-base

b.下载并在另一个终端窗口中运行 Llama 3 8B,方法是运行

ollama run llama3:8b

c.单击“继续”右下角的齿轮图标,打开config.json并添加

1
{ "models": [ { "title": "Llama 3 8B", "provider": "ollama", "model": "llama3:8b" } ], "tabAutocompleteModel": { "title": "DeepSeek Coder 6.7B", "provider": "ollama", "model": "deepseek-coder:6.7b-base" } }

为了支持 Continue 的 @codebase 上下文提供程序,您可以使用 Ollama 的 nomic-embed-text 嵌入来自动从代码库中检索最相关的片段。假设您已经设置了聊天模型(例如 Codestral、Llama 3),由于 Ollama 和 LanceDB 的嵌入,您可以将整个体验保留在本地。到目前为止,我们建议使用 nomic-embed-text 嵌入。

ollama pull nomic-embed-text

b.单击“继续”右下角的齿轮图标,打开config.json并添加

1
{ "embeddingsProvider": { "provider": "ollama", "model": "nomic-embed-text" } }

自动化软件构建数据收集与模型微调

1. 开发数据收集

使用Continue时,会自动收集构建软件的数据,默认保存在本地的.continue/dev_data目录。这些数据与提交的代码结合,可用于改进LLM(如果允许)。

2. 微调StarCoder 2并推送至Ollama模型库

a. 提取接受的自动完成建议

  • 这里提取“接受的选项卡建议”并加载到Hugging Face数据集中。

b. 使用Hugging Face微调StarCoder 2

  • 通过这个链接使用Hugging Face Supervised Fine-tuning Trainer微调StarCoder 2。

c. 推送模型至Ollama模型库

  • 按照这个指南将模型推送到Ollama模型库,供团队使用并衡量接受率变化。

3. 使用@docs上下文提供程序提问

Continue内置了@docs上下文提供程序,允许从任何文档站点索引和检索片段。

a. 设置聊天模型

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

b. 索引Ollama自述文件

  • 索引完成后,可以提问并自动在答案中找到并使用Ollama自述文件的重要部分(例如“@Ollama 我如何运行Llama 3?”)。

4. 加入社区

如果您在使用Continue和Ollama的过程中遇到问题或有疑问,欢迎加入Continue DiscordOllama Discord获取帮助和答案。