feat: add explicit managed model download sources
Managed speech and OCR downloads previously used catalog-specific source URLs without a global selection. Platform Features now lets users choose ModelScope by default or Hugging Face, while Main validates and freezes that source for each download. Verified coverage remains explicit: downloads never mix artifacts or silently switch sources, and installed models plus ZIP imports stay source-independent. Release note: 可在“设置 → 平台功能 → 通用设置”中选择 ModelScope 或 Hugging Face 作为后续语音输入与 OCR 模型下载源;缺少完整已验证文件或下载失败时不会静默换源。
This commit is contained in:
@@ -9,6 +9,8 @@ GoodBuddy 需要用同一条可信文档解析链路服务以下场景:
|
||||
- 后续的合同审阅、表格分析、演示文稿理解和文档转换。
|
||||
|
||||
文档解析不是对话模型的附属功能。它是主进程管理的独立基础能力,设置入口为“设置中心 / 文档解析”。
|
||||
本地 OCR 的模型下载源以
|
||||
[平台功能页签与模型下载源设计](../../architecture/model-download-source-design.md)为准。
|
||||
|
||||
## 2. 当前基线
|
||||
|
||||
@@ -72,11 +74,12 @@ PDF 不是所有文档唯一的中间格式。解析应同时保留:
|
||||
OCR 模型区沿用语音模型管理模式:
|
||||
|
||||
- 应用不内置模型权重;
|
||||
- 用户按需从 ModelScope 下载,下载完成后离线使用;
|
||||
- 用户按需从全局选择的 ModelScope 或 Hugging Face 下载,默认 ModelScope,下载完成后
|
||||
离线使用;
|
||||
- 显示来源、语言、运行时、模型体积、安装与校验状态;
|
||||
- 联网设备可导出已安装模型 ZIP,离线或内网设备可直接导入;
|
||||
- 支持下载进度、取消、删除、ZIP 导入导出、打开模型仓库和受管目录;
|
||||
- “打开 ModelScope”直接显示在 OCR 模型卡片右上角,不使用手动导入折叠区;
|
||||
- “打开模型仓库”直接显示在 OCR 模型卡片右上角,并使用当前下载源对应仓库;
|
||||
- 模型操作即时生效,解析策略仍通过分类页头的“保存设置”提交。
|
||||
|
||||
### 4.1 第一阶段字段
|
||||
@@ -182,11 +185,14 @@ type ParsedDocument = {
|
||||
|
||||
### 7.2 下载与安装
|
||||
|
||||
Tiny、Small 和 Medium 模型均由 PaddlePaddle 官方 ModelScope 仓库提供。Small 是默认推荐档位;Medium 面向更高识别质量,但具有更高内存占用和延迟。每个档位的检测模型、识别模型与字符字典配置分别使用固定提交,并在应用内记录文件字节数和 SHA-256。
|
||||
Tiny、Small 和 Medium 模型使用 PaddlePaddle 发布的规范工件。GoodBuddy 为 ModelScope
|
||||
和 Hugging Face 分别维护固定下载 Target,默认使用 ModelScope。Small 是默认推荐档位;
|
||||
Medium 面向更高识别质量,但具有更高内存占用和延迟。每个档位的检测模型、识别模型与
|
||||
字符字典配置分别使用固定提交,并在应用内记录共同的文件字节数和 SHA-256。
|
||||
|
||||
下载流程:
|
||||
|
||||
1. 主进程从固定 ModelScope `resolve/<revision>/...` 地址读取文件;
|
||||
1. 主进程读取已保存的全局模型下载源,并解析该来源的固定 Target;
|
||||
2. 禁用凭据与缓存,限制重定向次数和单文件大小;
|
||||
3. 写入受管目录下的随机临时安装目录;
|
||||
4. 边下载边计算 SHA-256,并核对完整字节数;
|
||||
@@ -194,7 +200,9 @@ Tiny、Small 和 Medium 模型均由 PaddlePaddle 官方 ModelScope 仓库提供
|
||||
6. 原子重命名为正式模型目录;
|
||||
7. 失败、取消或退出时删除临时文件。
|
||||
|
||||
模型只在下载或用户显式打开仓库时访问网络。OCR 推理从受管目录读取已校验文件,不发起网络请求。
|
||||
单次任务只使用启动时冻结的一个来源。所选来源不可用或缺少任一必需文件时明确失败,
|
||||
不请求另一个来源。模型只在下载或用户显式打开仓库时访问网络。OCR 推理从受管目录读取
|
||||
已校验文件,不发起网络请求。
|
||||
|
||||
### 7.3 离线 ZIP 迁移
|
||||
|
||||
@@ -298,7 +306,8 @@ DOC、XLS、PPT 通过 `DocumentConversionProvider` 转换:
|
||||
- 新增文档解析设置分类和持久化契约;
|
||||
- 建立 `DocumentParsingService`,供聊天和知识库共用;
|
||||
- 将无文本 PDF 识别为可触发 OCR 的明确状态;
|
||||
- 接入 PP-OCRv6 Tiny、Small、Medium 的 ModelScope 下载、校验、ZIP 离线迁移、删除与 WASM Worker;
|
||||
- 接入 PP-OCRv6 Tiny、Small、Medium 的双来源下载、校验、ZIP 离线迁移、删除与
|
||||
WASM Worker;
|
||||
- 实现真实文件测试和六平台验证入口。
|
||||
|
||||
### 阶段二
|
||||
@@ -322,7 +331,8 @@ DOC、XLS、PPT 通过 `DocumentConversionProvider` 转换:
|
||||
- 模型文件损坏时拒绝加载并显示可恢复错误;
|
||||
- 未安装模型时扫描文档提示用户前往“文档解析”下载,文本型文档仍可原生解析;
|
||||
- 下载中可显示文件与总进度并允许取消,失败或取消后不留下已安装状态;
|
||||
- ModelScope 下载与 ZIP 导入均经过同一大小和 SHA-256 校验;
|
||||
- ModelScope、Hugging Face 下载与 ZIP 导入均经过同一大小和 SHA-256 校验;
|
||||
- 所选下载源失败或缺少模型时不会请求另一个来源;
|
||||
- 语音和 OCR 模型可在联网设备导出 ZIP,并在离线设备导入后完成真实推理;
|
||||
- 路径穿越、未知条目、错误模型 ID、篡改文件和超限 ZIP 均被拒绝;
|
||||
- 超页数、超时、取消和关闭不会留下运行任务;
|
||||
|
||||
Reference in New Issue
Block a user