[嵌入式AI从0开始到入土]嵌入式AI系列教程

注:等我摸完鱼再把链接补上
可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。

第1期 昇腾Altas 200 DK上手
第2期 下载昇腾案例并运行
第3期 官方模型适配工具使用
第4期 炼丹炉的搭建(基于Ubuntu23.04 Desktop)
第5期 炼丹炉的搭建(基于wsl2_Ubuntu22.04)
第6期 Ubuntu远程桌面配置
第7期 下载yolo源码及样例运行验证
第8期 在线Gpu环境训练(基于启智ai协作平台)
第9期 转化为昇腾支持的om离线模型
第10期 jupyter lab的使用
第11期 yolov5在昇腾上推理
第12期 yolov5在昇腾上应用
第13期_orangepi aipro开箱测评
第14期 orangepi_aipro小修补含yolov7多线程案例
第15期 orangepi_aipro欢迎界面、ATC bug修复、镜像导出备份
第16期 ffmpeg_ascend编译安装及性能测试
第17期 Ascend C算子开发
第18期 Ascend C算子开发环境(S5赛季)
第19期 vllm Ascend初体验
第20期 在Ascend上使用ComfyUI部署SD模型
第21期 基于昇腾310P RC模式的Pi0模型部署实践
第22期 基于昇腾310P RC模式的ACT模型部署实践
第23期 jiuwenclaw+cannskills,让小艺辅助ascendc开发

未完待续…



前言

openJiuwen作为开源Agent平台,致力于提供灵活、强大且易用的AI Agent开发与运行能力。基于该平台,开发者可快速构建处理各类简单或复杂任务的AI Agent,实现多Agent协同交互,高效开发生产级可靠AI Agent;并助力企业与个人快速搭建AI Agent系统或平台,推动商用级Agentic AI技术广泛应用与落地。

小艺开放平台依托HarmonyOS生态,为开发者打造全链路智能体开发解决方案,平台配备端到端工具链,覆盖从智能体开发、多端调试(手机/平板/车机/PC/手表等)到部署上架的全生命周期。

CANN Skills 为 CANN 社区提供可复用的 Agent 技能模块。目前已实现 Ascend C 算子开发全流程覆盖(14 个 Skills),并成功应用于 Agent 实践 CANNBot。未来将拓展至 CANN 更多技术领域。

如果你是以下之一,我觉得你非常需要本文,毕竟无缝接入华为设备,动动嘴指挥小艺帮你写算子,查api还是很舒服的。

  • CANN 社区开发者
  • 昇腾 NPU 平台 AI 应用开发者
  • Ascend C 算子开发者

一、CANN Skills包含的主要内容

1.1 Skills 技能库

Skill 功能
ascendc-kernel-develop-workflow 7 阶段工作流:环境准备 → 需求分析 → 算子实现 → 测试 → 问题处理 → 总结 → 文档
ascendc-api-best-practices API 使用最佳实践、参数限制
ascendc-npu-arch NPU 架构知识、芯片型号映射
ascendc-docs-search API 文档索引 + 在线搜索
ascendc-env-check NPU 设备查询、CANN 环境验证
ascendc-tiling-design Tiling 设计方法论,按算子类别分类
ascendc-precision-debug 精度调试,症状-原因速查、常见陷阱
ascendc-runtime-debug 运行时错误调试,错误码解析、Kernel 挂起排查
ascendc-ut-develop UT 开发与覆盖率增强
ascendc-st-design aclnn 接口测试用例设计、L0/L1 用例生成
ascendc-code-review 代码检视方法论、5 大类别规范
ascendc-task-focus 任务聚焦,解决长任务"迷失在中间"问题
ascendc-whitebox-design 白盒测试用例生成
ascendc-custom-op-to-kernel-launch 自定义算子转 <<<>>> kernel 直调

1.2 Agents 智能代理

Agent 功能
ascendc-ops-architect 算子架构师,支持需求分析和方案设计两种场景
ascendc-ops-reviewer 代码检视专家,支持快速检视和全功能检视两种模式

二、jiuwenclaw安装

注:openclaw也可以,步骤差不多。但是jiuwenclaw的界面相对来说简洁很多。

2.1 docker

  1. 这里我已经全部打包好了,直接在终端中执行下面的命令即可。
docker run --name jiuwenclaw -it -d --net=host \
    -v /tmp:/tmp \
    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
    swr.cn-north-4.myhuaweicloud.com/toolsmanhehe/jiuwen:0.1.7-py310-ubuntu22.04
  1. 然后使用浏览器访问http://localhost:5173,局域网使用http://{ip}:5173

2.2 pip安装

如果不想用容器的话,按照下面的步骤执行也可以。

# 确认python:>=3.11,<3.14
python3 --version

# 安装 JiuwenClaw
pip install jiuwenclaw

# 初始化 JiuwenClaw (首次启动)
jiuwenclaw-init

# 启动 JiuwenClaw
jiuwenclaw-start

# 如需远程访问需要在两个终端中分别执行下面的命令
jiuwenclaw-app
jiuwenclaw-web --host 0.0.0.0 --port 5173

三、CANN Skills安装

  1. 在jiuwenclaw的web页面上找到技能页面,点击源管理。
    在这里插入图片描述
  2. 源名称可以自己取,这里我用的是cannskills,git仓库地址写https://gitcode.com/cann/skills.git,然后点击添加并启用这个源。
    在这里插入图片描述
  3. 关闭源管理界面后,就可以在技能页面看到刚刚添加的技能了。我们可以按需启用技能。
    在这里插入图片描述

四、模型配置

  1. 这里我在本地Ascend310P上用mindie跑了一个模型。服务化配置如下:
"ipAddress" : "0.0.0.0",
"allowAllZeroIpListening" : true,
"httpsEnabled" : false,
"npuDeviceIds" : [[0,1]],
"maxSeqLen" : 32768,
"maxInputTokenLen" : 65535,
"truncation" : true,
"modelName" : "Qwen3-30B-A3B-w8a8",
"modelWeightPath" : "/models/Qwen3-30B-A3B-w8a8",
"worldSize" : 2,
"trustRemoteCode" : true,
"maxPrefillTokens" : 65536,
"maxIterTimes" : 65536,
  1. 在jiuwenclaw的配置信息中进行模型配置。别忘了点保存。
    在这里插入图片描述

五、对话测试

这里我使用的测试问题是使用ascendc-api-best-practices这个技能,帮我查询一下datacopy的使用方法
在这里插入图片描述

六、小艺连接

  1. 访问小艺开放平台,点击立即体验。
    在这里插入图片描述

  2. 点击创建
    在这里插入图片描述

  3. 选择openclaw模式,下面的名字和描述自己填写就好了。
    在这里插入图片描述

  4. 第一次进来这里会提示还没有凭证,我们根据提示创建,key和安全密钥务必保存好,下面要用。创建后回来智能体编辑界面是这样的。
    在这里插入图片描述

  5. 进行一些其他的配置,然后上架这个智能体。
    在这里插入图片描述

  6. 回到jiuwenclaw的配置界面,在频道中配置小艺。
    在这里插入图片描述
    在这里插入图片描述

  7. 打开手机的小艺app界面,在对话页面就会出现刚刚创建的智能体。
    在这里插入图片描述

  8. 我们进行对话测试,我使用的问题是搜索 asc-devkit 中 Exp API 的使用示例
    在这里插入图片描述

七、总结

笔者走完整个流程大概花了2个小时,大部分时间被jiuwenclaw安装卡了。。。
cann skills的安装和使用倒是没遇到什么大问题,不过可能是没有针对opencalw这种模式优化,在使用的时候有概率不调用安装的skill,但是我们通过指定技能的方式能够实现正确的调用。当然,也有可能是因为笔者刚开始调教我的"油闷大虾"哈。
笔者按照cann skill的说明测试了下面几个场景,模型回答的还是比较准确的,基本没什么错误。在调用skill失败的时候,jiuwenclaw也会降级到websearch,就是多消耗亿点token罢了。

Skill 功能
ascendc-api-best-practices API 使用最佳实践、参数限制
ascendc-npu-arch NPU 架构知识、芯片型号映射
ascendc-docs-search API 文档索引 + 在线搜索
ascendc-env-check NPU 设备查询、CANN 环境验证
ascendc-runtime-debug 运行时错误调试,错误码解析、Kernel 挂起排查

最后,还是建议大家在使用的时候,直接指定技能名称,这样可以有效降低token消耗。

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐