共计 8271 个字符,预计需要花费 21 分钟才能阅读完成。
什么是香橙派
Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能 AI 开发板,其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,内存提供了 8GB 和 16GB 两种版本。可以实现图像、视频等多种数据分析与推理计算,可广泛用于教育、机器人、无人机等场景。
如果你有一块香橙派 AIpro 你会拿来做什么?
1. 香橙派 AIpro 部署大语言模型
2. 利用香橙派 AIpro 安装 LNMP(宝塔面板)搭建私有的 Wordpress 博客 WEB 系统
基础配置
香橙派 AIpro
CPU:昇腾 AI 技术路线(听群友说是 A55)
内存:8GB/16GB LPDDR4X(我拿到的是 8G 的版本)
HDMI 2.0 输出 2 个
千兆网口:1 个
USB3.0,有 2 个
USB Type-C 3.0,1 个
Wi-Fi5+ 蓝牙 4.2
支持 SATA/NVMe SSD 2280 的 M.2 插槽
可外接 32GB/64GB/128GB/256GB eMMC 模块
Type- C 供电
详细信息请查看:http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-AIpro.html
外壳
主板和电源
正面图片
背面图
ubuntu 系统固定 IP
把香橙派 AIpro 的电源插上,连接显示器键盘鼠标和网线,开机风扇声音还挺大,不过进入系统后风扇声音变小。
$ ifconfig 查看 IP
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.245 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::9f02:c0dd:c615:4468 prefixlen 64 scopeid 0x20<link>
ether c0:74:2b:fe:29:42 txqueuelen 1000 (Ethernet)
RX packets 453623 bytes 66206481 (66.2 MB)
RX errors 0 dropped 1595 overruns 0 frame 0
TX packets 4999 bytes 957506 (957.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 7c:88:99:ff:79:ec txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看到有两个网卡,一个是有线,一个无线。
ubuntu 系统固定 IP:
我这里把香橙派的 IP 固定为 192.168.1.22,免得重启或者 IP 被局域网的占用的情况。
$ sudo -i
# cd /etc/netplan
#ls -l
total 20
-rw-r--r-- 1 root root 164 Jan 30 12:19 01-netcfg.yaml
备份文件:
# cp 01-netcfg.yaml 01-netcfg.yaml-bak
# vim 01-netcfg.yaml
填入网络配置模版
ubuntu22.04 参考以下配置模板如下
network:
ethernets:
eth0: # 网卡名称
dhcp4: no #关闭 ipv4 动态分配 ip 地址
dhcp6: no #关闭 ipv6 动态分配 ip 地址
addresses:
- 192.168.1.22/24 # 设置的子网 IP 和子网掩码,192.168.1.22 代表 IP /24 代表掩码 255.255.255.0
routes:
- to : default
via: 192.168.1.1 # 网关
nameservers:
addresses: # DNS 服务器
- 114.114.114.114
- 8.8.8.8
version: 2
renderer: networkd
加载配置和重启网络
修改好网卡配置文件后通过下面命令生效
# netplan apply
重新网络
# systemctl restart systemd-networkd
SSH 远程连接
Ubuntu 22.04.3 LTS
下载 SSH 软件例如:MobaXterm 或者 Putty
我习惯用 SecureCRT
如图填写 IP, 端口,用户和密码,这个 IP 是没改之前的请忽略。
进入远程
远程连接 VNC
官方镜像默认安装了 VNC,我这里用 vncviewer 软件
就可以用 vnc 远程控制香橙派了
挂载硬盘
我在板子后面添加了一块 1T 的 SSD,并且挂载到 /www 目录下
(base) HwHiAiUser@orangepiaipro:~$ sudo -i
[sudo] password for HwHiAiUser:
输入密码,切换到 root 用户
查看硬盘:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 29G 17G 12G 60% /
tmpfs 3.7G 4.0K 3.7G 1% /dev/shm
tmpfs 1.5G 15M 1.5G 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs 128M 772K 128M 1% /var/log
/dev/mmcblk1p3 50M 2.0K 50M 1% /exchange
tmpfs 755M 76K 755M 1% /run/user/0
tmpfs 755M 80K 755M 1% /run/user/1000
查看硬盘:
fdisk -l
Disk /dev/nvme0n1: 953.87 GiB, 1024209543168 bytes, 2000409264 sectors
Disk model: Predator SSD GM7000 1TB
.....
Device Start End Sectors Size Type
/dev/nvme0n1p1 4096 618495 614400 300M EFI System
/dev/nvme0n1p2 618496 1999204351 1998585856 953G Microsoft basic data
.....
可以看到有一块 1T 的 SSD,再挂载硬盘
mkdir /www
mount /dev/nvme0n1p2 /www # 可以直接挂载
也可以先格式化再挂载:
mkfs.ext4 /dev/nvme0n1p2
mount /dev/nvme0n1p2 /www
df -h|grep www
/dev/nvme0n1p2 953G 528M 953G 1% /www
vim /etc/fstab
增加:
/dev/nvme0n1p2 /www ext4 defaults 0 0
至此准备工作完毕,下面就介绍用香橙派 AIpro 搭建本地的模型。
香橙派 AIpro 部署大语言模型
Ollama 运行 llama3、qwen 等大模型,虽然有些小马拉大车,我还是想试试它的极限在哪里
安装 Ollama
方法 1、命令行下载安装 (耗时长)
安装命令:
$ sudo apt install curl
$ curl -fsSL https://ollama.com/install.sh | sh
缺点:国内网络环境要等很久
方法 2、手动下载安装(推荐使用)
1. 手动下载 https://ollama.com/install.sh 这个文件
# mkdir /www/ollama
cd /www/ollama
# wget https://ollama.com/install.sh
2. 注释掉下载部分 curl xxxx 手动下载 ollama-linux-{ARCH}
# vim install.sh
修改文件:status "Downloading ollama..."
#curl --fail --show-error --location --progress-bar -o $TEMP_DIR/ollama "https://ollama.com/download/ollama-linux-${ARCH}${VER_PARAM}"
香橙派 AIpro 的 CPU 是 ARM 架构的,所以 {ARCH} = arm64
浏览器下载:https://ollama.com/download/ollama-linux-arm64
如果 CPU 是 intel 或者 AMD 则:{ARCH} = amd64,https://ollama.com/download/ollama-linux-amd64
当然科学上网速度更快哟。放在 install.sh 同目录下
3. 注释掉 #$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $BINDIR/ollama
改为下面一行:
# vim install.sh
修改文件:status "Installing ollama to $BINDIR..."
$SUDO install -o0 -g0 -m755 -d $BINDIR
#$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $BINDIR/ollama
$SUDO install -o0 -g0 -m755 ./ollama-linux-arm64 $BINDIR/ollama
4. 运行 install.sh , 安装
(base) root@orangepiaipro:/www/ollama# ll
total 285868
drwxr-xr-x 2 root root 4096 May 23 10:20 ./
drwxr-xr-x 4 root root 4096 May 23 10:04 ../
-rw-r--r-- 1 root root 10158 May 23 10:20 install.sh
-rw-r--r-- 1 root root 292706744 May 23 10:17 ollama-linux-arm64
# sh ./install.sh
重启电脑
更改模型存放的路径
由于系统盘空间有限,如果不修改模型存放位置默认会在 /usr/share/ollama/.ollama/models 或者 /root/.ollama/models/ 目录。
# mkdir /www/ollama/ollama_models
# cd /etc/systemd/system/
# vim /etc/systemd/system/ollama.service
在 environment 里面分号隔开添加 OLLAMA_MODELS 环境变量
OLLAMA_MODELS=/www/ollama/ollama_models;
如下图
加载配置并且重启 ollama 生效
source ollama.service
systemctl daemon-reload
systemctl restart ollama
启动 ollama 服务
# ollama --help
Large language model runner
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
提示
star@star-ai:~$ ollama serve
Couldn't find'/home/star/.ollama/id_ed25519'. Generating new private key.
Your new public key is:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPmYsSi6aIsyhC4EHEsCdBtSOqnfKmNVSf0Ofz9sVzyB
Error: listen tcp 127.0.0.1:11434: bind: address already in use
说明已经运行
重新加载配置,重启 ollama
systemctl daemon-reload
systemctl restart ollama
ollama serve
关闭服务
systemctl stop ollama
启动服务
systemctl start ollama
运行 qwen 大模型
ollama run qwen
使用 ollama 运行 qwen CPU 占用率为 300%,内存 40%,回答一个问题基本上要等很久。
ollama 官方的模型仓库参见这里:https://ollama.com/library
阿里巴巴的大模型:ollama run qwen
ollama run qwen:14b
ollama run qwen:32b
ollama run qwen:72b
ollama run qwen:110b # 110b 表示该模型包含了 1100 亿(110 billion)个参数
脸书大模型:ollama run llama2
ollama run llama3
ollama run llama3:8b
谷歌的大模型:ollama run gemma
微软的大模型
ollama run phi3
删除模型
显示所有模型
# ollama list
删除模型
# ollama rm llama3:latest
结论:可以安装 ollama 和使用大模型,但是无法流畅的运行。
安装 Tiny_Llama ManualReset 模型
Tiny_Llama ManualReset 的 gitee 地址:https://gitee.com/wan-zutao/tiny-llama-manual-reset
1. 克隆仓库
1. 使用 root 用户登录环境,clone 当前仓到空闲目录
$ sudo -i
# git clone https://gitee.com/wan-zutao/tiny-llama-manual-reset.git tiny_llama
# cd tiny_llama/inference
2. 运行 download.sh
下载 model,tokenizer 文件。
# bash download.sh
3. 启动程序
python3 main.py
用浏览器访问:IP+ 端口 http://127.0.0.1:5000
提一个问题:
log 会有响应的日志:
再用 top 看看负载,CPU 占用 10% 内存,占用 9.5%,基本还能运行。
安装宝塔面板
宝塔面板(BT Panel)是一款服务器管理软件,支持 Linux 系统,可以通过 Web 端轻松管理服务器,提升运维效率。它集成了建站、运维、安全等功能,可以帮助用户轻松管理服务器,降低运维难度。
搭建宝塔面板
进入宝塔官网 https://www.bt.cn/new/download.html
选择适合的系统脚本
运行安装脚本
# wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec
经过安装
Command may disrupt existing ssh connections. Proceed with operation (y|n)? Firewall is active and enabled on system startup
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
Firewall reloaded
==================================================================
Congratulations! Installed successfully!
======================== 面板账户登录信息 ==========================
外网面板地址: https://14.155.32.234:33161/f91c950f
内网面板地址: https://192.168.1.22:33161/f91c950f
username: XXX
password: XXX
用浏览器打开
同意协议之后,安装宝塔套件
安装完成
宝塔的命令行
(base) root@orangepiaipro:~# bt
================================== 宝塔面板命令行 ====================================
(1) 重启面板服务 (8) 改面板端口 |
(2) 停止面板服务 (9) 清除面板缓存 |
(3) 启动面板服务 (10) 清除登录限制 |
(4) 重载面板服务 (11) 设置是否开启 IP + User-Agent 验证 |
(5) 修改面板密码 (12) 取消域名绑定限制 |
(6) 修改面板用户名 (13) 取消 IP 访问限制 |
(7) 强制修改 MySQL 密码 (14) 查看面板默认信息 |
(22) 显示面板错误日志 (15) 清理系统垃圾 |
(23) 关闭 BasicAuth 认证 (16) 修复面板 (检查错误并更新面板文件到最新版) |
(24) 关闭动态口令认证 (17) 设置日志切割是否压缩 |
(25) 设置是否保存文件历史副本 (18) 设置是否自动备份面板 |
(26) 关闭面板 ssl (19) 关闭面板登录地区限制 |
(28) 修改面板安全入口 (29) 取消访问设备验证 |
(0) 取消 |
====================================================================================
请输入命令编号:
安装 wordpress 站点
进入宝塔,点击软件商店 —> 一键部署
我这里选择 wordpress
使用 www.wp.com 搭建,这个域名在测试环境可以绑定 hosts
点击“提交”会报错,
解决报错 undefined symbol: lua_getexdata
应该是 nginx 编译 Lua 版本不 arm 的
/www/server/nginx/sbin/nginx: symbol lookup error: /www/server/nginx/sbin/nginx: undefined symbol: lua_getexdata
切换 nginx 版本
点击网站 —>nginx —> 切换版本
把安装的 1.24 的 nginx 改成 1.23
nginx -t
nginx: [emerg] unknown directive "lua_package_path" in /www/server/nginx/conf/nginx.conf:28
nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
修改配置
再次安装 wordpress 站点
绑定 hosts 访问
192.168.1.22 www.testwp.com
使用浏览器访问安装 wordpress 系统
输入数据库和数据库用户名密码等
填写站点信息:
安装完成,这样就可以用宝塔工具搭建各种的 WEB 站点了。
当然还可以用宝塔的图形界面使用 Docker 搭建各种的服务,对于哪些没有代码能力的人也是一种很友好的。
结语
本文只是介绍了用香橙派 AIpro 部署大语言模型和安装宝塔搭建 web 环境。
香橙派 AIpro 支持 Ubuntu、openEuler 等操作系统,也可以作为一个学习 Linux 的有力工具。也能够满足大多数 AI 算法原型验证、推理应用开发的需求。
也可以用于智能家居设备的控制和管理,等等香橙派 AIpro 还有很多的玩法。
如果你有这样的小玩意你会做什么呢?