为 zed IDE 设置自定义 LLM provider
- One minute read - 170 words在Zed
IDE中,默认只支持以下几种 providers :
这对于国内开发者来说,由于政策原因,想使用起来可能需要借助一些科学上网的方法,这就有点麻烦了。另外国内几个大模型公司也都提供了一定的免费额度的 tokens,如果可以在 Zed 里集成国内几家的大模型,也是一个不错的主意。
几个月前试图通过自定义Endpoint
的方法绕过官方对使用区域的限制,但一直没有成功。今天重新试了一下仍是无效,本想打算在官方仓库里开发一个自定义provider的功能,就是感觉着有点麻烦,另外更担心个人电脑过旧,编译是一个大问题,于是重新在issue里找到了一个解决办法 https://github.com/zed-industries/zed/pull/13276,就是设置起来有点麻烦。
本文将其设置方法整理如下。
配置 settings.json
首先配置 settings.json 里的 assistant
和 language_models
。
这里以 DeepSeek 为例,完整的内容如下
{
"assistant": {
"default_model": {
"provider": "openai",
"model": "deepseek-chat"
},
"enabled": true,
"provider": {
"name": "openai",
"default_model": {
"custom": {
"max_tokens": 32000,
"name": "deepseek-chat"
}
},
"available_models": [
{
"custom": {
"name": "deepseek-chat",
"max_tokens": 32000
}
},
{
"custom": {
"name": "deepseek-code",
"max_tokens": 32000
}
}
],
"api_url": "https://api.deepseek.com/v1"
},
"version": "2"
},
"language_models": {
"openai": {
"version": "1",
"api_url": "https://api.deepseek.com/v1",
"available_models": [
{
"provider": "openai",
"name": "deepseek-chat",
"max_tokens": 32000
},
{
"provider": "openai",
"name": "deepseek-code",
"max_tokens": 32000
}
]
}
},
}
上面有些配置项看起来是重复的,这个不用管它,不要做任何删除操作,将其复制到 settings.json
文件里代替原来的配置项即可。其中 assistant.default_model
里的值会在后面选择不同模型时动态的更新。
配置 OpenAI KEY
在 IDE 右下角点击 Assistant Panel
再点击右上角的 ”三“ 图标,选择 Configuration
,在最下方找到 OpenAI
配置项,将 DeepSeek 的 KEY
粘贴到填写框,然后按 回车键 确认配置,这时会在 OpenAI
配置项的右侧多出来一个 配置项,点击创建一个 对话下下文窗口
这时会看到一个新的对话窗口,然后在右上角选择一个我们刚刚添加的模型
这时我们提问一个问题,并按 command+enter
组合键,可以看到它的回答,表示我们的配置正常。
第一个返回回复总是与问题完全一样,后面的就正常了,不清楚什么原因。
至此配置结束。
说明
- 上面的配置有点复杂,其中有些配置项看着有点重复,不过确实满足了我们的需要,况且对于配置操作一般就一次,也就无所谓了
- 这里以 DeepSeek 为例,我们可以切换成阿里的 Qwen 模型,或 Doubao 模型