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

Aperta Adatta ai principianti
#3,401 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
76/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
backend

Direzione di ricerca

Inizia dalle righe 159-172 di _server_app.py e traccia come vengono usati _load_vllm_engine e la voce fallback_models tra le richieste. Esamina anche le righe 273-280, poi fai in modo che lo stato di fallback impedisca caricamenti ripetuti quando vLLM non è disponibile; il lavoro è completato quando le richieste ripetute di fun-asr-nano riutilizzano il modello di fallback caricato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug needs feedback

如题,在环境中没安装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"]

供参考。
感谢您的付出。

Lingua principale
Python
Stelle
20.4k
Fork
2k
Merge medio
4h 55m
PR unite (30g)
169

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di modelscope/FunASR

Tutte le issue di modelscope/FunASR

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.