树莓派这种“玩具级”设备,真能跑大模型吗?

简介: 本期教程带你用树莓派5部署Qwen3模型,打造完全离线、自带屏幕与键盘的“AI小终端”。基于C语言实现,不依赖Python或llama.cpp,支持多尺寸Qwen3模型,实现本地化私有推理。跟随步骤,轻松搭建属于你的端侧AI助手。

image.png

👀 欢迎来到「端侧AI创新挑战赛」官方教程第三期!

在前两期中,我们带大家用 Ollama 在 PC 上零代码部署 Qwen3-0.6B,也深入探讨了 Android/iOS 设备上部署轻量级 Qwen 模型。


本期,我们将目光投向更“硬核”的嵌入式世界——在树莓派5上跑起 Qwen3,打造一台完全离线、自带屏幕与键盘的“AI小终端”

无需联网、不依赖 Python、不用 llama.cpp,仅靠 C 语言实现,连路由器都能跑!

image.png


本教程所采用的方案源自社区开发者 BD4SUR 的个人项目 “电子鹦鹉 Nano”。


该项目基于 Andrej Karpathy 的开源项目 llama2.c 进行二次开发,新增了 I2C 键盘输入与 OLED 屏幕输出功能,属于学习与实验性质的原型实现,已通过 MIT 协议开源。欢迎访问项目仓库(https://github.com/bd4sur/Nano)查看完整代码、模型文件及更多演示场景。


🟣方案具备以下特点:

  • 完全离线的端侧推理,不依赖网络。
  • 支持 Qwen3-0.6B、Qwen3-1.7B、Qwen3-4B、以及 BD4SUR 自主训练的 Nano-168M 语言模型
  • 完全由 C 语言实现,依赖极少,不依赖于 llama.cpp、vLLM 等第三方推理引擎,能够运行在树莓派、RK3588 甚至路由器等嵌入式Linux系统上。
  • 在树莓派5代上,Qwen3-0.6B 的推理速度可以达到每秒8~12个词元。
  • 通过九键输入法输入中英文文本。
  • 暂时不支持多轮对话,只支持单轮对话(历史问答不会被输入到本轮输入的提示词中)。

如果你希望亲手体验“数据不出设备”的私有 AI 助手,不妨跟着本教程一步步操作。为了能够顺利部署,希望您具备一些前置知识,例如访问网络、电子制作、Linux 系统等等。


硬件准备

请根据以下清单准备所需材料:

  • 树莓派5代:建议内存为 4GB 或以上,越大越好。并加装官方主动散热器以保障长时间推理的稳定性;
  • microSD 卡或者 SSD:用于安装系统和存放模型文件,建议容量不小于 16GB(若使用 NVMe SSD,可显著缩短模型加载时间);
  • 电源:推荐使用树莓派官方 5V5A 电源,避免因供电不足导致性能下降或系统不稳定;
  • OLED 屏幕:需为基于 SSD1309 芯片的 128×64 点阵 I2C 接口 OLED 显示屏;
  • 矩阵键盘:I2C 接口,设备地址为 0x27,支持通过指令 0x03 轮询读取键码(无按键时返回键码 16);
  • 杜邦线若干用于连接树莓派与 OLED、键盘模块;
  • 显示器、键盘、鼠标(可选):用于初始系统配置;也可通过 SSH 以“无头”方式远程操作。


按照以下图示,连接各个模块:

F7813DD1-307D-4cae-B314-1975120E7872.png

⚠️ 重要提示:切勿带电插拔模块。切勿接反或短路电源线和地线。避免导电物体接触裸露的电子模块,以防意外短路。建议操作前先通过洗手、触摸墙壁等方式释放身上的静电,或者戴防静电手环操作。

软件准备

🟣第一步:安装系统并配置基础环境

首先,按照树莓派官方文档

(https://www.raspberrypi.com/documentation/computers/getting-started.html) 说明,在电脑上下载树莓派系统烧录工具,将 Raspberry Pi OS (64-bit) 烧录进 microSD卡。建议使用树莓派官方系统,避免不必要的麻烦。(注:如果想减少模型加载的等待时间,可以使用 NVMe 的 SSD)

随后,将显示器、键盘、网线连接到树莓派,将烧录了操作系统的 microSD 卡插入插槽,确保所有模块按照上文说明正确连接,插入电源,树莓派应能自动启动。按照树莓派官方文档的说明,完成网络、账户密码等配置下文使用的用户名为pi,进入 Raspberry Pi OS。

打开终端,执gcc --version,若未报错,则意味着编译工具链已成功安装,进入第二步。否则,执行以下命令,更新并安装必要软件:

sudo apt update
sudo apt install git build-essential


🟣第二步:启用并设置I2C端口

打开终端,执行:


sudo nano /boot/firmware/config.txt

编辑器打开后,在 config 文件中,将 dtparam=i2c_arm=off这一行改成以下内容,以启用 I2C 端口,并将其速率设置为 400kHz


dtparam=i2c_arm=on,i2c_arm_baudrate=400000

保存并退出,随后执行 sudo reboot 重启树莓派。

重启之后,执行以下命令,检查能否正确识别OLED屏幕和矩阵键盘两个设备:


sudo i2cdetect 1 -y

如果显示的内容中有 27 和 3c (如下),说明树莓派已经识别到了两个 I2C 设备,其中 0x27 是矩阵键盘, 0x3c 是 OLED 屏幕。


 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- 27 -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


🟣第三步:拉取代码并编译

首先,拉取代码仓库到本地,并进入代码目录:

# 假设当前用户名为pi
cd /home/pi
git clone https://github.com/bd4sur/Nano.git
cd Nano/nanochat

再将代码编译为可执行文件:

make -j4

编译完成后,在当前目录中会出现一个新的可执行文件 nanochat


在执行程序之前,先HuggingFace或者ModelScope下载转换好的模型文件,并将其放置于 model目录下(注:所有模型加起来大约将近7GB)

# 进入模型目录
cd model

# 从HuggingFace下载
wget -c https://huggingface.co/bd4sur/Qwen3/resolve/main/qwen3-0b6-q80.bin
wget -c https://huggingface.co/bd4sur/Qwen3/resolve/main/qwen3-1b7-q80.bin
wget -c https://huggingface.co/bd4sur/Qwen3/resolve/main/qwen3-4b-instruct-2507-q80.bin
wget -c https://huggingface.co/bd4sur/Nano-168M/resolve/main/nano_168m_625000_sft_947000_q80.bin

# 或者从ModelScope下载
wget -c https://modelscope.cn/models/bd4sur/qwen3_nano/resolve/master/qwen3-0b6-q80.bin
wget -c https://modelscope.cn/models/bd4sur/qwen3_nano/resolve/master/qwen3-1b7-q80.bin
wget -c https://modelscope.cn/models/bd4sur/qwen3_nano/resolve/master/qwen3-4b-instruct-2507-q80.bin
wget -c https://modelscope.cn/models/bd4sur/Nano-168M/resolve/master/nano_168m_625000_sft_947000_q80.bin


模型下载完成后,返回上一级目录,执行刚刚编译得到的 nanochat

cd ..
./nanochat


如果一切正常,OLED屏幕亮起,可以开始与电子鹦鹉对话啦(效果见文末)

image.png

使用方法

首先介绍 16 键矩阵键盘的功能。

1

2

3

4

1

英文符号

2

ABC

3

DEF

A

返回/退格

4

GHI

5

JKL

6

MNO

B

汉英数切换

7

PQRS

8

TUV

9

WXYZ

C

无功能

*

向上

0

符号

#

向下

D

确认/输入


程序启动后,OLED 屏幕首先显示主屏幕(图1)。在主屏幕中,按下任意按键,即可进入主菜单图2)。在主菜单中,使用 【*】 和 【#】 键上下移动光标,按 【D】 键确认选择。

image.png

                                                    图1、图2

选择“电子鹦鹉”选项,进入模型选择菜单(图3),选择所需的模型,待模型加载完毕后(模型加载需要几秒到几十秒的时间,具体因模型的尺寸而异),进入文字输入状态图4)

image.png

                                                    图3、图4

在文字输入状态下,按【*】和【#】键移动光标,按【A】键删除光标左侧的1个字符,按【B】键切换汉字/英文字母/数字输入状态,按【D】键确认输入。如果输入框内没有内容,则按【A】键会返回主菜单。


▪️汉字输入状态,类似于手机的九键拼音输入法。

例如,要输入“你”字,依次按【6】键(mno)和【4】键【ghi】,随着按键输入,屏幕最下方会出现已输入的按键组合所对应的全部候选字(图5)


若拼音输入完毕,按下【D】键,开始选字,此时在候选字列表上方会出现一行数字(图6),直接按下对应的数字键,即可选中并输入相应的数字。


数字上方的(1/5)是候选字列表的页码,按【*】和【#】键可以向前向后翻页,查看更多候选字。在拼音输入的任何阶段,按【A】键都会退出拼音输入状态,回到文字输入状态。

BAC0735E-1B27-403c-8CDB-5AC2C2D1557B.png

                                                    图5、图6

▪️英文字母输入状态,类似于传统的T9英文输入法。

例如,要输入字母“d”,则按【2】键(def),屏幕下方会出现这个按键对应的候选字母(图7),同时出现一个倒计时进度条。


反复按同一个键,光标向右滚动,直至停留在想要的字母上,停止按键,待倒计时进度掉读完,则选中的字母被输入。【1】键对应的是常用的英文符号,输入方法与普通的字母按键一致。


▪️数字输入状态,按下某个数字键,直接输入对应的数字。

无论在哪种输入状态,长按【0】键,都会呼出符号候选列表(图8)。按【*】和【#】键可以向前向后翻页,按数字键,可选中并输入对应的符号。

image.png

                                                    图7、图8

文字输入完成后,按【D】键确认输入,此时屏幕上显示“Pre-filling...”和进度条,意味着模型推理引擎正在逐词读取输入内容。


读取完毕后,进入解码阶段,此时屏幕上开始显示大模型的回答内容,同时自动翻页到最底部。


待大模型回答完毕后,屏幕底部显示本次对话的生成速度。


此时,按【*】和【#】键可以向上向下翻页,查看全部回答内容,每按1次滚动1行,滚动到顶部或底部时可自动返回最底部或者最顶部。按【A】键,返回到文字输入状态。按【D】键,可以再次询问刚刚问过的问题。

点击查看效果gif图🔼

至此,你已成功在树莓派5上部署了一个完全离线、可交互的 Qwen3 AI 终端。


无需联网、不依赖云服务,所有推理都在你手中这台小巧的设备上完成,本教程所展示的“电子鹦鹉 Nano”为实验性原型,我们鼓励你在此基础上继续尝试:更换模型、优化交互、适配更多硬件,甚至为长辈打造一台“说明书问答机”或“离线办公助手”。


如果你完成了部署,或在此基础上做出了有趣的改进,欢迎投稿至「端侧AI创新挑战赛」赛道一

优秀作品将有机会获得奖金、项目扶持、商业合作等机会,欢迎扫码报名!

                                                                  image.png

                                                               钉钉扫码,提交创意表单!



相关文章
|
23天前
|
人工智能 Android开发 iOS开发
MNN × Qwen 实战:离线运行大模型的正确姿势
本期教程带你用MNN+Qwen在手机端部署大模型,从安装MNN Chat体验离线对话,到源码编译、模型转换与推理测试,再到Android/iOS移动端部署全流程实战,并提供精度与性能调优秘籍,助力端侧AI创新挑战赛。
563 24
|
22天前
|
人工智能 自然语言处理 安全
妙妙妙妙!公文、合同、标书…全妙闭环了
阿里云百炼|全妙,是面向政企、媒体等专业领域的智能创作平台,集“妙策、妙搜、妙笔、妙读”于一体,覆盖公文撰写、合同审查、标书生成、内容采编等高合规场景,助力用户降本增效,释放创造力。
240 25
|
22天前
|
人工智能 自然语言处理 算法
GEO战略指南:如何选择服务商,让AI大模型主动成为你的“推荐官”!
生成式AI时代,GEO成企业转型关键。本文基于技术架构、服务闭环等四大维度,结合阿里云标准,精选五家核心服务商,助企业实现可量化、可追溯的智能升级决策。
241 30
|
5天前
|
机器学习/深度学习 传感器 算法
BipedalWalker实战:SAC算法如何让机器人学会稳定行走
本文探讨基于Soft Actor-Critic(SAC)算法的下肢假肢自适应控制。传统方法依赖精确建模,难以应对复杂环境变化。SAC通过最大熵强化学习,使假肢在仿真中自主探索、学习稳定步态,具备抗干扰与容错能力。结合生物工程视角,将神经网络映射为神经系统,奖励函数关联代谢效率,实现从试错到自然行走的演化。相位图分析显示极限环形成,标志动态稳定步态建立,能效曲线表明后期动作更节能。研究为智能假肢迈向临床应用提供新思路。
189 117
BipedalWalker实战:SAC算法如何让机器人学会稳定行走
|
18天前
|
消息中间件 安全 NoSQL
阿里云通过中国信通院首批安全可信中间件评估
近日,由中国信通院主办的 2025(第五届)数字化转型发展大会在京举行。会上,“阿里云应用服务器软件 AliEE”、“消息队列软件 RocketMQ”、“云数据库 Tair”三款产品成功通过中国信通院“安全可信中间件”系列评估,成为首批获此认证的中间件产品。此次评估覆盖安全可信要求、功能完备性、安全防护能力、性能表现、可靠性与可维护性等核心指标,标志着阿里云中间件产品在多架构适配与安全能力上达到行业领先水平。
367 200
|
23天前
|
人工智能 数据可视化 开发者
5分钟,把Qwen“装”进电脑!
「端侧AI创新挑战赛」首期教程上线!手把手教你用Ollama在PC本地部署Qwen3-0.6B模型,无需代码、无需联网,5分钟打造专属私人AI助手。数据不出设备,响应快速,适合无网、高敏或定制化场景。轻量模型CPU即可运行,小白也能轻松上手。参赛提交创意还有机会赢取通义定制好礼!
674 2
|
26天前
|
人工智能 语音技术 流计算
一图掌握通义千问:模型生态与应用场景全览
通义千问(Qwen)系列提供全栈开源AI能力,涵盖语言、视觉、语音等多模态应用。旗舰模型Qwen3-Max性能领先,支持92种语言翻译与高精度语音识别,具备强大代码生成与图像处理能力,助力开发者与企业高效构建智能应用。
313 2
一图掌握通义千问:模型生态与应用场景全览
|
8天前
|
人工智能 自然语言处理 人机交互
《智能词汇》:十进制编码驱动的构词体系与极简语法应用机制研究
摘要 《智能词汇》作为一套创新性人工语言的词汇系统,其核心优势集中体现于词汇构词体系与语法应用机制的逻辑化设计。本文聚焦《智能词汇》的核心功能,系统解析其基于十进制编码的构词方法(语义场层级分类、词汇关系网络构建、无限扩展规则)与极简语法应用机制(词本位原则、无形态变化特征、语序主导语义表达)。研究表明,《智能词汇》以“道生万物”哲学思想为内核,以十进制数学逻辑为骨架,构建了“编码即语义、关系即规则、语法即秩序”的完整体系,实现了词汇构词的规则化、语义关联的精准化与语法应用的简洁化,为人工语言的词汇与语法设计提供了新范式,兼具语言学习的高效性与跨场景应用的适配性。
188 114
《智能词汇》:十进制编码驱动的构词体系与极简语法应用机制研究
|
23天前
|
监控 安全 Linux
Linux如何部署服务并设置为开机自启
系统ctl命令用于管理Linux服务,包括启动、停止、重启和重载配置等操作。journalctl命令可查看特定服务日志。编写服务文件时需定义[Unit]、[Service]和[Install]部分,通过systemctl管理新服务并设置开机自启。
197 14

热门文章

最新文章