阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu系统下部署大语言模型:Ollama和OpenWebUI实现各大模型的人工智能自由

960次阅读
没有评论

共计 6554 个字符,预计需要花费 17 分钟才能阅读完成。

之前在 window 下安装过 Ollama 和 OpenWebUI 搭建本地的人工智能 web 项目(可以看我之前写的文章),无奈电脑硬件配置太低,用 qwen32b 就很卡,卡出 PPT 了,于是又找了一台机器安装 linux 系统,在 linux 系统下测试一下速度能否可以快一些。

系统硬件介绍

Ubuntu 22.04.4 LTS

CPU: i5-10400F

内存:32G

硬盘:512G SSD

显卡:NVIDIA GeForce GTX 1060 6GB

内网 IP: 192.168.1.21

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

下载 Ollama

访问下载:https://ollama.com/

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

安装 Ollama

方法 1、命令行下载安装 (耗时长)

安装命令:

$ sudo apt  install curl

$ curl -fsSL https://ollama.com/install.sh | sh

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

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

方法 2 , 手动下载安装

1、手动下载 https://ollama.com/install.sh 这个文件

$ sudo mkdir ollama
cd ollama
$ sudo wget https://ollama.com/install.sh

2、注释掉下载部分 curl xxxx 手动下载 ollama-linux-{ARCH}

$ sudo 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}"

我电脑 intel/amd cpu 所以 {ARCH} = amd64 浏览器下载 https://ollama.com/download/ollama-linux-amd64 当然科学上网速度更快哟。放在 install.sh 同目录下

3、注释掉 #$SUDO install -o0 -g0 -m755 $TEMP_DIR/ollama $BINDIR/ollama

改为下面一行:

$ sudo 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-amd64  $BINDIR/ollama

4 运行 install.sh , 安装

sh  ./install.sh

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

重启电脑

配置模型下载路径

cd 
sudo vim .bashrc

sudo mkdir -p /home/star/ollama/ollama_cache

然后添加一行 配置 OLLAMA_MODELS 环境变量自定义路径

### ollama model dir 改为自己的路径 
# export OLLAMA_MODELS=/path/ollama_cache
export OLLAMA_MODELS=/home/star/ollama/ollama_cache

如果开始没配置 OLLAMA_MODELS,默认路径是 /usr/share/ollama/.ollama/models

启动 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 端口

vim /etc/systemd/system/ollama.service
 在 [Service] 下添加  Environment="OLLAMA_HOST=0.0.0.0"

cat /etc/systemd/system/ollama.service
[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=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin"
Environment="OLLAMA_HOST=0.0.0.0"

[Install]
WantedBy=default.target

重新加载配置,重启 ollama

systemctl daemon-reload

systemctl restart ollama

 关闭服务 
systemctl stop ollama
 启动服务 
systemctl start ollama

运行 qwen 大模型

ollama run  qwen

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

安装 docker

一键安装脚本

sudo curl -sSL https://get.docker.com/ | sh

 安装完成之后 
star@star-ai:~$ sudo docker --version
Docker version 26.1.3, build b72abbb

安装 Open WebUI

Open WebUI 是一个用于在本地运行大型语言模型(LLM)的开源 Web 界面。

参考:https://docs.openwebui.com/getting-started/#quick-start-with-docker-

docker 安装 open-webui

$ sudo 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

要运行支持 Nvidia GPU 的 Open WebUI,请使用以下命令:

$ sudo docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

改国内的地址

$ sudo docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always  registry.cn-shenzhen.aliyuncs.com/funet8/open-webui:cuda

报错:

sudo docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always  registry.cn-shenzhen.aliyuncs.com/funet8/open-webui:cuda
254b47e7994b2f0087ce0058918621523b39cf9b0e89018777c0cf98943ba2d1
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

ubuntu 识别不了我的显卡

$ sudo nvidia-smi
Fri May 17 18:37:15 2024       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15              Driver Version: 550.54.15      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce GTX 1060 6GB    Off |   00000000:01:00.0 Off |                  N/A |
| 40%   33C    P8              6W /  120W |      65MiB /   6144MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+
                                                                                         
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A      1030      G   /usr/lib/xorg/Xorg                             56MiB |
|    0   N/A  N/A      1109      G   /usr/bin/gnome-shell                            4MiB |
+-----------------------------------------------------------------------------------------+

安装 nvidia-container-toolkit: 确保你已经安装了 nvidia-container-toolkit,并配置 Docker 以使用该工具包:

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

检查 Docker 默认运行时配置: 确保 Docker 的默认运行时设置为 nvidia。编辑 Docker 的配置文件(通常位于 /etc/docker/daemon.json),并添加或修改如下内容:

sudo vim /etc/docker/daemon.json
 添加:

{
  "default-runtime": "nvidia",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []
    }
  }
}
 编辑完文件后,重启 Docker 服务:
sudo systemctl restart docker

检查 NVIDIA Container Runtime 兼容性: 确保你的 NVIDIA Container Runtime 版本与 Docker 版本兼容。可以通过以下命令查看版本:

sudo docker version

nvidia-container-runtime --version

完成上述步骤后,再次尝试运行你的 Docker 命令。如果问题仍然存在,请提供更多的系统信息和日志,以便进一步诊断问题。

sudo docker start open-webui

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

登录 open-webui

用 IP+ 端口访问

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

修改语言为中文

OpenWebUI 默认是英文的,所以修改语言为简体中文。

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

OpenWebUI 不能连接 Ollama

报错:WebUI could not connect to ollama

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

修改地址:http://192.168.1.21:11434

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

再下载千问的模型 qwen

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

下载大模型

ollama 官方的模型仓库参见这里:https://ollama.com/library

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

根据自己的 CPU 和 GPU 选择合适的大模型,否则会很卡。

比如测试用的 1060 使用 qwen:72b 就很卡,问一个问题要等很久,几乎是不能用的状态。

 阿里巴巴的大模型:
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

Ubuntu 系统下部署大语言模型:Ollama 和 OpenWebUI 实现各大模型的人工智能自由

ubuntu 查看 GPU 负载

nvidia-smi

确实在 ubuntu20.04 系统下确实比 window10 系统使用 Ollama 更加流畅。

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-05-18发表,共计6554字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7955329
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...