VSCodium Continue 插件配置指北

⚠️ Warning

已弃用。

速通

简单说,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,还支持通过 OllamaStarCoder 的自动补全,不过看到模型 1.8G 就不想下载……只是简单在 Continue 中配置 API2D。

⚠️ Warning

归档 部分已过时,API2D 现在只需要额外指定 apiBase,其他正常填写即可,Cline 同理。

比如最新支持的 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 能够通过,并且也是唯一一个全部通过的。

Vinfall's Geekademy

Sine īrā et studiō


待在移除遥测 VSCodium 的我想通过 API2D 使用 claude-3.7-sonnet 该如何是好

发布 2024-03-18
更新 2024-03-19
全文 1041 字
签名 html asc

QR code
QR code linking to https://blog.vinfall.com/posts/2024/03/vscodium-api2d/
#api #llm #plugin #setup