OpenMAIC 怎么接入 FunASR 本地语音识别服务? 📅 发布时间:2026/9/10 18:54:58 👁 浏览次数: OpenMAIC 怎么接入 FunASR 本地语音识别服务【免费下载链接】OpenMAICOpen Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click项目地址: https://gitcode.com/GitHub_Trending/op/OpenMAICOpenMAIC 内置了一个本地 ASR 选项funasr-asr它不依赖任何云 API key通过 FunASR 的 OpenAI 兼容服务在本地完成语音转写内置模型为 SenseVoiceSmall、Paraformer 和 Fun-ASR-Nano。接入要解决的就是一件事在服务器上启动一个 FunASR 转写服务再把 OpenMAIC 的ASR_FUNASR_BASE_URL指向它然后在设置页确认麦克风测试能出转写结果。准备环境安装 FunASR 服务端依赖在将要运行 FunASR 服务的机器上按 README.md 中 “Optional: FunASR (Local Speech Recognition)” 一节安装依赖python -m pip install torch torchaudio python -m pip install funasr1.4.0 fastapi uvicorn python-multipart # Add vLLM for Fun-ASR-Nano on NVIDIA GPUs python -m pip install vllm说明两点funasr固定为1.4.0这是文档给出的版本不要随手改成其他版本。vllm只在你要使用fun-asr-nano模型且有 NVIDIA GPU 时需要安装只跑 SenseVoice 或 Paraformer 可以跳过这一步。启动 FunASR 的 OpenAI 兼容服务configuration.mdx 说明该服务在/v1/audio/transcriptions接收 WAV 上传。文档给出两条启动路径GPUNVIDIA且使用 Fun-ASR-Nanofunasr-server --device cuda --model fun-asr-nano纯 CPU 环境使用 SenseVoicefunasr-server --device cpu --model sensevoice服务默认监听http://localhost:8000Base URL 按http://localhost:8000/v1填写。文档同时提示生产环境的部署选项应参考 FunASR 上游项目的部署文档本文不展开。让 OpenMAIC 指向这个服务在 OpenMAIC 的服务端环境变量中配置参考 .env.example 中的注释项本地服务、仅 WAV 输入、无需 API keyASR_FUNASR_BASE_URLhttp://localhost:8000/v1设置后重启应用使环境变量生效。如果你不想走服务端配置也可以在客户端 Settings 的 ASR 设置里为 FunASR 填 Base URL 和模型——该配置保存在客户端设置中见 asr-settings.tsx。设置页还会显示“Request URL”预览FunASR 的端点固定拼接为Base URL/audio/transcriptions可以直接用它核对 Base URL 是否填对。另外服务端管理员可以用ASR_FUNASR_ENABLEDfalse强制禁用某个内置 ASR provider.env.example 中列出的通用禁用方式如ASR_OPENAI_ENABLEDfalse如果配置后功能不可用先确认没有这样的禁用开关。选择模型与语言funasr-asr的模型与语言定义在 constants.ts 中模型sensevoiceSenseVoiceSmall默认、paraformerParaformer、fun-asr-nanoFun-ASR-Nano依赖 vLLM 与 NVIDIA GPU支持语言auto、zh、en、ja、ko、yue支持格式仅wav。注意fun-asr-nano能否使用取决于 FunASR 服务端是怎么启动的只有用 vLLM 在 NVIDIA GPU 上以--model fun-asr-nano启动时才可选这个模型CPU 启动的sensevoice服务对应 SenseVoiceSmall。验证在 ASR 设置页做麦克风测试配置完成后用 OpenMAIC 设置页的 ASR 测试验证整条链路打开 Settings 中的 ASR 设置把 provider 选为 FunASR内置模型列表与上文一致确认 Base URL 与模型已按你的启动方式填写点击录音按钮开始录音说完再停止客户端会先调用 wav-utils.ts 的normalizeASRUploadAudio——对funasr-asr浏览器录出的非 WAV 音频会被自动转成 WAV 再上传这正是 FunASR 只收 WAV 的适配层请求经/api/transcription转发到 FunASR 服务的/audio/transcriptions端点实现见 asr-providers.ts 中的transcribeWavOpenAICompatibleASR成功时页面显示转写文本失败时显示服务端返回的错误信息。两个文档中明确的行为遇到时不用当成配置错误上传的不是 WAV 会直接报错FunASR ASR currently supports WAV input only. Recordings should be converted to WAV before upload.设置页的测试录音会自动转换通常不会碰到音频为空或过短时OpenMAIC 把结果按“无转写内容”空文本处理而不是抛错。边界与限制FunASR 是本地服务不需要 API key但服务必须与 OpenMAIC 服务端网络可达ASR_FUNASR_BASE_URL里填的地址要指向 FunASR 服务实际监听的位置而不是浏览器所在机器。输入格式只有 WAV模型选择只有上述三个语言只有auto/zh/en/ja/ko/yue。fun-asr-nano路径依赖vllm与 NVIDIA GPU只想用 CPU 就走funasr-server --device cpu --model sensevoice这条路。若你还想接其他 OpenAI 兼容的转写端点OpenMAIC 的 Settings 里可以添加自定义 ASR provider填写 Base URL、模型与支持语言但那是另一条配置路径与本文的内置 FunASR 接入互不影响。完成麦克风测试并看到转写文本后FunASR 这条本地识别链路就接入了之后课堂内的语音识别请求都会按 Settings 中选定的 provider 与模型走这条本地服务。【免费下载链接】OpenMAICOpen Multi-Agent Interactive Classroom — Get an immersive, multi-agent learning experience in just one click项目地址: https://gitcode.com/GitHub_Trending/op/OpenMAIC创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考