vllm & fastchat pipeline式搭建服务 - peter-xbs/CommonCodes GitHub Wiki

背景

fastchat已停止更新,而vllm不断进化,能持续适配最新模型,但fastchat gradio webserver界面对于测试模型效果还是有优势,因此二者pipeline式结合是完全ok的

vllm启动服务

最新的vllm serve功能,一键启动多种类型兼容式API 实例:

vllm serve /gpfsprd/sunjiahui/Qwen2.5-14B --port 8000 --host 0.0.0.0  --tensor-parallel-size 8 --dtype bfloat16  --trust-remote-code

gradio_server api_endpoint配置

    1. 注意,当vllm serve起服务时未添加api_key,此处需配置EMPTY
    1. 模型名称使用vllm serve时的全路径
    1. api_base使用v1结尾的路径,因为gradio_server后续使用openAI类来加载模型
{
    "qwen-14B": {
        "model_name": "/gpfsprd/sunjiahui/Qwen2.5-14B",
        "api_base": "http://localhost:8000/v1",
        "api_type": "openai",
        "api_key": "EMPTY",
        "anony_only": false
    }
}

gradio_server启动

使用自定义gradio_server.py,具体参考wiki对应页面脚本,执行下述命令

python3 -m fastchat.serve.controller

python3 gradio_server.py --register-api-endpoint-file api_endpoint.json

端口转发

注意,GPU服务器上运行的服务,需通过跳板机转发,本地只能访问跳板机对应端口 备注:vscode有打通隧道的功能,本地想访问跳板机,通过vscode建立隧道成功后方可执行。 示例:

ssh -L localhost:7862:10.13.145.135:7860 [email protected]