人工智能AI合集:Ollama本地部署对话语言大模型之通义千问-网页UI访问完整版

目录

🍅点击这里查看所有博文

  随着人工智能技术的飞速发展,AI已经不再是遥不可及的高科技概念,而是逐渐融入到我们的日常生活中。从智能手机的语音助手到家庭中的智能音箱,再到工业自动化和医疗诊断,AI的应用无处不在。然而,要想真正掌握并应用这些技术,不仅需要理论知识,更需要实践操作。这正是嵌入式AI学习的核心所在。

  嵌入式系统,作为现代电子设备的核心,其与AI技术的结合,为智能设备的开发提供了无限可能。从简单的自动化任务到复杂的图像和语音识别,嵌入式AI开发板成为了学习这些技术的理想平台。它们不仅易于操作,而且功能强大,能够满足从初学者到专业人士的各种需求。

  对于大多数人来说,日常生活中的无时无刻都能接触的到AI应用。比如平时最常见的停车场的车牌识别、上班打卡机的人脸识别、能自由对话的语音助手等等。它们都有一个共同的特点,就是体积小巧且功能强大。这些应用的落地都离不开嵌入式AI。

  随着AI技术的不断发展和普及,我们的生活将变得更加智能、便捷和高效。未来,AI将继续深入到更多领域,为我们的生活带来更多惊喜和便利。无论是智能家居智能交通智能医疗还是智能制造,AI都将扮演着重要的角色,推动着科技的不断进步和社会的发展。

  因此,学习和掌握AI技术变得愈发重要。只有不断学习、实践和创新,我们才能更好地应对未来的挑战和机遇。

  本系列博客所述资料均来自互联网资料,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的AI事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

安装ollama

  安装ollama,该工具是一个大模型聚合平台。可以方便管理各种语言模型。运行curl -fsSL https://ollama.com/install.sh | sh执行安装步骤,输入密码Mind@123


(base) HwHiAiUser@orangepiaipro:~$ curl -fsSL https://ollama.com/install.sh | sh
>>> Downloading ollama...
######################################################################## 100.0%##O#-#                                                                        
>>> Installing ollama to /usr/local/bin...
[sudo] password for HwHiAiUser: 
>>> Creating ollama user...
>>> Adding ollama user to render group...
>>> Adding ollama user to video group...
>>> Adding current user to ollama group...
>>> Creating ollama systemd service...
>>> Enabling and starting ollama service...
Created symlink /etc/systemd/system/default.target.wants/ollama.service → /etc/systemd/system/ollama.service.
>>> The Ollama API is now available at 127.0.0.1:11434.
>>> Install complete. Run "ollama" from the command line.
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.

  提示开发板没有GPU显卡(WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.)运行的性能可能较为低下,不知道具体是啥原因暂且忽略吧。

  输入ollama --version验证是否安装成功,得到结果ollama version is 0.2.7说明一切正常。

(base) HwHiAiUser@orangepiaipro:~/Downloads/byte-unixbench/UnixBench$ ollama --version
ollama version is 0.2.7

配置局域网访问

  设置Ollama配置支持局域网访问,修改/etc/systemd/system/ollama.service文件,在Environment下面再添加一行Environment="OLLAMA_HOST=0.0.0.0:11434"保存即可。

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/home/HwHiAiUser/.local/bin:/usr/local/Ascend/ascend-toolkit/latest/bin:/usr/local/Ascend/ascend-toolkit/latest/compiler/ccec_compiler/bin:/usr/local/miniconda3/bin:/usr/local/miniconda3/condabin:/usr/local/Ascend/ascend-toolkit/laster/bin:/usr/local/Ascend/ascend-toolkit/laster/compiler/ccec_compiler/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin "
Environment="OLLAMA_HOST=0.0.0.0:11434"
[Install]
WantedBy=default.target

  运行sudo systemctl daemon-reload重载systemctl,紧接着运行sudo service ollama restart重启服务,最后通过curl http://192.168.101.8:11434测试,若返回Ollama is running则代表设置成功。

(base) HwHiAiUser@orangepiaipro:~$ sudo systemctl daemon-reload
(base) HwHiAiUser@orangepiaipro:~$ sudo service ollama restart
(base) HwHiAiUser@orangepiaipro:~$ curl http://192.168.101.8:11434
Ollama is running(base) 

部署通义千问

  根据ollama官方文档的描述,最少要有8G的内存才能使用7B的语言模型。

ModelParametersSizeDownload
Llama 38B4.7GBollama run llama3
Llama 370B40GBollama run llama3:70b
Phi 3 Mini3.8B2.3GBollama run phi3
Phi 3 Medium14B7.9GBollama run phi3:medium
Gemma 29B5.5GBollama run gemma2
Gemma 227B16GBollama run gemma2:27b
Mistral7B4.1GBollama run mistral
Moondream 21.4B829MBollama run moondream
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
LLaVA7B4.5GBollama run llava
Solar10.7B6.1GBollama run solar

Note: You should have at least 8 GB of RAM available to run the 7B models, 16 GB to run the 13B models, and 32 GB to run the 33B models.

  而我们的开发板一共就搭载了8G内存,出掉系统的开销,剩下可以用的也就6.3G。

(base) HwHiAiUser@orangepiaipro:~/Downloads/byte-unixbench/UnixBench$ free -h
               total        used        free      shared  buff/cache   available
Mem:           7.4Gi       859Mi       2.9Gi        49Mi       3.6Gi       6.3Gi
Swap:             0B          0B          0B

  从表格来看,可选项只有Moondream 2Phi 3 Mini。实际上官方的仓库内有很多的语言模型,我们只要找一个小于8B的就行。测试选用阿里系发布的通义千问大模型部署。运行命令ollama run qwen:0.5b安装通义千问0.5B。这个安装就比较费时了,在等待安装的过程中可以再开一个终端,继续下一步跳过等待的过程。

(base) HwHiAiUser@orangepiaipro:~$ ollama run qwen:0.5b
pulling manifest 
pulling fad2a06e4cc7... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 394 MB                         
pulling 41c2cf8c272f... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏ 7.3 KB                         
pulling 1da0581fd4ce... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏  130 B                         
pulling f02dd72bb242... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏   59 B                         
pulling ea0a531a015b... 100% ▕██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▏  485 B                         
verifying sha256 digest 
writing manifest 
removing any unused layers 
success

  部署完成后控制台是可以直接访问的,只不过控制台还是显得不够高端只能自己用,其他人想要使用该怎么办呢。

(base) HwHiAiUser@orangepiaipro:~$ ollama run qwen:0.5b
>>> 你好
您好!有什么可以帮助您的吗?

>>> 你是谁
我是来自阿里云的大规模语言模型,我叫通义千问。如果您有任何问题或需要帮助,请随时告诉我,我会尽力提供支持和解答。

>>>

安装ollama-webui

  安装ollama的前端交互界面,这里就用到了我们刚刚开发环境中安装的docker。运行下面的命令安装open-webui的容器。

(base) HwHiAiUser@orangepiaipro:~$ docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Unable to find image 'ghcr.io/open-webui/open-webui:main' locally
main: Pulling from open-webui/open-webui
ea235d1ccf77: Pull complete 
26f13e32d8cd: Pull complete 
e569c3fca503: Pull complete 
8cae6dc67aef: Pull complete 
153915d34d13: Pull complete 
761886d9fb03: Pull complete 
4f4fb700ef54: Pull complete 
004754e7f3d1: Pull complete 
4495941f96a2: Pull complete 
2bb7e3b0ae41: Downloading [=======>                                           ]  40.45MB/288.1MB
abd18b7d3c36: Download complete 
49800a7fbb5c: Downloading [==>                                                ]  32.38MB/727.9MB
25281b23f845: Downloading [==============================>                    ]  32.91MB/54.66MB
67196eb5d079: Waiting 
85f88c980917: Waiting 
48fbf4ab6c66: Waiting 

  安装完成后通过http://{ip}:{port}访问open-webui,我们这边使用的访问地址就是http://192.168.101.8:3000,第一次登录需要注册账户。

输入图片说明

  注册完成会自动登录,登录进去后,必须找到管理员面板。

输入图片说明

  点击设置,先修改外部连接的Ollama API的地址。我这边修改为http://192.168.101.8:11434,点击后面的刷新按钮,确定弹窗提示已验证服务器连接。随后建议关掉OpenAI API的访问按钮,最后点击保存。

输入图片说明

  如果连接的Ollama API这一步报错WebUI could not connect to Ollama呢,这大概率是因为没有正确配置局域网访问导致的。

输入图片说明

  可以做如下测试,在开发板中执行curl http://192.168.101.8:11434会报错Connection refusedsudo lsof -i :11434去查看端口状态显示localhost,说明Ollama被配置为只能使用localhost去访问。

(base) HwHiAiUser@orangepiaipro:~$ curl http://192.168.101.8:11434
curl: (7) Failed to connect to 192.168.101.8 port 11434 after 0 ms: Connection refused
(base) HwHiAiUser@orangepiaipro:~$ sudo lsof -i :11434
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ollama  10749 ollama    3u  IPv4  53543      0t0  TCP localhost:11434 (LISTEN)
(base) HwHiAiUser@orangepiaipro:~$ curl http://localhost:11434/
Ollama is running(base)

  由于我们这边Ollama被安装在了宿主机中,Ollama-webui被安装到docker中,两者之间的网络环境是不一样的,无法在docker中通过localhost:11434访问到Ollama。这边我们需要修改一下配置文件,参考上面安装Ollama提到的配置局域网访问即可。

  回到主页,选择刚刚安装的千问0.5B,就可以快乐的玩耍啦。

输入图片说明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遇雪长安

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值