Skip to content

多Coze-Bot配置的作用

  1. 高并发时随机请求配置好的被Coze托管的机器人列表,使机器人响应达到负载均衡。
  2. 通过[proxySecret]+[model]指定需要响应的机器人。

目前在大量测试后发现貌似同一个coze账号下发布的所有bot共享一套coze自有的负载均衡,所以建议使用多个coze账号,每个账号只发布一个bot。

1. 创建多机器人配置文件

机器人一定要先邀请进同一个Discord服务器!

在执行docker/docker-compose命令的同级目录下创建data/config/bot_config.json文件。

shell
[root@CVM42567 cdp]# tree
.
|-- data
|   `-- config
|       `-- bot_config.json
`-- docker-compose.yml

2. 编写多机器人配置文件

shell
[
  {
    "proxySecret": "123", // 接口请求密钥(PROXY_SECRET)(注意:此密钥在环境变量PROXY_SECRET中存在时该Bot才可以被匹配到!)
    "cozeBotId": "12***************31", // coze托管的机器人ID
    "model": ["gpt-3.5","gpt-3.5-16k"], // 模型名称(数组格式)(与请求参数中的model对应,如请求中的model在该json中未匹配到则会抛出异常)
    "channelId": "12***************56"  // [可选]discord频道ID(机器人必须在此频道所在的服务器)
  },
  {
    "proxySecret": "456",
    "cozeBotId": "12***************64",
    "model": ["gpt-4","gpt-4-16k"],
    "channelId": "12***************78"
  },
  {
    "proxySecret": "789",
    "cozeBotId": "12***************12",
    "model": ["dall-e-3"],
    "channelId": "12***************24"
  }
  ...
]

3. 重启服务

重启服务,查看服务启动的打印日志,如打印了载入配置文件成功bot_config.json中的内容即说明配置生效。

shell
[root@CVM42567 cdp]# docker logs -f 46dd47726a55
[SYS] 2024/04/28 - 14:08:01 | COZE-DISCORD-PROXY vX.X.X started 
[SYS] 2024/04/28 - 14:08:01 | 载入配置文件成功 BotConfigs: [...] 
[SYS] 2024/04/28 - 14:08:03 | Environment variable check passed. 
[SYS] 2024/04/28 - 14:08:03 | Bot is now running. Enjoy It.

当有此bot_config.json配置时会覆盖掉环境变量中的 COZE_BOT_ID ,接收到请求时会使用请求头中携带的[请求密钥]+请求体中的[model]联合匹配此配置中的`cozeBotId`,若匹配到多个则随机选择一个。

配置很灵活,可以根据自己的需求进行配置。

Released under the MIT License.