多Coze-Bot配置的作用
- 高并发时随机请求配置好的被Coze托管的机器人列表,使机器人响应达到负载均衡。
- 通过[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`,若匹配到多个则随机选择一个。
配置很灵活,可以根据自己的需求进行配置。