使用 DeepSeek API 配合 Continue 插件代替 Copilot
编辑前言
最近,DeepSeek API
进行了升级,现在支持 FIM (Fill-In-the-Middle)
补全接口。这让我想到可以尝试将 DeepSeek API
和 Continue
插件结合使用,从而替代 Copilot
来进行代码补全。在本文中,我将详细说明如何在 VSCode 中配置和使用这些工具。
准备工作
-
安装 VSCode 插件: 首先,在 VSCode 中安装
Continue
插件。如果尚未安装,请在 VSCode 扩展市场中搜索并安装。 -
获取 DeepSeek API 访问权限: 确保你已获得 DeepSeek API 的访问权限,并获取了 API 密钥。你可以在 DeepSeek 官方网站 上注册并获取相关信息。
配置 Continue 插件
-
初始设置:安装完成后,打开 VSCode 的左侧栏,点击 Continue 插件的图标。根据提示进行初始设置,其中包括选择补全模型和 API 提供商。
-
生成配置文件:完成初始设置后,在 Continue 插件的界面中,点击右下角的“设置”按钮。此操作将弹出配置界面,其中包含默认生成的
config.json
配置文件。 -
修改配置:根据你的需求,调整弹出窗口中的配置,确保以下设置正确无误:
{
"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 密钥。
使用指南
-
启动 Continue 插件:在 VSCode 中启动 Continue 插件。配置文件生成并保存后,Continue 将自动使用 DeepSeek API 提供的补全功能。
-
代码补全:在代码编写过程中,Continue 将根据配置自动提供补全建议,利用 DeepSeek API 的强大功能来提高你的开发效率。
-
自定义命令:通过 Continue 插件界面,可以调用自定义命令,例如为选中的代码生成单元测试。
-
调试和优化:根据实际使用情况,调整
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>" },
并确保
apiBase
和apiKey
正确无误。
- 1
- 0
-
分享