モデル選択ガイド
最初に使うモデルを選び、Whisper やクラウド ASR との比較を行い、OpenAI 互換 API で公開する model alias を決めます。
迷ったら SenseVoice-Small
まだ決めきれない場合は SenseVoice-Small から始めます。デモ、社内 API、多言語 transcription、話者情報付き会議録、agent voice input の強い初期値です。
from funasr import AutoModel
model = AutoModel(
model="iic/SenseVoiceSmall",
vad_model="fsmn-vad",
spk_model="cam++",
device="cuda", # portable smoke test では "cpu"
)
result = model.generate(input="meeting.wav")
判断表
| 目的 | 最初に試すもの | 理由 | 次の文書 |
|---|---|---|---|
| 高速な多言語 private transcription | SenseVoice-Small | ASR、emotion tag、audio event tag、CPU viability のバランスがよい。 | チュートリアル |
| 中国語 production ASR | Paraformer-Large | VAD と punctuation を組み合わせやすい成熟した中国語 ASR 経路。 | チュートリアル |
| API example で英語 route を確認 | paraformer-en | OpenAI 形式 client で軽量な英語 route を確認しやすい。 | OpenAI API |
| LLM-based ASR や 31 言語実験 | Fun-ASR-Nano | LLM-based path。decoder throughput が重要なら vLLM を併用。 | vLLM guide |
| ライブ字幕や call-center stream | Runtime WebSocket service | long-lived streaming session と partial result 向け。 | Realtime examples |
| Whisper/cloud ASR からの移行 | まず SenseVoice-Small | 個別 tuning の前に強い baseline を作れる。 | Migration guide |
OpenAI 互換 API alias
examples/openai_api server は短い alias を提供します。application team は model repository ID を意識せずに接続できます。
| Alias | 実体 | 使う場面 |
|---|---|---|
sensevoice | iic/SenseVoiceSmall | 多言語 ASR、event tag、CPU/GPU behavior を含む default private speech API。 |
paraformer | paraformer-zh | 中国語 production route。 |
paraformer-en | paraformer-en | OpenAI 形式 client の英語軽量 route。 |
fun-asr-nano | FunAudioLLM/Fun-ASR-Nano-2512 | LLM-based ASR、31 言語 coverage、vLLM acceleration の評価。 |
curl http://localhost:8000/v1/models
python examples/openai_api/smoke_test.py --base-url http://localhost:8000 --model sensevoice
workload 別 runtime
| workload | runtime path | メモ |
|---|---|---|
| Notebook または一回限りの評価 | Python AutoModel | install、model download、output shape を確認する最短経路。 |
| 社内 HTTP service | OpenAI 互換 API | OpenAI-style clients、Dify、n8n、LangChain、AutoGen、HTTP node を再利用。 |
| 再現可能な local container demo | Docker Compose API | CPU-first smoke test。CUDA の前に image を調整。 |
| cluster 内 private service | Kubernetes API template | private ClusterIP、persistent model cache、health probes、port-forward smoke test。 |
| live audio | Runtime WebSocket service | 実音声で chunking、VAD、endpointing、reconnect、client backpressure を検証。 |
| LLM-based ASR throughput | Fun-ASR-Nano の vLLM path | vLLM は autoregressive decoding を高速化し、non-autoregressive Paraformer には使いません。 |
runtime と deployment target を選ぶ場合は デプロイ選択表 も確認してください。
決める前に benchmark
- 短い clip、長い会議、silence、noise、overlapping speakers、domain vocabulary、target languages を含む 20-50 件の代表音声を用意します。
- model name、model revision、FunASR version、device、CPU/GPU type、CUDA/PyTorch version、runtime path、batch size、warmup/model download time を除外したかを記録します。
- transcript の読みやすさだけではなく、通常の WER/CER または human review で品質を見ます。
- latency、throughput、memory、failures、upload size limit を一緒に追跡します。
- public smoke sample と realistic private sample を少なくとも 1 つずつ残します。
migration work では migration benchmark example と migration guide を使います。