全文也挺短就不放 ToC 了。简单来说,vscodium 就是移除了遥测的 VSCode,同时默认的插件源从 M$ 官方 Marketplace 换为 Open VSX,少了几个由于专有协议只能出现在 Marketplace 的插件,其他基本通用。
API2D (aff 链接) 是按量计费的 OpenAI API 兼容层,可以使用国内付款方式,并且不需要月费就能使用 GPT-4,还不会因为 IP 受到 OpenAI 各种莫名其妙的限制。
我在早期通过 API 使用 ChatGPT 更划算的时期就尝试了,现在用习惯也懒得换成遵守 GDPR 的 Azure OpenAI API。反正 CloseAI 账号是不可能注册的,只有用第三方兼容层才能勉强维持最低限度的隐私。
API2D 推荐的 chatgpt-vscode 虽然也上了 Open VSX,但仓库都一年多没更新了,一直嫌弃没有尝试。上个月看到 continue 感觉挺不错,除了 VSCode 还支持 JetBrains,并且支持一系列本地部署的 LLM,现在还在测试通过 Ollama 和 StarCoder 的自动补全,不过看到模型 1.8G 就不想下载了……只是简单在 Continue 中尝试性配置 API2D,后面可能就待在 Continue 官方提供的 free trial 养老,不知道有没有 rate limit。
配置部分直接参考 Continue 文档中的 OpenAI compatible servers / APIs 和 API2D 开发文档中的 聊天接口 /v1/chat/completions
,写完大概这样:
// Linux: $HOME/.continue/config.json
// Windows: %USERPROFILE%\.continue\config.json
{
"models": [
{
"title": "API2D",
"provider": "openai",
"model": "gpt-3.5-turbo",
"apiKey": "fk...", // 替换成自己的 key
"apiBase": "https://oa.api2d.net",
"requestOptions": {
"headers": {
"Authorization": "Bearer fk...", // 同上,但保留 Bearer
"Content-Type": "application/json"
}
}
}
],
...
}
Continue 文档某个地方还写了 X-Authorization
之类的 body,其实并不需要。
然后快乐运行,喜提报错:
Continue error: HTTP 403 Forbidden from https://oa.api2d.net/chat/completions {"object":"error","message":"Only /v1/chat/completions && /v1/embeddings allowed now , your path {/chat/completions}","code":40301,"requestId":"xxx"}
看来看去,好像问题也只能出在请求地址上,所以补充上缺失的 /v1
即可(所以为什么 Chat 酱 和 NextChat 都能用= =),同时固定使用的 model 为最新的 gpt-3.5-turbo-0125
:
{
"models": [
{
"title": "API2D",
"provider": "openai",
"model": "gpt-3.5-turbo-0125",
"apiKey": "fk...",
"apiBase": "https://oa.api2d.net/v1",
"requestOptions": {
"headers": {
"Authorization": "Bearer fk...",
"Content-Type": "application/json"
}
}
}
]
}
也可以参考 API2D 开发文档和 OpenAI 文档 自定义 body,比如设置最大 token 和发散度:
{
"models": [
{
"title": "API2D",
"provider": "openai",
"model": "gpt-3.5-turbo-0125",
"apiKey": "fk...",
"apiBase": "https://oa.api2d.net/v1",
"max_tokens": 1000,
"temperature": 0.1,
...
}
]
}
没有测试更多配置,比如流式传输、历史上下文等功能,瞥了几眼 Continue 源码倒是默认会生成会话标题和做一些处理,我就不过度优化了。顺带一提,API2D 前几天也兼容了 Claude,把接口改成 https://oa.api2d.net/claude
即可(这个应该不用加 v1
),所有 GPT-3 模型会被映射为 claude-3-sonnet-20240229
,所有 GPT-4 模型会被映射为 claude-3-opus-20240229
。不过我粗略试了一下 claude3-sonnet-20240229
,感觉智商还是太低,ChatGPT, Bible Tower and Chinese Room 中的三个问题一个都过不了。目前的 LLM 中只有 Copilot 能够通过,并且也是唯一一个全部通过的。