ChatGPT-Next-Web **功能请求** :基于模型服务商和模型名选择请求格式,而不是简单地依赖于模型名,

cnjp1d6j  于 2个月前  发布在  其他
关注(0)|答案(3)|浏览(102)

问题描述

有如下情景:
经过 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格式不简单地通过模型名称来分别。

解决方案描述

对于这个问题,我的解决思路是:

  1. 区分自定义模型设置,各个模型服务商可以配置对应的自定义模型
  2. 使用 模型服务商+模型名 ,唯一描述一个模型允许的请求格式
  3. 现有的识图功能可以基于模型名进行区分,模型服务商仅区别请求格式
  4. 基于用户选定的 模型名(服务商) 确定模型名和请求格式(OpenAI/Google/Azure等)

考虑的其他方案

  • 无响应*

附加上下文

  • 无响应*
aemubtdh

aemubtdh1#

检测到问题正文的语言不是英语,自动翻译。

标题: [功能请求]:根据模型服务提供商和模型名称选择请求格式,而不仅仅是依赖于模型名称

问题描述

存在以下情况:
通过 one-api 获取 gemini-pro 模型的 openai 请求格式,即请求格式相似:

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,仍然会提示您配置谷歌作为模型服务提供商。

我相信有很多类似情况。实际上,如果您通过 one_api 传输 API,可以使用 openai API 客户端轻松实现多端点和多密钥轮询。只需确保使请求的 API 格式不简单地由模型名称区分即可。

解决方案描述

我解决此问题的方法是:

  1. 区分自定义模型设置。每个模型服务提供商都可以配置相应的自定义模型。
  2. 使用 model service provider + model name 来唯一描述一个模型允许的请求格式。
  3. 现有的图像识别功能可以根据模型名称区分,而模型服务提供商只区分请求格式。
  4. 根据用户选择的 model name (service provider) 确定模型名称和请求格式(OpenAI/Google/Azure 等)

考虑的其他替代方案

  • 无响应*

其他上下文

  • 无响应*
fcy6dtqo

fcy6dtqo2#

可以在one-api里设置别名,然后在next-web里再设置回显示名。

qybjjes1

qybjjes13#

检测到问题正文的语言不是英语,请自动翻译。
您可以在one-api中设置别名,然后在next-web中设置显示名称。

相关问题