人工智能AI合集:Ollama部署对话语言大模型-网页访问

遇雪长安 2024-08-29 17:01:02 阅读 96

目录

🍅点击这里查看所有博文

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

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

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

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

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

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

文章目录

目录安装ollama配置局域网访问部署通义千问安装ollama-webui

安装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"code>保存即可。

[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 "code>

Environment="OLLAMA_HOST=0.0.0.0:11434"code>

[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的语言模型。

Model Parameters Size Download
Llama 3 8B 4.7GB ollama run llama3
Llama 3 70B 40GB ollama run llama3:70b
Phi 3 Mini 3.8B 2.3GB ollama run phi3
Phi 3 Medium 14B 7.9GB ollama run phi3:medium
Gemma 2 9B 5.5GB ollama run gemma2
Gemma 2 27B 16GB ollama run gemma2:27b
Mistral 7B 4.1GB ollama run mistral
Moondream 2 1.4B 829MB ollama run moondream
Neural Chat 7B 4.1GB ollama run neural-chat
Starling 7B 4.1GB ollama run starling-lm
Code Llama 7B 3.8GB ollama run codellama
Llama 2 Uncensored 7B 3.8GB ollama run llama2-uncensored
LLaVA 7B 4.5GB ollama run llava
Solar 10.7B 6.1GB ollama 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,第一次登录需要注册账户。

输入图片说明

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

输入图片说明

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

输入图片说明

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

输入图片说明

可以做如下测试,在开发板中执行<code>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,就可以快乐的玩耍啦。

输入图片说明



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。