Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[功能请求+BUG]上游有可能混用API类型和模型(本项目就是如此),因此建议可以指定渠道的API类型 #321

Closed
5 tasks done
imldy opened this issue Jul 24, 2023 · 6 comments
Labels
enhancement New feature or request

Comments

@imldy
Copy link

imldy commented Jul 24, 2023

例行检查

  • 我已确认目前没有类似 issue
  • 我已确认我已升级到最新版本
  • 我已完整查看过项目 README,尤其是常见问题部分
  • 我理解并愿意跟进此 issue,协助测试和提供反馈
  • 我理解并认可上述内容,并理解项目维护者精力有限,不遵循规则的 issue 可能会被无视或直接关闭

问题描述

我的上游渠道使用 OpenAI 接口规范下的的chat/completion接口提供了Claude网页版模型,名为claude-2-web。(上游为OhMyGPT)

目前代码根据模型前缀判断了API类型。正常没问题,但只是上游可能会想这样混用API和模型。

if strings.HasPrefix(textRequest.Model, "claude") {
apiType = APITypeClaude

目前通过OpenAI接口提供别的模型的不在少数,甚至本项目就是这样。

因此建议上游渠道可以指定API类型。

复现步骤

通过openai接口提供claude开头的自定义模型,即可复现。

@imldy imldy added the bug Something isn't working label Jul 24, 2023
@songquanpeng
Copy link
Owner

确实哦,但是也只能通过模型名称来区分,因为不能改 API 的格式。

你有什么具体的想法吗?

@songquanpeng songquanpeng added enhancement New feature or request and removed bug Something isn't working labels Jul 24, 2023
@songquanpeng
Copy link
Owner

目前你可以用模型映射功能作为 workaround

@imldy
Copy link
Author

imldy commented Jul 24, 2023

确实哦,但是也只能通过模型名称来区分,因为不能改 API 的格式。

你有什么具体的想法吗?

细化渠道或者模型的定义。

可以手动指定使用的API类型就行。

  1. 渠道指定API类型:给渠道加个字段,表明渠道所使用的API类型,比如如果指定了OpenAI类型,那么这个渠道所有模型都将使用此。
  2. 模型指定API类型:同上

更进一步,如果后期OneAPI对外开放别的公司的API接口已兼容部分客户端,可能就要”路由“这个概念了,根据被请求的路径+模型名+数据包格式,确定上游的这三个因素(API类型)。 不成熟想法

个人拙见。

@songquanpeng
Copy link
Owner

songquanpeng commented Jul 24, 2023 via email

@songquanpeng
Copy link
Owner

已修复,已推送 v0.5.1-alpha

@imldy
Copy link
Author

imldy commented Jul 24, 2023

已修复,已推送 v0.5.1-alpha

感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants