问题描述
有如下情景:
经过 one-api 得到 openai 请求格式的 gemini-pro 模型,即请求格式类似:
POST {{one_base}}/v1/chat/completions
Content-Type: application/json
Authorization: Bearer {{one_key}}
{
"model": "gemini-pro",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "hello"
}
],
"stream": true
}
如果填入one_base作为 openai 的自定义端点,填入one_key、自定义模型gemini-pro,仍然提示需要配置 Google 作为模型服务商。
类似的情景我相信还有很多。其实如果通过one_api来中转api,这边以 openai API 的客户端,完全可以轻松地实现多端点、多key的轮询。只需要让发起请求的api格式不简单地通过模型名称来分别。
解决方案描述
对于这个问题,我的解决思路是:
- 区分自定义模型设置,各个模型服务商可以配置对应的自定义模型
- 使用
模型服务商+模型名
,唯一描述一个模型允许的请求格式 - 现有的识图功能可以基于模型名进行区分,模型服务商仅区别请求格式
- 基于用户选定的
模型名(服务商)
确定模型名和请求格式(OpenAI/Google/Azure等)
考虑的其他方案
- 无响应*
附加上下文
- 无响应*
3条答案
按热度按时间aemubtdh1#
检测到问题正文的语言不是英语,自动翻译。
标题: [功能请求]:根据模型服务提供商和模型名称选择请求格式,而不仅仅是依赖于模型名称
问题描述
存在以下情况:
通过 one-api 获取 gemini-pro 模型的 openai 请求格式,即请求格式相似:
如果您将 one_base 作为 openai 的自定义端点,填写 one_key 和自定义模型 gemini-pro,仍然会提示您配置谷歌作为模型服务提供商。
我相信有很多类似情况。实际上,如果您通过 one_api 传输 API,可以使用 openai API 客户端轻松实现多端点和多密钥轮询。只需确保使请求的 API 格式不简单地由模型名称区分即可。
解决方案描述
我解决此问题的方法是:
model service provider + model name
来唯一描述一个模型允许的请求格式。model name (service provider)
确定模型名称和请求格式(OpenAI/Google/Azure 等)考虑的其他替代方案
其他上下文
fcy6dtqo2#
可以在one-api里设置别名,然后在next-web里再设置回显示名。
qybjjes13#
检测到问题正文的语言不是英语,请自动翻译。
您可以在one-api中设置别名,然后在next-web中设置显示名称。