ccruiの博客

ccruiの博客

使用 DeepSeek API 配合 Continue 插件代替 Copilot

1341
2024-08-21

66c602d3deb1e.png

前言

最近,DeepSeek API 进行了升级,现在支持 FIM (Fill-In-the-Middle) 补全接口。这让我想到可以尝试将 DeepSeek APIContinue 插件结合使用,从而替代 Copilot 来进行代码补全。在本文中,我将详细说明如何在 VSCode 中配置和使用这些工具。

准备工作

  1. 安装 VSCode 插件: 首先,在 VSCode 中安装 Continue 插件。如果尚未安装,请在 VSCode 扩展市场中搜索并安装。

  2. 获取 DeepSeek API 访问权限: 确保你已获得 DeepSeek API 的访问权限,并获取了 API 密钥。你可以在 DeepSeek 官方网站 上注册并获取相关信息。

配置 Continue 插件

  1. 初始设置:安装完成后,打开 VSCode 的左侧栏,点击 Continue 插件的图标。根据提示进行初始设置,其中包括选择补全模型和 API 提供商。

  2. 生成配置文件:完成初始设置后,在 Continue 插件的界面中,点击右下角的“设置”按钮。此操作将弹出配置界面,其中包含默认生成的 config.json 配置文件。

  3. 修改配置:根据你的需求,调整弹出窗口中的配置,确保以下设置正确无误:

{
  "completionOptions": {
    "temperature": 0,
    "maxTokens": 4096
  },
  "models": [
    {
      "title": "DeepSeek",
      "provider": "openai",
      "systemMessage": "You are an expert software developer. You give helpful and concise responses.",
      "model": "deepseek-coder",
      "apiBase": "https://api.deepseek.com/beta",
      "apiKey": "your-deepseek-api-key-here",
      "contextLength": 8192
    }
  ],
  "tabAutocompleteOptions": {
    "maxPromptTokens": 4096
  },
  "tabAutocompleteModel": {
    "title": "DeepSeek-V2",
    "model": "deepseek-coder",
    "apiKey": "your-deepseek-api-key-here",
    "contextLength": 8192,
    "apiBase": "https://api.deepseek.com/beta",
    "completionOptions": {
      "maxTokens": 4096,
      "temperature": 0,
      "topP": 1,
      "presencePenalty": 0,
      "frequencyPenalty": 0
    },
    "provider": "openai"
  },
  "customCommands": [
    {
      "name": "测试",
      "prompt": "{{{ input }}}\n\n为所选代码编写一套全面的单元测试。它应该设置、运行检查正确性的测试,包括重要的边界情况,并进行清理。确保测试是完整且复杂的。仅以聊天输出的形式给出测试,不要编辑任何文件。",
      "description": "为高亮代码编写单元测试"
    }
  ],
  "reranker": {
    "name": "free-trial"
  }
}

请确保 apiBase 使用的是 https://api.deepseek.com/beta,并将 your-deepseek-api-key-here 替换为你的实际 DeepSeek API 密钥。

使用指南

  1. 启动 Continue 插件:在 VSCode 中启动 Continue 插件。配置文件生成并保存后,Continue 将自动使用 DeepSeek API 提供的补全功能。

  2. 代码补全:在代码编写过程中,Continue 将根据配置自动提供补全建议,利用 DeepSeek API 的强大功能来提高你的开发效率。

  3. 自定义命令:通过 Continue 插件界面,可以调用自定义命令,例如为选中的代码生成单元测试。

  4. 调试和优化:根据实际使用情况,调整 config.json 中的参数,以获得最佳的补全效果。

注意

修改完成配置文件后,请确保保存并重启 VSCode,以使配置生效。

默认使用的 embeddingsProvider 模型为 transformers.js ,如果需要修改,需要在配置文件中加入

 "embeddingsProvider": {
   "provider": "openai",
   "model": "text-embedding-3-small",
   "apiBase": "<your custom OpenAI-compatible endpoint>", // optional, defaults to OpenAI's API
   "apiKey": "<OPENAI_API_KEY>"
 },

并确保 apiBaseapiKey 正确无误。