HarmonyOS7 端侧 AI:文本生成与图像识别入门

文章目录

    • 前言
    • 为什么要端侧 AI
    • 文本生成:本地对话/补全
      • 代码实现
    • 图像识别:本地分类/检测
      • 核心代码
    • 端侧 AI 的实操注意
    • 常见误区(小白必踩)
    • 完整可运行示例:端侧文本生成
      • 完整示例
    • 写在最后

前言

"AI"不一定是调云端大模型。HarmonyOS7 强化了端侧 AI——模型跑在手机本地,不上传数据、不依赖网络、响应快、还保护隐私。
这篇文章带你入门端侧 AI 的两类常见能力:文本生成(本地小模型对话)图像识别(本地分类/检测)。了解它们怎么接入、适合什么场景。

为什么要端侧 AI

维度云端 AI端侧 AI
网络依赖必须联网可离线
延迟受网络影响
隐私数据出端数据不出设备
成本按调用计费一次部署

结论:涉及隐私、要离线、要低延迟、高频调用的,优先考虑端侧。复杂推理、知识广的,再上云端大模型。

文本生成:本地对话/补全

端侧文本能力通常通过Core AI或具体的 NLP Kit 接口,加载本地小模型做生成/补全:

代码实现

import{textGeneration}from'@kit.MindSporeLiteKit'// 示意包名,以官方为准asyncfunctionlocalChat(prompt:string):Promise<string>{// 1. 加载本地模型(通常随 app 打包或从市场下载)constmodel=awaitloadLocalModel('llm_tiny.ms')// 2. 推理生成constresult=awaitmodel.predict(prompt)returnresultasstring}

要点(概念层面):

  • 模型文件随 app 提供或首次使用时下载到本地。
  • 推理在设备 NPU/CPU 上跑,数据不离开手机。
  • 适合"短文生成、补全、翻译、摘要"这类轻任务。

注意:具体 API 包名和调用随版本演进,以官方最新文档为准;核心思路(加载本地模型 → 推理)不变。

图像识别:本地分类/检测

图像类任务(识物、扫码、场景识别)端侧很成熟:

核心代码

import{imageClassification}from'@kit.VisionKit'// 示意,以官方为准asyncfunctionrecognize(img:image.PixelMap):Promise<string[]>{constmodel=awaitloadClassifier('mobilenet.ms')constlabels=awaitmodel.classify(img)// 返回类别标签returnlabels}
  • 端侧图像模型(如 MobileNet)体积小、速度快,适合实时识物。
  • 数据不出设备,做"相册智能分类""扫码识别"很合适。

端侧 AI 的实操注意

  1. 模型体积:端侧模型要小,几百 MB 还行,GB 级就别想了,除非用动态下载。
  2. 首次加载耗时:模型加载要时间,做成"预加载"或 loading 提示。
  3. 功耗:持续推理会发热耗电,别在后台疯狂跑。
  4. 降级策略:端侧搞不定的复杂任务,回退到云端。

常见误区(小白必踩)

误区说明
模型过大端侧模型要小,GB 级别想都别想,除非动态下载且用户接受等待。
首次加载无提示模型加载要时间,做成预加载或 loading 提示,不然以为卡死。
后台狂跑推理持续推理发热耗电,别在后台疯狂跑。
无降级策略端侧搞不定的复杂任务,要能回退云端。

下面这段代码可以直接复制到 DevEco Studio 里运行。建议你边读边敲,改一改文末「动手改一改」里的参数,亲眼看看效果。

完整可运行示例:端侧文本生成

调用端侧 AI 能力做本地推理(无需联网)。

完整示例

// 端侧 AI:本地文本生成(示意 API)import{textGeneration}from'@kit.MindSporeLiteKit'// 以实际 SDK 为准@Entry@Componentstruct OnDeviceAI{@Stateout:string='点击生成'build(){Column({space:16}){Text(this.out).fontSize(16)Button('本地生成一句话').onClick(async()=>{// 真实项目替换为对应 SDK 的推理调用constr=awaittextGeneration.generate('写一句问候语')this.out=r??'生成完成(端侧)'})}.padding(20)}}

你会看到什么:点按钮,模型在设备本地完成推理并返回结果,不依赖云端,隐私更好、响应更快。

动手改一改

  • 把模型换成图像分类,体验端侧识别。
  • 给生成加 loading 态,推理期间禁用按钮。
  • Native接口加载量化模型,减小体积、提速。

写在最后

端侧 AI 是"隐私 + 离线 + 低延迟"的杀手锏,适合轻量文本生成和图像识别这类任务。套路就两步:加载本地模型 → 本地推理,数据全程不出设备。

想练手,从"本地图像分类"做起最直观:拍张照,手机本地告诉你是什么——不用联网、不泄隐私,用户体验还很"未来感"。复杂需求再考虑接入云端大模型。