# 中文录音转写服务 该服务使用 FunASR 的中文 Paraformer、FSMN-VAD 和标点模型,为 Rust API 提供本地录音转写。模型首次启动时会下载约 2.1 GB 到持久化缓存,完成后 `/health` 才会可用。 ## Docker 启动 在项目根目录执行: ```bash 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: ```bash 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`,响应格式为: ```json { "text": "识别后的中文课堂内容。", "duration_ms": 480000, "request_id": "b2f6fc1c-62c1-4a99-8ab4-6f933f1bd252" } ```