KenyonY / openai-forward

🚀 大语言模型高效转发服务 · An efficient forwarding service designed for LLMs. · OpenAI API Reverse Proxy
https://api.openai-forward.com
MIT License
839 stars 288 forks source link

能否实现按照 model 进行区分 #120

Closed EchoShoot closed 8 months ago

EchoShoot commented 8 months ago

Checklist

详细描述

我们在利用 api-for-open-llm 项目做部署的时候会发现只能启动一个模型。

假设模型部署如下:

假设我用两个 api-for-open-llm 分别完成下方部署 (【格式】模型名称: 访问网址)

假设 openai-forward 部署情况如下:

现在希望代码base_url接入后,通过model 进行管理

client = OpenAI(
    base_url='http://127.0.0.1:8000/v1',
    api_key="EMPTY",
)
# 希望如此就能调用 gpt3.5
completion = client.chat.completions.create(
        model='gpt3.5',
        messages=messages,
        temperature=0.85,
        top_p=0.8,
    )

# 希望如此就能调用 gpt4
completion = client.chat.completions.create(
        model='gpt4',
        messages=messages,
        temperature=0.85,
        top_p=0.8,
    )
KenyonY commented 8 months ago

对于默认openai官方接口,目前已经可以支持通过FORWARD_KEY+LEVEL_MODELS的方式去控制使用哪些模型,使用方法可以在webui中看到。
对于自定义的多个接口服务,如url1 和 url2,可以考虑将它们转发到转发服务下的不同路由,如'http://127.0.0.1:8000/v1' 和 'http://127.0.0.1:8000/v2' 。
暂时可能不会加入根据模型名称转发相应服务的功能,这个自定义化程度有点高

JasonNing96 commented 8 months ago

@KenyonY 您好,请教一个问题,就是在webui中的rate limit, 这是对所有的forward-key进行统一的速率限制吗? 能否仅对单个forward-key进行速率限制或分组区分?

KenyonY commented 8 months ago

@KenyonY 您好,请教一个问题,就是在webui中的rate limit, 这是对所有的forward-key进行统一的速率限制吗? 能否仅对单个forward-key进行速率限制或分组区分?

目前rate limit只支持对相应路由进行速率限制,没有和forward key进行联动。根据forward key进行速率限制是个有用的功能,后面可以实现。

JasonNing96 commented 8 months ago

非常感谢您的回答

EchoShoot commented 8 months ago

感谢!