1.2 KiB
1.2 KiB
中文录音转写服务
该服务使用 FunASR 的中文 Paraformer、FSMN-VAD 和标点模型,为 Rust API 提供本地录音转写。模型首次启动时会下载约 2.1 GB 到持久化缓存,完成后 /health 才会可用。
Docker 启动
在项目根目录执行:
docker compose -f compose.asr.yml up --build -d
curl http://127.0.0.1:10095/health
默认使用 CPU 且只允许一个并发推理任务。可通过 ASR_DEVICE、ASR_MAX_CONCURRENCY、ASR_MODEL、ASR_VAD_MODEL 和 ASR_PUNC_MODEL 调整。GPU 部署需要使用带 CUDA 的 PyTorch 基础环境,不能只把 CPU 镜像中的 ASR_DEVICE 改为 cuda。
本机 Python 启动
支持 Python 3.9 及以上版本,推荐 Python 3.10:
cd asr-service
python3.10 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
MODELSCOPE_CACHE=.models uvicorn app:app --host 127.0.0.1 --port 10095 --no-access-log
接口
Rust API 调用 POST /v1/transcriptions,以 multipart 上传 file、language 和 duration_ms,响应格式为:
{
"text": "识别后的中文课堂内容。",
"duration_ms": 480000,
"request_id": "b2f6fc1c-62c1-4a99-8ab4-6f933f1bd252"
}