MCPcopy Create free account
hub / github.com/modelscope/FunASR / _load_vllm_engine

Function _load_vllm_engine

funasr/bin/_server_app.py:53–91  ·  view source on GitHub ↗

Load Fun-ASR-Nano vLLM engine. Falls back to AutoModel if vLLM unavailable.

()

Source from the content-addressed store, hash-verified

51 }
52
53 def _load_vllm_engine():
54 """Load Fun-ASR-Nano vLLM engine. Falls back to AutoModel if vLLM unavailable."""
55 if app.state.engine is not None:
56 return
57 try:
58 from funasr.models.fun_asr_nano.inference_vllm import FunASRNanoVLLM
59 from funasr import AutoModel as _AutoModel
60
61 logger.info("Loading Fun-ASR-Nano vLLM engine...")
62 t0 = time.time()
63 app.state.engine = FunASRNanoVLLM.from_pretrained(
64 model="FunAudioLLM/Fun-ASR-Nano-2512",
65 hub="hf",
66 device=device,
67 dtype="bf16",
68 max_model_len=4096,
69 gpu_memory_utilization=0.5,
70 )
71 logger.info(f"vLLM engine ready in {time.time()-t0:.1f}s")
72 app.state.use_vllm = True
73
74 logger.info("Loading VAD model...")
75 app.state.vad_model = _AutoModel(model="fsmn-vad", device=device, disable_update=True)
76 logger.info("VAD ready.")
77 except Exception as e:
78 logger.warning(f"vLLM failed ({e}), falling back to AutoModel for fun-asr-nano")
79 app.state.use_vllm = False
80 from funasr import AutoModel
81 cfg = {
82 "model": "FunAudioLLM/Fun-ASR-Nano-2512",
83 "hub": "hf",
84 "trust_remote_code": True,
85 "vad_model": "fsmn-vad",
86 "vad_kwargs": {"max_single_segment_time": 30000},
87 "device": device,
88 "disable_update": True,
89 }
90 app.state.fallback_models["fun-asr-nano"] = AutoModel(**cfg)
91 logger.info("Fallback AutoModel loaded for fun-asr-nano.")
92
93 def _load_fallback(name: str):
94 """Load non-LLM model via AutoModel."""

Callers 3

create_appFunction · 0.85
transcribeFunction · 0.85
asr_endpointFunction · 0.85

Calls 2

AutoModelClass · 0.90
from_pretrainedMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…