FunASR v1.3.27:语种检测与可靠的 vLLM fallback
FunASR v1.3.27 聚焦 OpenAI 兼容服务的正确性与可靠性:SenseVoice 返回真实检测语种,Fun-ASR-Nano 在 vLLM 降级后复用已加载的 fallback,服务版本也始终与安装包一致。
Python wheel 与源码包已经同步发布;同一个发布页还列出九个平台的 llama.cpp / GGUF 自包含运行时,用户不需要在多个 release 之间寻找下载文件。
这次修复了什么
| 场景 | v1.3.27 行为 | 用户收益 |
|---|---|---|
| SenseVoice 自动语种识别 | verbose_json.language 返回检测到的 zh/en/yue/ja/ko | 下游字幕、路由和分析不再收到错误的默认中文 |
| Fun-ASR-Nano vLLM 不可用 | 进程复用已缓存的 AutoModel fallback | 后续请求不再反复创建同一个模型 |
| vLLM/VAD 与 fallback 同时失败 | 清理半初始化状态,保留后续重试能力 | 暂时性初始化失败不会把服务卡在假加载状态 |
| 版本排障 | OpenAPI 与启动横幅读取包内版本 | 日志和 /docs 都准确显示 1.3.27 |
1. 启动 OpenAI 兼容转写服务
下面的路径与仓库 smoke test 使用同一套服务实现。先固定当前 PyPI 版本,再启动服务:
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
另开一个终端,用公开样例验证健康检查和转写:
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 会保留原始语种标签并写入 OpenAI 兼容响应,例如英文音频返回:
{"task":"transcribe","language":"en","duration":4.6,"text":"hello", "segments":[...]}
已有 OpenAI Python 客户端时,只需把 base_url 指向 http://localhost:8000/v1。接口还提供模型列表、Swagger 文档、Postman、OpenAPI、Gradio 和 Kubernetes 示例。
2. 用 vLLM 放大 Fun-ASR-Nano 吞吐
Fun-ASR-Nano 的音频编码器与 adaptor 在 PyTorch 中生成连续音频 embedding,再交给 vLLM 的 Qwen3 解码部分。仓库基准记录 vLLM batch 达到 RTFx 340,并保留与 PyTorch 基线接近的 CER。
python -m pip install "vllm==0.19.1"
python -m pip install "funasr>=1.3.27" safetensors tiktoken websockets
# 按 docs/vllm_guide_zh.md 选择离线、流式或服务入口
3. 下载 llama.cpp / GGUF 自包含运行时
runtime-llamacpp-v0.1.9 同时提供九个 Linux x64/ARM64、macOS ARM64 和 Windows x64 包,其中 Linux 支持 AVX2/Vulkan,Windows 支持 AVX2/Vulkan/CUDA,并提供 funasr-llamacpp-windows-x64-vulkan.zip。每个压缩包都带自包含的 llama-funasr-* 二进制入口。
- 不想维护 Python 环境:选标准 CPU 包。
- 桌面 GPU:按平台选择 Vulkan 或 CUDA 包。
- 边缘设备与 Apple Silicon:选择 ARM64 包。
模型、命令与硬件选择见 llama.cpp / GGUF 专页,发布资产和模型版本保持对应,避免用户在多个 release 中寻找文件。
四个仓库分别解决什么
| 仓库 | 适合关注的内容 |
|---|---|
| FunASR | 工具包、服务、OpenAI API、vLLM、llama.cpp 与部署文档 |
| Fun-ASR | Fun-ASR-Nano / MLT 模型、能力、评测和模型级集成 |
| SenseVoice | 多语言 ASR、情感、语言和音频事件识别 |
| FunClip | 由语音识别驱动的视频理解、检索与剪辑 |
从最适合你的入口跑通一个真实音频。遇到问题可在 GitHub 提交可复现 issue;如果项目对你有用,也欢迎 Star 你实际使用的仓库。
查看 v1.3.27 发布与下载