#2ad5ec2 中已默认支持多key轮询不需要再自行修改添加

Key池

所谓的Key池,就是允许使用多个API Key,来突破5美元密钥的并发限制,默认情况下,单个5美元密钥的限制是每分钟3个请求,增加Key池后可突破此限制,使网站响应速度大大加快;

增加Key池实现多Key轮询

由于项目本身没有接入任何数据库,修改就比较简单。

  1. 打开/app/config/server.ts
  2. 原始代码

1847822618.png

  1. 修改为下列

3684846479.png
贴上代码以便于复制

// 增加Key池实现多Key 轮询
// 从这里开始
const apiKeys = (process.env.OPENAI_API_KEY ?? '').split(',')
const apiKey = apiKeys.at(Math.floor(Math.random() * apiKeys.length)) ?? ''


return {
apiKey, // 到这结束
code: process.env.CODE,
codes: ACCESS_CODES,
needCode: ACCESS_CODES.size > 0,
baseUrl: process.env.BASE_URL,
proxyUrl: process.env.PROXY_URL,
isVercel: !!process.env.VERCEL,
hideUserApiKey: !!process.env.HIDE_USER_API_KEY,
enableGPT4: !process.env.DISABLE_GPT4,
hideBalanceQuery: !!process.env.HIDE_BALANCE_QUERY,
};
};
  1. 在Vercel上修改环境变量OPENAI_API_KEY为用英文逗号隔开的多个OpenAl ApiKey(例如sk-xxxx1,sk-xxxx2 , sk-xxx3),并重新redeploy即可