one-api
one-api copied to clipboard
feat: support /v1/rerank router
close #1397
参考如下几个项目的rerank接口做适配
-
Fast GPT 提供的bge-reranker-large等示例 https://github.com/labring/FastGPT/blob/a0c1320d477fd00769983d8ddcbb2b2c2f8fd3c3/python/bge-rerank/bge-reranker-large/app.py#L69
-
q2wxec https://github.com/q2wxec/lang2openai?tab=readme-ov-file#4%E6%8E%A5%E5%8F%A3%E4%B8%80%E8%A7%88
-
api-for-open-llm https://github.com/xusenlinzy/api-for-open-llm/blob/e46e48056a02ffbd90e0dfe4bc2f803df1e7e4e1/tests/rerank.py#L14
-
xinference https://github.com/xorbitsai/inference/blob/5d55c9c791680383157dab65e0071b8ceca0c138/xinference/client/restful/restful_client.py#L166
我已确认该 PR 已自测通过,相关截图如下: oneapi 渠道设置
渠道1 基于Fast GPT 提供接口示例测试的bge模型
渠道2 xinference 使用bcg模型
测试
bge-test测试
bcg测试
oneapi路由通过
Fast GPT rerank接入测试通过
配置
重排结果
ack
考虑支持Text embedding inference吗
考虑支持Text embedding inference吗
暂时还没有,等这个过了后面再添加
不好意思我前段时间比较忙搁置了
不好意思我前段时间比较忙搁置了
没事没事,Fighting
这还没合并么
@songquanpeng 合并一波呗
为什么我的配置了oneapi路由xinference的rerank模型,fastgpt请求oneapi,但是oneapi日志中给的/v1/rerank路由rerank依然是404 fastgpt单独配置xinference的rerank模型可以正常接入
是因为还没合并吗
是因为还没合并吗
还没合并呢
@nongmo677 有一个小顾虑,类型用 OpenAI 会不会不太妥当,毕竟这个 rerank 实际上并不是 openai 的标准格式,搞个单独的 rerank 类型会不会更好些?
只是我个人意见,不知道其他人怎么看。
@nongmo677 有一个小顾虑,类型用 OpenAI 会不会不太妥当,毕竟这个 rerank 实际上并不是 openai 的标准格式,搞个单独的 rerank 类型会不会更好些?
只是我个人意见,不知道其他人怎么看。
这部分没想好,这么干只是为了偷懒,快速做出这个需求,分离出来当然是最好的
😂日常一看。 干脆单独加一个 cohere 类的提供商?
😂日常一看。 干脆单独加一个 cohere 类的提供商?
先坐等一个大佬合并优化一下吧,放到一个新的模块里,我这个还是满粗糙的
@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。
@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。
说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。
@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。
说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。
那为什么不直接发,而是需要 oneapi 转发呢?
@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。
说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。
那为什么不直接发,而是需要 oneapi 转发呢?
因为需要额外配置一个地址,而且缺少重试操作。
@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。
说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。
那为什么不直接发,而是需要 oneapi 转发呢?
因为需要额外配置一个地址,而且缺少重试操作。
有道理,搞一个。