one-api icon indicating copy to clipboard operation
one-api copied to clipboard

feat: support /v1/rerank router

Open nongmo677 opened this issue 10 months ago • 3 comments

close #1397

参考如下几个项目的rerank接口做适配

  1. Fast GPT 提供的bge-reranker-large等示例 https://github.com/labring/FastGPT/blob/a0c1320d477fd00769983d8ddcbb2b2c2f8fd3c3/python/bge-rerank/bge-reranker-large/app.py#L69

  2. q2wxec https://github.com/q2wxec/lang2openai?tab=readme-ov-file#4%E6%8E%A5%E5%8F%A3%E4%B8%80%E8%A7%88

  3. api-for-open-llm https://github.com/xusenlinzy/api-for-open-llm/blob/e46e48056a02ffbd90e0dfe4bc2f803df1e7e4e1/tests/rerank.py#L14

  4. xinference https://github.com/xorbitsai/inference/blob/5d55c9c791680383157dab65e0071b8ceca0c138/xinference/client/restful/restful_client.py#L166

我已确认该 PR 已自测通过,相关截图如下: oneapi 渠道设置

渠道1 基于Fast GPT 提供接口示例测试的bge模型 fast-bge

渠道2 xinference 使用bcg模型 xin

测试 bge-test测试 bge-test

bcg测试 bcg-test

oneapi路由通过 oneapi-rerank

nongmo677 avatar Apr 30 '24 05:04 nongmo677

Fast GPT rerank接入测试通过

配置 image

重排结果 image

nongmo677 avatar Apr 30 '24 06:04 nongmo677

ack

songquanpeng avatar Apr 30 '24 11:04 songquanpeng

考虑支持Text embedding inference吗

zhanghx0905 avatar May 02 '24 08:05 zhanghx0905

考虑支持Text embedding inference吗

暂时还没有,等这个过了后面再添加

nongmo677 avatar May 20 '24 08:05 nongmo677

不好意思我前段时间比较忙搁置了

songquanpeng avatar May 20 '24 17:05 songquanpeng

不好意思我前段时间比较忙搁置了

没事没事,Fighting

nongmo677 avatar May 27 '24 01:05 nongmo677

这还没合并么

ZXP8080 avatar Jun 06 '24 00:06 ZXP8080

@songquanpeng 合并一波呗

seven-yu avatar Jun 12 '24 09:06 seven-yu

image image image

为什么我的配置了oneapi路由xinference的rerank模型,fastgpt请求oneapi,但是oneapi日志中给的/v1/rerank路由rerank依然是404 fastgpt单独配置xinference的rerank模型可以正常接入

lizhe-github avatar Jun 20 '24 07:06 lizhe-github

是因为还没合并吗

lizhe-github avatar Jun 20 '24 07:06 lizhe-github

是因为还没合并吗

还没合并呢

ZXP8080 avatar Jun 22 '24 12:06 ZXP8080

@nongmo677 有一个小顾虑,类型用 OpenAI 会不会不太妥当,毕竟这个 rerank 实际上并不是 openai 的标准格式,搞个单独的 rerank 类型会不会更好些?

只是我个人意见,不知道其他人怎么看。

Laisky avatar Jun 24 '24 03:06 Laisky

@nongmo677 有一个小顾虑,类型用 OpenAI 会不会不太妥当,毕竟这个 rerank 实际上并不是 openai 的标准格式,搞个单独的 rerank 类型会不会更好些?

只是我个人意见,不知道其他人怎么看。

这部分没想好,这么干只是为了偷懒,快速做出这个需求,分离出来当然是最好的

nongmo677 avatar Jun 24 '24 07:06 nongmo677

😂日常一看。 干脆单独加一个 cohere 类的提供商?

c121914yu avatar Jun 26 '24 15:06 c121914yu

😂日常一看。 干脆单独加一个 cohere 类的提供商?

先坐等一个大佬合并优化一下吧,放到一个新的模块里,我这个还是满粗糙的

nongmo677 avatar Jun 27 '24 03:06 nongmo677

@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。

Laisky avatar Jun 27 '24 05:06 Laisky

@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。

说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。

c121914yu avatar Jun 27 '24 05:06 c121914yu

@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。

说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。

那为什么不直接发,而是需要 oneapi 转发呢?

Laisky avatar Jun 27 '24 05:06 Laisky

@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。

说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。

那为什么不直接发,而是需要 oneapi 转发呢?

因为需要额外配置一个地址,而且缺少重试操作。

c121914yu avatar Jun 27 '24 05:06 c121914yu

@nongmo677 可以仿照其他 channel,加一个专门做各种插件的 channel,然后在里面实现 rerank,以后有其他的非标插件都可以往里面加。

说到这个,我感觉应该有一个类型,不做任何的格式转化,直接完整转发即可,目前OneAPI没有个自定义转发的渠道,如果不是标准类型,就没法接入,得单独让下游配一个额外地址,有点难受。

那为什么不直接发,而是需要 oneapi 转发呢?

因为需要额外配置一个地址,而且缺少重试操作。

有道理,搞一个。

Laisky avatar Jun 27 '24 05:06 Laisky