已弃用。
速通
简单说,vscodium = 移除遥测的 VSCode,同时默认的插件源从 M$ Marketplace 换为 Open VSX,少了几个采用专有协议 的 Marketplace 独占插件,其他基本通用。
API2D 是按量计费的 OpenAI API 兼容层,可以使用国内付款方式,并且不需要月费就能使用 o3-mini,还不会因为 IP 受到 OpenAI 各种莫名其妙的限制。
我在早期通过 API 使用 ChatGPT 更划算的时期就尝试,现在用习惯也懒得换成遵守 GDPR 的 Azure OpenAI API 已禁止大陆用户使用。反正 CloseAI 账号是不可能注册的,只有第三方兼容层才能勉强维持最低限度的隐私。
chatgpt-vscode 虽然也上了 Open VSX,但很久没更新,嫌弃没有尝试。上个月看到 continue 感觉挺不错,除了 VSCode 还支持 JetBrains,并且支持一系列本地部署 LLM,还支持通过 Ollama 和 StarCoder 的自动补全,不过看到模型 1.8G 就不想下载……只是简单在 Continue 中配置 API2D。
比如最新支持的 gemini-2.0-flash,其他自行类推:
{
"models": [
{
"title": "Gemini-2.0-Flash",
"provider": "openai", // API2D 统一使用 OpenAI API,不要改成 gemini
"apiBase": "https://stream.api2d.net",
"model": "gemini-2.0-flash",
"apiKey": "fk..."
},
归档
配置部分直接参考 Continue 文档中的 OpenAI compatible servers / APIs 和 API2D 开发文档中的 聊天接口 /v1/chat/completions,写完大概这样:
// Linux: $HOME/.continue/config.json
// Windows: %USERPROFILE%\.continue\config.json
{
"models": [
{
"title": "GPT-3.5 (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": "GPT-3.5 (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": "GPT-3.5 (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 能够通过,并且也是唯一一个全部通过的。
