FunASR v1.3.27: Detected Language and Reliable vLLM Fallback
FunASR v1.3.27 focuses on correctness and reliability in the OpenAI-compatible server: SenseVoice returns the detected language, Fun-ASR-Nano reuses its fallback after vLLM fails, and every server surface reports the installed package version.
The Python wheel and source distribution are published together. The same release page also lists nine self-contained llama.cpp / GGUF runtimes, so users do not have to hunt across separate releases.
What changed
| Scenario | v1.3.27 behavior | Why it matters |
|---|---|---|
| SenseVoice automatic language detection | verbose_json.language returns detected zh/en/yue/ja/ko | Subtitle, routing, and analytics clients no longer receive a false Chinese default |
| Fun-ASR-Nano cannot start vLLM | The process reuses its cached AutoModel fallback | Later requests do not construct the same model again |
| vLLM/VAD setup and fallback both fail | Half-initialized state is cleared and a later request can retry | A transient setup failure does not leave a falsely loaded service |
| Version diagnostics | OpenAPI metadata and the startup banner read the package version | Logs and /docs accurately show 1.3.27 |
1. Start the OpenAI-compatible transcription service
This path uses the same server implementation as the repository smoke tests. Pin the current PyPI release, then start the service:
git clone https://github.com/modelscope/FunASR.git
cd FunASR/examples/openai_api
python -m pip install "funasr==1.3.27" fastapi uvicorn python-multipart
python server.py --model sensevoice --device cuda --port 8000
In another terminal, verify health and transcription with the public sample:
curl -L https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/BAC009S0764W0121.wav -o sample.wav
curl http://localhost:8000/health
curl http://localhost:8000/v1/audio/transcriptions \
-F file=@sample.wav \
-F model=sensevoice \
-F response_format=verbose_json
SenseVoice now preserves its raw language tag in the OpenAI-compatible response. An English clip, for example, returns:
{"task":"transcribe","language":"en","duration":4.6,"text":"hello", "segments":[...]}
If you already use the OpenAI Python client, point base_url to http://localhost:8000/v1. The examples also include model listing, Swagger, Postman, OpenAPI, Gradio, and Kubernetes paths.
2. Scale Fun-ASR-Nano throughput with vLLM
Fun-ASR-Nano runs its audio encoder and adaptor in PyTorch, then sends continuous audio embeddings into the Qwen3 decoder managed by vLLM. The repository benchmark records RTFx 340 for vLLM batch inference while keeping CER close to the PyTorch baseline.
python -m pip install "vllm==0.19.1"
python -m pip install "funasr>=1.3.27" safetensors tiktoken websockets
# Follow docs/vllm_guide.md for offline, streaming, or server mode
3. Download the self-contained llama.cpp / GGUF runtime
runtime-llamacpp-v0.1.9 ships nine Linux x64/ARM64, macOS ARM64, and Windows x64 packages. Linux includes AVX2 and Vulkan options; Windows includes AVX2, Vulkan, and CUDA, including funasr-llamacpp-windows-x64-vulkan.zip. Each archive provides a self-contained llama-funasr-* binary entry point.
- Choose the standard CPU build when you do not want to maintain Python.
- Choose Vulkan or CUDA for desktop GPU acceleration.
- Choose ARM64 for edge devices and Apple Silicon.
See the llama.cpp / GGUF page for models, commands, and hardware selection. Runtime assets and model versions are linked together so users do not have to hunt across releases.
What each repository owns
| Repository | What to follow |
|---|---|
| FunASR | Toolkit, serving, OpenAI API, vLLM, llama.cpp, and deployment docs |
| Fun-ASR | Fun-ASR-Nano / MLT models, capabilities, benchmarks, and model integrations |
| SenseVoice | Multilingual ASR plus emotion, language, and audio-event recognition |
| FunClip | Speech-driven video understanding, retrieval, and editing |
Run one real audio file through the path that fits your deployment. File a reproducible GitHub issue when something blocks you, and star the repository you actually use.
Open the v1.3.27 release and downloads