# Round 5 PRD:Qwen3-ASR 中文高级模型 状态:v0.1 启动稿 所属子项目:`02-P-NBL` Round:Round 5 日期:2026-06-03 基线版本:`2.1.22 build20260603.1608` 基线 commit:`a19e8d9` 关联文档: - [`../product-plan.md`](../product-plan.md) - [`../engineering-plan.md`](../engineering-plan.md) - [`../plan.md`](../plan.md) - [`../round-4/prd.md`](../round-4/prd.md) ## 1. 背景 Round 1 到 Round 4 已完成: - 模型 profile 基础设施。 - 中文/English 语言版本设置。 - English 默认 Moonshine。 - English 高级 Parakeet。 - `2.1.22 build20260603.1608` 已通过用户验收。 Round 5 进入中文高级模型阶段。中文默认模型仍是 SenseVoice;Qwen3-ASR 只作为用户主动选择下载和切换的高级模型。 ## 2. 本轮目标 Round 5 完成后: | 场景 | 期望结果 | |---|---| | 中文用户未安装 Qwen3-ASR | 继续默认使用 SenseVoice | | 中文用户主动选择 Qwen3-ASR | 未安装则下载,安装校验通过后切换 | | 中文用户从 Qwen3-ASR 切回 SenseVoice | 立即切回 SenseVoice,Qwen3-ASR 保留 | | English 用户 | 不自动下载 Qwen3-ASR,不影响 Moonshine/Parakeet | | Qwen3-ASR 下载失败 | 不破坏 SenseVoice、Moonshine、Parakeet、userdict、history | | Qwen3-ASR 初始化失败 | 原模型继续可用,配置不写坏 | 核心目标: - 升级 `sherpa-onnx-go*` 到支持 Qwen3-ASR 的版本。 - 新增 `qwen3-asr-0.6b` model profile。 - 新增 `qwen3_asr` backend builder。 - 中文模型选择 UI 显示 SenseVoice 和 Qwen3-ASR。 - 用户可以在 SenseVoice 和 Qwen3-ASR 之间手动切换。 - Qwen3-ASR 未安装时不能直接使用,必须下载并校验。 ## 3. 本轮非目标 明确不做: - 不把 Qwen3-ASR 作为中文默认模型。 - 不自动删除 SenseVoice。 - 不把粤语作为独立语言 UI 开放。 - 不做欧洲语言 UI。 - 不做 30+ 语言列表。 - 不做模型删除 UI,除非为保护或回退必须补充最小能力。 - 不做正式 Developer ID notarization。 - 不承诺 Qwen3-ASR 在低内存机器上的体验。 - 不做 Qwen3-ASR 多尺寸/多精度变体选择。 ## 4. 模型选择决策 本轮选择: ```text model id: qwen3-asr-0.6b actual package: sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25 backend kind: qwen3_asr language: zh-CN tier: advanced ``` 选择该模型的原因: - sherpa-onnx 官方文档提供 Qwen3-ASR 模型和运行参数。 - `sherpa-onnx-go* v1.13.2` 已暴露 `OfflineQwen3ASRModelConfig`。 - 下载包约 `878702423` bytes,可作为用户主动下载的高级模型。 - 支持中文、中英混输、粤语和更多语言的产品方向,适合作中文高级模型。 ## 5. Qwen3-ASR Profile 新增 profile: ```text ID: qwen3-asr-0.6b DisplayName: Qwen3-ASR BackendKind: qwen3_asr Tier: advanced SupportedLanguageIDs: zh-CN, zh-Hans, zh-Hant, yue RecommendedFor: zh-CN Description: 高质量中文和中英混输模型,适合更高准确率需求,体积较大。 ApproxSize: 约 838 MiB 下载包,解压后约 1.9 GiB InstallDirName: qwen3-asr-0.6b ProviderOrder: cpu NumThreads: 4 ``` 下载 URL: ```text https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25.tar.bz2 ``` Required files: | Role | Required file | |---|---| | `conv_frontend` | `conv_frontend.onnx` | | `encoder` | `encoder.int8.onnx` | | `decoder` | `decoder.int8.onnx` | | `tokenizer_merges` | `tokenizer/merges.txt` | | `tokenizer_vocab` | `tokenizer/vocab.json` | Resolved files 还需要提供: | Role | Value | |---|---| | `tokenizer` | `tokenizer` 目录路径 | ## 6. sherpa-onnx 配置 Round 5 必须升级到支持 Qwen3-ASR 的 Go 绑定版本。已验证 `v1.13.2` 有以下字段: ```go config.ModelConfig.Qwen3ASR.ConvFrontend = resolved.Files["conv_frontend"] config.ModelConfig.Qwen3ASR.Encoder = resolved.Files["encoder"] config.ModelConfig.Qwen3ASR.Decoder = resolved.Files["decoder"] config.ModelConfig.Qwen3ASR.Tokenizer = resolved.Files["tokenizer"] config.ModelConfig.Qwen3ASR.MaxTotalLen = 1024 config.ModelConfig.Qwen3ASR.MaxNewTokens = 256 config.ModelConfig.Qwen3ASR.Temperature = 0.0 config.ModelConfig.Qwen3ASR.TopP = 0.9 config.ModelConfig.Qwen3ASR.Seed = 0 config.ModelConfig.Provider = "cpu" config.DecodingMethod = "greedy_search" ``` 保留: ```go config.FeatConfig.SampleRate = 16000 config.FeatConfig.FeatureDim = 80 ``` ## 7. 用户故事 ### 7.1 中文用户升级到 Qwen3-ASR 前置: - 当前语言为中文。 - SenseVoice 已安装并可用。 - Qwen3-ASR 未安装。 操作: 1. 用户进入设置页。 2. 在模型区域看到: - SenseVoice - Qwen3-ASR 3. 用户点击 Qwen3-ASR。 4. UI 显示模型说明和下载体积。 5. 用户确认下载或直接点击下载。 6. 下载完成并校验通过后切换到 Qwen3-ASR。 期望: - `ModelSelectionMode=manual` - `SelectedModelID=qwen3-asr-0.6b` - Engine 显示 `Qwen3-ASR · CPU` - SenseVoice 模型目录仍保留。 ### 7.2 中文用户切回 SenseVoice 前置: - 当前使用 Qwen3-ASR。 - SenseVoice 已安装。 操作: 1. 用户在模型区域点击 SenseVoice。 2. App 重新加载 SenseVoice。 期望: - `SelectedModelID=sensevoice-zh` - `ModelSelectionMode=manual` - Engine 显示 `SenseVoice · CoreML (Apple Neural Engine)` 或 `SenseVoice · CPU` - Qwen3-ASR 模型目录仍保留。 ### 7.3 English 用户不受影响 前置: - 当前语言为 English。 期望: - 继续默认 Moonshine。 - 用户已选择 Parakeet 时继续保留 Parakeet。 - 不自动下载 Qwen3-ASR。 - 不因为 Qwen3-ASR 下载失败影响 English 识别。 ## 8. UI 要求 中文状态显示: ```text 识别模型 SenseVoice 轻量中文离线模型,默认推荐。 Qwen3-ASR 高质量中文和中英混输模型,体积较大。 ``` English 状态保持 Round 4: ```text Recognition Model Moonshine English Parakeet English ``` 模型卡片至少展示: - 模型名称。 - 一行用途说明。 - 安装状态。 - 当前使用标记。 - 下载/使用按钮。 - 下载大小。 - 下载进度。 ## 9. 验收标准 Round 5 通过条件: - `sherpa-onnx-go*` 升级后 SenseVoice、Moonshine、Parakeet 均可继续构建。 - `qwen3-asr-0.6b` profile 正确。 - Qwen3-ASR required files 和 tokenizer 目录校验正确。 - Qwen3-ASR 可下载、校验、加载。 - 中文用户可从 SenseVoice 切到 Qwen3-ASR。 - 中文用户可从 Qwen3-ASR 切回 SenseVoice。 - Qwen3-ASR 下载失败不破坏 SenseVoice、Moonshine、Parakeet、userdict、history。 - English Moonshine/Parakeet 路径回归通过。 - 断网状态下 Qwen3-ASR 中文识别可用。 - QA 报告记录版本、build、commit、DMG、日志和关键证据。