瑞莎星睿 O6 (Radxa Orion O6) 拥有高达 28.8TOPs NPU (Neural Processing Unit) 算力,支持 INT4 / INT8 / INT16 / FP16 / BF16 和 TF32 类型的加速。
那么如何使用 CIX P1 NPU SDK 运行基于 NPU 加速推理的人工智能模型和应用,如果你已经拥有了一个硬件设备,NPU SDK 包含 NOE Compiler 与 CIX AI Model Hub, 要获取 SDK 需要通过申请 CIX 早鸟计划获取。 申请链接: CIX 早鸟计划
安装UV环境
为了方便管理Python环境,我们使用UV作为Python的环境管理,你可以通过官方文档进行安装
运行以下命令进行安装
curl -LsSf https://astral.sh/uv/install.sh | sh

按照提示添加环境变量
source $HOME/.local/bin/env创建一个Python3.10的环境
我们后面需要用的模型可以从魔搭社区进行下载,并且为了方便后面的开发,建议大家创建一个专属的虚拟环境
mkdir work
cd work
mkdir llm
cd llm
uv init --python 3.10
uv run main.py
添加modelscope库,方便我们后面进行模型的下载
uv add modelscope
如果速度比较忙,可以在当前目录的project.toml文件中加入如下配置
[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true

安装Llama.cpp
克隆仓库
git clone https://github.com/ggml-org/llama.cpp.git
偶尔github连接会比较慢,肯能需要上点魔法


编译 llama.cpp
sudo apt install cmake gcc g++

编译项目
cd llama.cpp
cmake -B build
如果看到上面的报错,可以运行下面的命令安装,然后在build
sudo apt install curl libcurl4-openssl-dev
继续输入cmake --build build --config Release

在编译的同时,我们可以去魔搭社区去下载GGUF格式的模型,为后面的体验做准备
新开一个终端,然后运行下面的命令进行模型的拉取
这里我们以通义千问3-8B-GGUF · 模型库为例
cd work/llm/
uv run modelscope download --model Qwen/Qwen3-8B-GGUF --local_dir ../models/Qwen/Qwen3-8B-GGUF
等待模型完成下载。于此同时我们之前的build工作也完成了

其实如果你使用的和我的型号一样的话,推荐用如下的命令进行build,它对硬件有优化
cmake -B build -DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv9-a+i8mm+dotprod -DGGML_CPU_KLEIDIAI=ON

推理测试
当我们的模型下载完成后如下

运行如下命令进行推理测试
cd build/bin
./llama-cli -m ../../../../models/Qwen/Qwen3-8B-GGUF/Qwen3-8B-Q5_K_M.gguf
-m 后面接的是你模型保存的位置


我这边运行后会卡死,于是决定换一个再小一点的模型试试
uv run modelscope download --model Qwen/Qwen3-4B-GGUF --local_dir ../models/Qwen/Qwen3-4B-GGUF
运行推理命令
./llama-cli -m ../../../../models/Qwen/Qwen3-4B-GGUF/Qwen3-4B-Q4_K_M.gguf
依然还是会卡退掉。PS:突然发现8B的运行错版本了,应该是Q4_K_M才对。但并不影响闪退
换1.7B的再试试
uv run modelscope download --model Qwen/Qwen3-1.7B-GGUF --local_dir ../models/Qwen/Qwen3-1.7B-GGUF
运行推理命令
./llama-cli -m ../../../../models/Qwen/Qwen3-1.7B-GGUF/Qwen3-1.7B-Q8_0.gguf
很好正常启动了,尝试对话一下

运行了一下,可是刚刚思考一点就闪退了,至此我怀疑可能是电源的问题。
更换了电源后,可以进行正常对话了

做一下GGUF 基准测试看看
./llama-bench -m ../../../../models/Qwen/Qwen3-1.7B-GGUF/Qwen3-1.7B-Q8_0.gguf
懂行的朋友可以点评一下。
我有理由怀疑自强的闪退也是由于电源的问题,于是我测试了一下,果然如此
4B效果


8B效果


各项参数的含义
| 段名 | 含义 |
|---|---|
| PP | Prompt Tokens:每个输入样本的 prompt 长度(token 数) |
| TG | Text Generation Tokens:每个样本生成的 token 数 |
| B | Batch Size:同时推理的输入样本数(并发) |
| N_KV | KV Cache 数量 = (PP + TG) × B |
| T_PP s | Prompt 处理时间(秒) |
| S_PP t/s | Prompt 阶段吞吐率(tokens/s) |
| T_TG s | 生成阶段耗时(秒) |
| S_TG t/s | 生成阶段吞吐率 |
| T s | 总时间(秒) |
| S t/s | 总体吞吐率(PP+TG×B 的 token/s) |
今天我们一起在这个主板上成功的运行了Qwen3-8B, Qwen3-4B, Qwen3-1.7B的量化版本,总体体验下来还是可以进行简单的使用,后续我们有时间会和大家一起在这个开发板上做一些工程上的尝试,敬请期待。