用香橙派AIpro部署大模型、安装宝塔搭建私有随身WEB开发环境

news2024/11/15 17:46:42

什么是香橙派

Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能 AI 开发板,其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,内存提供了 8GB 和 16GB两种版本。可以实现图像、视频等多种数据分析与推理计算,可广泛用于教育、机器人、无人机等场景。

如果你有一块香橙派AIpro你会拿来做什么?

今天就跟大家介绍一下我会用这个香橙派AIpro做什么。

1.香橙派AIpro部署大语言模型

2.利用香橙派AIpro安装LNMP(宝塔面板)搭建私有的Wordpress博客WEB系统

xiangchengpai-aipor

基础配置

香橙派 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供电

image-20240522172207326

详细信息请查看: Orange Pi AIpro Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘

主板和电源

image-20240529154208894

正面图片

image-20240522173608688

背面图

image-20240522173642488

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远程连接

下载SSH软件例如: MobaXterm 或者 Putty

我习惯用 SecureCRT

如图填写IP,端口,用户和密码,这个IP是没改之前的请忽略。

image-20240522180029942

进入远程

image-20240522183401338

远程连接VNC

官方镜像默认安装了VNC,我这里用 vncviewer 软件

image-20240524192426294

就可以用vnc远程控制香橙派了

image-20240524192504613

挂载硬盘

我在板子后面添加了一块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

image-20240517160657340

缺点: 国内网络环境要等很久

方法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

image-20240523102150518

重启电脑

更改模型存放的路径

由于系统盘空间有限,如果不修改模型存放位置默认会在 /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;
如下图

image-20240523103347948

加载配置并且重启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

image-20240523115017945

使用ollama 运行 qwen CPU占用率为 300%,内存 40%,回答一个问题基本上要等很久。

image-20240523110842704

ollama官方的模型仓库参见这里: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地址: 万祖涛/Tiny-Llama ManualReset

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

image-20240523140020787

3.启动程序

python3 main.py

image-20240523140220661

用浏览器访问: IP+端口 http://127.0.0.1:5000

提一个问题:

image-20240523142743646

log会有响应的日志:

image-20240523142824732

再用top看看负载,CPU占用10%内存,占用9.5%,基本还能运行。

image-20240523140501864

安装宝塔面板

宝塔面板(BT Panel)是一款服务器管理软件,支持Linux系统,可以通过Web端轻松管理服务器,提升运维效率。它集成了建站、运维、安全等功能,可以帮助用户轻松管理服务器,降低运维难度。

搭建宝塔面板

进入宝塔官网 宝塔面板下载,免费全能的服务器运维软件

选择适合的系统脚本

image-20240523152412114

运行安装脚本

# 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
 

用浏览器打开

image-20240523154448933

同意协议之后,安装宝塔套件

image-20240523154630259

安装完成

image-20240523160730765

宝塔的命令行

(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

image-20240523172942530

使用 www.wp.com 搭建,这个域名在测试环境可以绑定hosts

image-20240523173156438

点击“提交”会报错,

解决报错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

image-20240523182921362

image-20240523182751048

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
​

修改配置

image-20240523183101513

再次安装wordpress站点

image-20240523183659031

image-20240523183709966

绑定hosts访问

192.168.1.22 www.testwp.com

使用浏览器访问安装wordpress系统

image-20240523183818003

输入数据库和数据库用户名密码等

image-20240523183915418

填写站点信息:

image-20240523184017922

安装完成,这样就可以用宝塔工具搭建各种的WEB站点了。

当然还可以用宝塔的图形界面使用Docker搭建各种的服务,对于哪些没有代码能力的人也是一种很友好的。

结语

本文只是介绍了用香橙派AIpro部署大语言模型和安装宝塔搭建web环境。

香橙派AIpro 支持Ubuntu、openEuler等操作系统,也可以作为一个学习Linux的有力工具。也能够满足大多数AI算法原型验证、推理应用开发的需求。

也可以用于智能家居设备的控制和管理,等等香橙派AIpro还有很多的玩法。

如果你有这样的小玩意你会做什么呢?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1714254.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IPFoxy Tips:海外代理IP适用的8个跨境出海业务

在当今数字化时代&#xff0c;互联网已经成为商业和个人生活不可或缺的一部分。IP代理作为出海业务的神器之一&#xff0c;备受跨境出海业务人员关注。IPFoxy动态、静态纯净代理IP也根据业务需求的不同&#xff0c;分为静态住宅、动态住宅、静态IPv4、静态IPv6四种类型代理。那…

电脑msvcp140_atomic_wait.dll丢失的高效率解决方法,快速的一键修复

我们常常遇到各种不可预见的电脑故障问题&#xff0c;msvcp140_atomic_wait.dll丢失是一个常见的系统错误&#xff0c;它通常发生在Windows操作系统中&#xff0c;特别是当用户尝试运行依赖于Microsoft Visual C Redistributable的应用程序时。该问题可能导致程序崩溃或无法启动…

App Inventor 2 低功耗蓝牙BLE 两种通信方式:扫描和广播

低功耗蓝牙&#xff0c;也称为蓝牙 LE 或简称 BLE&#xff0c;是一种类似于经典蓝牙的新通信协议&#xff0c;不同之处在于它旨在消耗更少的功耗&#xff0c;同时保持可比的功能。 因此&#xff0c;低功耗蓝牙是与耗电资源有限的物联网设备进行通信的首选。BluetoothLE 扩展需…

神经网络不确定性综述(Part I)——A survey of uncertainty in deep neural networks

相关链接&#xff1a; 神经网络不确定性综述(Part I)——A survey of uncertainty in deep neural networks-CSDN博客 神经网络不确定性综述(Part II)——Uncertainty estimation_Single deterministic methods-CSDN博客 神经网络不确定性综述(Part III)——Uncertainty est…

这个橙子真的香!老司机徒手把玩香橙派Kunpeng Pro事后回忆录

说&#xff01;你是哪个门派&#xff1f; 香橙&#xff0c;芸香科柑橘属小乔木。枝通常有粗长刺&#xff0c;新梢及嫩叶柄常被疏短毛。叶厚纸质&#xff0c;翼叶倒卵状椭圆形&#xff0c;顶部圆或钝。。。 咦&#xff1f;小李&#xff1f;我们不是搞IT的嘛&#xff0c;怎么会有…

Spring OAuth2:开发者的安全盾牌!(上)

何利用Spring OAuth2构建坚不可摧的安全体系&#xff1f;如何使用 OAuth2 从跨域挑战到性能优化&#xff0c;每一个环节都为你的应用保驾护航&#xff1f; 文章目录 Spring OAuth2 详解1. 引言简述OAuth2协议的重要性Spring Framework对OAuth2的支持概述 2. 背景介绍2.1 OAuth2…

2023年西安交通大学校赛(E-雪中楼)

E.雪中楼 如果算出按南北的序列&#xff0c;再转成从低到高的编号序列&#xff0c;岂不是太麻烦了&#xff0c;幸好&#xff0c;没有在这方面费长时间&#xff0c;而是意识到&#xff0c;本质就是要从低到高的编号序列&#xff0c;所以我就按样例模拟了一下&#xff0c;当a[i]0…

为什么AI企业需要联盟营销?

AI工具市场正在迅速发展&#xff0c;现仍有不少企业陆续涌出&#xff0c;那么如何让你的工具受到目标群体的关注呢&#xff1f;这相比是AI工具营销人员一直在思考的问题。 即使这个市场正蓬勃发展&#xff0c;也无法保证营销就能轻易成功。AI工具虽然被越来越多人认可和接受&a…

DETR整体模型结构解析

DETR流程 Backbone用卷积神经网络抽特征。最后通过一层1*1卷积转化到d_model维度fm&#xff08;B,d_model,HW&#xff09;。 position embedding建立跟fm维度相同的位置编码(B&#xff0c;d_model,HW&#xff09;。 Transformer Encoder,V为fm&#xff0c;K&#xff0c;Q为fm…

QT基础初学

目录 1.什么是QT 2.环境搭建 QT SDK的下载 QT的使用 QT构建项目 快捷指令 QT的简单编写 对象树 编码问题 组件 初识信号槽 窗口的释放 窗口坐标体系 1.什么是QT QT 是一个跨平台的 C 图形用户界面库&#xff0c;支持多个系统&#xff0c;用于开发具有图形界面的应…

File name ‘xxxx‘ differs from already included file name ‘xxxx‘ only in casing.

一、报错信息 VSCode报错如下&#xff1a; File name ‘d:/object/oral-data-management/src/components/VisitLogPopup/Info.vue’ differs from already included file name ‘d:/object/oral-data-management/src/components/VisitLogPopup/INfo.vue’ only in casing. The…

AI企业需要“联盟营销”?一文带你探索AI企业营销新玩法!

为什么联盟营销对AI业务有较大优势 联盟营销在电商领域、saas领域与其他产品领域同样有效。在AI业务中&#xff0c;它有效的原因与其他领域大不相同。 高好奇心和试用率 AI领域是创新的热点。它吸引了一群渴望探索和尝试每一项新技术的人群。这种蓬勃的好奇心为聪明的AI企业提…

大模型助力企业提效,九章云极DataCanvas公司联合腾讯搜狗输入法发布私有化解决方案

近日&#xff0c;九章云极DataCanvas公司与腾讯搜狗输入法的合作再次升级。在搜狗输入法开发者中心正式推出之际&#xff0c;九章云极DataCanvas公司作为搜狗输入法的首批开发合作伙伴&#xff0c;双方联合发布“企业知识管理助手”私有化解决方案。 “企业知识管理助手”整体私…

AI虚拟试穿革命:I2VEdit技术引领电商视频内容创新

在当今快速迭代的电子商务领域,用户体验与内容创新是企业竞争力的核心要素。随着AI技术的飞速进步,AI虚拟试穿已不再局限于静态图像,而是迈向了动态视频的新纪元。本文将深入解析一项革新性技术——I2VEdit,如何以其独到之处,为电商尤其是服装零售行业带来一场内容创作与产…

Opencv图像处理技术(图像轮廓)

1图像轮廓概念&#xff1a; 图像轮廓是指图像中连续的像素边界&#xff0c;这些边界通常代表了图像中的物体或者物体的边缘。在数字图像处理中&#xff0c;轮廓是由相同像素值组成的曲线&#xff0c;它们连接相同的颜色或灰度值&#xff0c;并且具有连续性。轮廓可以用来描述和…

【几何】输入0-360度任意的角度,求上面直线与椭圆相切点的坐标计算公式

输入0-360度任意的角度,求上面直线与椭圆相切点的坐标计算公式 使用积分计算 使用到的公式有椭圆公式: x 2 a 2 + y 2 b 2 = 1 \frac{x^2}{a^2}+\frac{y^2}{b^2} = 1 a2x2​+b2y2​=1 平面旋转公式 X r = cos ⁡ θ ∗ ( X s − X O ) − sin ⁡ θ ∗ ( Y s − Y O ) + X …

文心智能体平台:快来创建你的Java学习小助理,全方位辅助学习

文章目录 一、文心智能体平台1.1平台介绍1.2智能体介绍 二、智能体创建三、体验与总结 一、文心智能体平台 文心智能体平台是百度推出的基于文心大模型的智能体&#xff08;Agent&#xff09;平台&#xff0c;支持广大开发者根据自身行业领域、应用场景&#xff0c;选取不同类…

Three.js 中的场景与相机基础

Three.js 中的场景与相机基础 一、场景&#xff08;Scene&#xff09; 在 Three.js 中&#xff0c;场景是所有 3D 对象存在和交互的容器。艾斯视觉作为行业ui设计与前端开发服务商很高兴能在这里与你共同探讨&#xff1a;它就像是一个虚拟的 3D 空间&#xff0c;我们可以在其中…

[vue3后台管理一]vue3下载安装及环境配置教程

[vue3后台管理二]vue3下载安装element plus 一、vue3下载安装element plus cnpm install element plus二&#xff1a;修改main.js import { createApp } from "vue"; import App from "./App.vue"; import ElementPlus from "element-plus"; …

好用的国产大文件传输软件有哪些,快来看看吧

在这个数字化飞速发展的时代&#xff0c;我们每天都在与各种文件打交道&#xff0c;从简单的文档到庞大的视频素材&#xff0c;文件的体积越来越大&#xff0c;传统的文件传输方式逐渐显得力不从心。面对这个挑战&#xff0c;大文件传输软件应运而生&#xff0c;它们不仅解决了…