首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >拥抱原生智能:AI + 鸿蒙应用开发从零到商用落地指南

拥抱原生智能:AI + 鸿蒙应用开发从零到商用落地指南

原创
作者头像
资源大佬 jzit-top
发布于 2026-11-13 16:48:15
发布于 2026-11-13 16:48:15
220
举报

HarmonyOS NEXT 的 AI 不是"外挂 SDK",而是端云协同 + 系统级分发的原生能力。端侧有 Core Vision Kit、Core Speech Kit、Natural Language Kit、MindSpore Lite;云侧有 Intelligent Cloud;分发层是意图框架 Intents Kit。商用应用的选型原则是:隐私敏感、低时延、需离线 → 端侧;大模型推理、复杂生成 → 云侧;能力被小艺调用 → 意图框架。

一、工程初始化

DevEco Studio 5.0、API 12、Stage 模型。在 module.json5 中按需声明权限:

代码语言:javascript
复制
"requestPermissions": [
  { "name": "ohos.permission.MICROPHONE" },
  { "name": "ohos.permission.CAMERA" }
]

图片读取优先用 PhotoViewPicker,可免申请存储权限,符合最小权限原则。

二、端侧视觉:OCR 集成

Core Vision Kit 提供文字识别、人脸检测、主体分割、图像超分,全部端侧推理,无需联网:

代码语言:javascript
复制
import { textRecognition } from '@kit.CoreVisionKit';
import { image } from '@kit.ImageKit';
import { BusinessError } from '@kit.BasicServicesKit';

async function ocr(pixelMap: image.PixelMap): Promise<string> {
  const info: textRecognition.VisionInfo = { pixelMap };
  const cfg: textRecognition.TextRecognitionConfiguration = {
    isDirectionDetectionSupported: true
  };
  try {
    const result = await textRecognition.recognizeText(info, cfg);
    return result.value;
  } catch (e) {
    const err = e as BusinessError;
    console.error(`OCR failed: ${err.code} ${err.message}`);
    return '';
  }
}

注意 PixelMap 需为 RGBA_8888 格式,大图先缩放至 1080p 以内,识别耗时与内存会显著下降。

三、端侧语音:离线识别

Core Speech Kit 支持离线语音识别与合成,适合工控、车载、医疗等弱网场景:

代码语言:javascript
复制
import { speechRecognizer } from '@kit.CoreSpeechKit';
import { BusinessError } from '@kit.BasicServicesKit';

const params: speechRecognizer.CreateEngineParams = {
  language: 'zh-CN',
  online: 0, // 0 离线,1 在线
  extraParams: { recognitionMode: 0, vadBegin: 2000, vadEnd: 2000 }
};

speechRecognizer.createEngine(params,
  (err: BusinessError, engine: speechRecognizer.SpeechRecognitionEngine) => {
    if (err) return;
    engine.setListener({
      onResult: (sid, r) => console.info(`ASR: ${r.result}`),
      onError: (sid, code, msg) => console.error(`${code} ${msg}`)
    });
    engine.startListening({
      sessionId: 'demo', audioType: 'pcm',
      sampleRate: 16000, soundChannel: 1, sampleBit: 16
    });
    // 麦克风采集的 PCM 数据通过 engine.writeAudio(buf) 持续写入
  });

商用要点:必须在 onDestroy 中调用 shutdown() 释放引擎,否则多次进入页面会创建多个实例导致内存泄漏。

四、自定义模型:MindSpore Lite 端侧推理

系统 Kit 覆盖通用场景,业务专属模型(如缺陷检测、语音唤醒词)需自训练后转 .ms 格式,用 MindSpore Lite 推理:

代码语言:javascript
复制
import { mindSporeLite } from '@kit.MindSporeLiteKit';

const ctx: mindSporeLite.Context = {
  target: ['cpu'],
  cpu: { threadNum: 4, threadAffinityMode: 1 }
};

const model = await mindSporeLite.loadModelFromFile(
  '/data/storage/el2/base/haps/model.ms', ctx);
const inputs = model.getInputs();
inputs[0].setData(new Float32Array(1 * 3 * 224 * 224));
const outputs = await model.predict(inputs);
console.info(`output dims: ${outputs[0].getData().length}`);

工程建议:模型放 rawfile 首次启动拷贝到沙箱;NPU 推理用 target: ['nnrt'] 并做机型能力探测;推理放入 TaskPool 子线程,避免阻塞 UI 线程。

五、意图框架:让系统分发你的能力

Intents Kit 允许把应用功能注册为"意图",用户对小艺说"帮我识别这张图里的文字"即可直达应用内页面,这是原生智能最大的流量红利。通过 insightIntent 声明意图与参数映射,商用应用应至少接入 1–2 个高频意图,并在意图回调中做好冷启动耗时优化。

六、商用落地清单

  • 隐私合规:语音、图像采集前明示授权;端侧处理的数据不出设备,隐私政策需写明。
  • 性能基线:OCR 单帧 <300ms,ASR 首字 <500ms,模型冷启动 <1s;用 hiTraceMeter 打点。
  • 降级策略:端侧能力不可用时回退云侧,云侧超时再回退人工输入,保证功能可用。
  • 上架审核:AI 生成内容需具备标识与内容安全过滤,涉未成年人场景需额外合规。
  • 版本兼容:AI Kit 按 API 版本做能力探测(canIUse),低版本设备隐藏入口而非崩溃。

结语

鸿蒙原生智能的落地路径是:先用系统 Kit 快速验证(OCR/ASR/分词),再用 MindSpore Lite 沉淀业务专属模型,最后用意图框架接入系统分发。端云协同、权限最小化、性能可度量、降级可兜底——这四点做到,AI 能力才真正从 Demo 走向商用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、工程初始化
  • 二、端侧视觉:OCR 集成
  • 三、端侧语音:离线识别
  • 四、自定义模型:MindSpore Lite 端侧推理
  • 五、意图框架:让系统分发你的能力
  • 六、商用落地清单
  • 结语
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档