deanxv / coze-discord-proxy

代理Discord对话Coze-Bot,实现以API形式请求GPT4模型,提供对话、文生图、图生文、知识库检索等功能。
GNU General Public License v3.0
3.6k stars 1.05k forks source link

使用模型名来指定bot #25

Closed jzksnsjswkw closed 7 months ago

jzksnsjswkw commented 7 months ago

例行检查

功能描述 请求密钥应该用来鉴权,而不是用于分配具体的bot,这个功能应该由模型名来实现 应用场景 coze可以为bot定义提示词,使用模型名来区分不同的bot更为合适

deanxv commented 7 months ago

其实之前有想过,但如果用模型名来区分的话,当切换模型时,虽然会切换到指定模型的bot,但因为切换了bot,上下文会乱掉,上下文对于此项目来讲我感觉优先级很高。

毕竟对于discord bot代理服务来讲,想做到完全复刻官方接口难度极高,所以必须做出取舍。才设计为多用户情况下每个人一个key,通过key对应自己的bot和上下文频道。

再就是本身对于coze来讲,模型也只有三个,甚至还包含了openai目前不存在的模型,所以多次考虑后才如此设计。

jzksnsjswkw commented 7 months ago

其实之前有想过,但如果用模型名来区分的话,当切换模型时,虽然会切换到指定模型的bot,但因为切换了bot,上下文会乱掉,上下文对于此项目来讲我感觉优先级很高。

毕竟对于discord bot代理服务来讲,想做到完全复刻官方接口难度极高,所以必须做出取舍。才设计为多用户情况下每个人一个key,通过key对应自己的bot和上下文频道。

再就是本身对于coze来讲,模型也只有三个,甚至还包含了openai目前不存在的模型,所以多次考虑后才如此设计。

单独为每个用户设置模型名对应的bot就行,其实并不冲突。单独加一个model字段,然后使用other或者all做回退就行。 想过提pr但是对api不了解怕改错:(

deanxv commented 7 months ago

其实之前有想过,但如果用模型名来区分的话,当切换模型时,虽然会切换到指定模型的bot,但因为切换了bot,上下文会乱掉,上下文对于此项目来讲我感觉优先级很高。

毕竟对于discord bot代理服务来讲,想做到完全复刻官方接口难度极高,所以必须做出取舍。才设计为多用户情况下每个人一个key,通过key对应自己的bot和上下文频道。

再就是本身对于coze来讲,模型也只有三个,甚至还包含了openai目前不存在的模型,所以多次考虑后才如此设计。

单独为每个用户设置模型名对应的bot就行,其实并不冲突。单独加一个model字段,然后使用other或者all做回退就行。

想过提pr但是对api不了解怕改错:(

是这样的,切换model会导致切换机器人,切换机器人会导致上下文乱掉。

deanxv commented 7 months ago

其实之前有想过,但如果用模型名来区分的话,当切换模型时,虽然会切换到指定模型的bot,但因为切换了bot,上下文会乱掉,上下文对于此项目来讲我感觉优先级很高。

毕竟对于discord bot代理服务来讲,想做到完全复刻官方接口难度极高,所以必须做出取舍。才设计为多用户情况下每个人一个key,通过key对应自己的bot和上下文频道。

再就是本身对于coze来讲,模型也只有三个,甚至还包含了openai目前不存在的模型,所以多次考虑后才如此设计。

单独为每个用户设置模型名对应的bot就行,其实并不冲突。单独加一个model字段,然后使用other或者all做回退就行。

想过提pr但是对api不了解怕改错:(

这个需求并不是做不了,而是如果用户在页面中一个上下文中多次切换模型从而导致在discord中@不同的机器人,上下文被多个机器人分割开,而在页面中用户并无感知,他只会认为这是一套上下文,会产生更多的疑问。

这套服务中上下文并非由我们控制,全依靠discord的频道做隔离。没办法什么都兼容到,只能做出取舍的。

jzksnsjswkw commented 7 months ago

想着在nextchat上通过不同会话隔离的,有些问题确实没有考虑周全