管理语言模型:一次下载,随时随地翻译
每个 ML Kit 语言模型在磁盘上大约 10–50 MB,并在应用重启之间持续存在。模型管理器页面列出所有 19 种支持的语言及其下载状态,并允许你下载或删除每个。本文解释何时使用该页面、模型状态的含义以及预期的存储。
何时访问模型管理器
对于大多数用户,模型管理器页面是不需要的:在相机页面或文本翻译页面选择语言,应用会在你首次翻译时按需下载相应的模型。该模型会保留在设备上,供每次后续翻译使用。
模型管理器页面适用于想要执行以下操作的用户:
- 为离线旅行预下载。 出发前,下载你将需要的每种语言对。然后翻译在飞机上、机场、酒店和火车上都能正常工作。
- 审计存储。 查看哪些语言已下载以及每个占用的空间。
- 删除未使用的语言。 通过删除不再需要的模型来回收存储。
模型状态
每种语言处于四种状态之一:
- 未下载。 显示下载按钮。点击开始下载。
- 正在下载。 显示不确定进度旋器。ML Kit 不公开进度回调,仅公开完成;旋器解析为已下载或失败。
- 已下载。 显示带删除按钮的徽章。点击删除模型并回收存储。
- 失败。 重试按钮替换下载。常见原因:无网络、蜂窝被阻止、磁盘空间不足。解决根本问题后重试。
顺序下载
快速连续的多个下载请求被排队而不是并行化。本机 iOS 插件无法干净地处理并发的 manageModel 调用:第二个请求取消第一个。应用通过单个链式 Future 序列化下载,因此并发请求一个接一个地解析。UI 仅在不确定状态中显示活动下载;排队的请求等待轮到它们。
如果 iOS 上在低网络条件下错过了下载回调,下载 Future 可能会挂起。应用通过 30 秒超时来防止这种情况;如果超时触发,应用通过 isModelDownloaded 直接轮询磁盘,以确认模型实际是否已落盘,然后才报告成功或失败。
存储成本
- 每个模型。 根据语言不同,10–50 MB。
- 所有 19 种语言。 大约 300–600 MB。
- 角色。 模型既可以作为源也可以作为目标;一个模型同时支持该语言的两种角色。
删除模型
删除是最终的。存储立即回收。要再次翻译该语言,下一次翻译将触发新的下载。没有自动清理;模型会保留,直到你删除它或卸载应用,两者都会删除所有下载的模型。
隐私
模型从 ML Kit 的分发服务器下载。下载是按语言的一次性操作。没有关于你下载哪些模型的分析,没有超出聚合计数器的遥测,没有按用户跟踪。
实用工作流
- 从设置页面打开模型管理器页面。
- 在你想要的每种语言旁边点击下载。
- 等待旋器为每行解析为已下载。
- 离线翻译 — 这些语言无需进一步下载。
- 回来后,删除不再需要的语言以回收存储。
对于一次性旅行,这需要一分钟。对于永久多语言使用,保留你经常使用的语言下载状态并删除其余的。