Skip to content

没有vllm时使用fun-asr-nano每次都重新加载模型 #3401

Description

@ZhangQi-HUST

如题,在环境中没安装vllm时,若使用fun-asr-nano,则每次都会重新加载模型。

问题出现在_server_app.py的159~172行。
问题在于:

  • vLLM 加载失败时 → app.state.engine 仍然是 None
  • 降级到 AutoModel 时 → 虽然模型被存入 app.state.fallback_models["fun-asr-nano"],但没有设置任何标志阻止下次重新加载
  • 下次请求时 → 因为 app.state.engine is None,条件不成立,再次进入 _load_vllm_engine()
  • 再次失败 → 再次加载 AutoModel(重复步骤 2-3)

另外,第273~280行这个逻辑也不是很合理,运行起来的python应该不能动态地就多了vllm库,所以server跑起来检测vllm不存在后,使用一个状态变量记一下就行了,至少server重启之前这个变量的值应该都不会变了。然后再所有模型都可以走_load_fallback。对于有vllm,则判断模型是不是fun-asr-nano,再决定走不走_load_vllm_engine()。这样我觉得更合理一些。

以现有代码,最小改变是:
第160行之后加两行:

if app.state.fallback_models["fun-asr-nano"]:
    return app.state.fallback_models["fun-asr-nano"]

供参考。
感谢您的付出。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingneeds feedbackWaiting for reporter feedback or retest results

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions