Skip to content

Latest commit

 

History

History
88 lines (62 loc) · 4.36 KB

File metadata and controls

88 lines (62 loc) · 4.36 KB

模型下载与离线部署

返回 README

VoiceInput 使用四个独立模型,总计约 2.9 GB。安装包不包含权重;模型准备完成后,日常语音识别无需联网。

官方下载链接

打开以下 ModelScope 官方模型页面,在“模型文件”中查看文件,或使用页面提供的 SDK / Git 下载方式获取完整仓库快照。

本地子目录 模型与官方页面 用途
streaming/ Paraformer Streaming 实时预览
final/ SeACo Paraformer 最终识别与热词
vad/ FSMN-VAD 语音活动检测
punctuation/ CT-Punc 中英文 标点恢复

模型仓库名与应用的模型定义对应。权重及词表的使用条件以各模型仓库的许可证为准。

方式一:应用下载

首次打开应用,点击“下载 / 重试加载模型”。界面显示当前模型名称、下载阶段和保存目录;进度条表示正在下载,不是字节百分比。下载失败可重试。

也可在终端执行,按实际安装方式选择一条命令:

# deb 安装
/usr/bin/voiceinput --download-models

# install.sh 安装
~/.local/share/voiceinput/runtime/voiceinput --download-models

内置下载使用 ModelScope 的 master 快照,自动写入本地完成标记。日常运行不会自动更新模型;不同时间下载的权重可能不同,严格复现时请备份完整模型目录。

方式二:手动下载并登记

适合自行管理下载、从其他机器搬运官方快照的用户。此流程不需要启动 GUI,也不要求下载机器具备显卡。

  1. 从上表四个官方页面下载完整快照。不要只取 model.pt:配置、词表等配套文件同样需要。使用 Git 下载时,需要确认大文件已经下载,而不是只有 Git LFS 指针。
  2. 将各仓库内部的文件放入对应子目录,不要额外嵌套一层仓库名。
  3. 完成全部文件复制后,关闭 VoiceInput,在项目根目录运行下方登记命令。登记脚本仅使用 Python 标准库,不联网、不加载权重。

目录结构应为:

~/.local/share/voiceinput/models/
├── streaming/
│   ├── config.yaml
│   ├── model.pt
│   └── …仓库中的其他文件
├── final/
│   ├── config.yaml
│   ├── model.pt
│   └── …
├── vad/
│   ├── config.yaml
│   ├── model.pt
│   └── …
└── punctuation/
    ├── config.yaml
    ├── model.pt
    └── …
python3 scripts/prepare-models.py

# 也可登记一个待搬运的模型目录
python3 scripts/prepare-models.py --directory /path/to/models

脚本检查四个目录、必需文件、空文件和 Git LFS 指针,然后为每个模型写入 .voiceinput-complete.json 文件大小清单,供现有程序识别。可用 --revision 记录下载时的提交号。登记不是权重完整性或来源认证,也不会凭空补全缺失的配套文件;必须自行确认来自上表官方仓库的完整快照,最终以应用实际加载和识别成功为准。

如果已经有应用下载生成的完成标记,不需要重新登记。模型路径遵循 XDG_DATA_HOME;--directory 只指定登记位置,不会修改应用使用的路径。

搬到离线机器

先安装运行环境并准备所有依赖。退出应用后,把已经准备好的整个 models/ 目录复制到目标机器的数据目录,保留隐藏文件:

mkdir -p ~/.local/share/voiceinput
cp -a /path/to/models ~/.local/share/voiceinput/

目标路径最终应为 ~/.local/share/voiceinput/models/streaming/ 等,不能是 models/models/。如果目标位置已有模型,先将旧目录移到备份位置,避免不同快照的文件混合。

应用只从已登记的本地绝对路径加载模型,关闭 FunASR 更新检查并禁用远程模型代码。缺失或文件大小不匹配时会提示下载;不会在识别期间自动联网补齐。