当前位置: 首页 > news >正文

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

 

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

 
 在Ubuntu系统下部署Ollama模型需要哪些步骤?
 OpenWebUI支持哪些大语言模型的部署?
 Ubuntu系统下部署大语言模型时需要注意哪些兼容性问题?

之前在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

下载 Ollama

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

安装Ollama

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

安装命令:

代码语言:javascript
AI代码解释
 
$ sudo apt  install curl
​
$ curl -fsSL https://ollama.com/install.sh | sh

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

方法2 , 手动下载安装

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

代码语言:javascript
AI代码解释
 
$ sudo mkdir ollama
cd ollama
$ sudo wget https://ollama.com/install.sh

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

代码语言:javascript
AI代码解释
 
$ 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/ 当然访问国外网站速度更快哟。 放在 install.sh 同目录下

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

改为下面一行:

代码语言:javascript
AI代码解释
 
$ 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 ,安装

代码语言:javascript
AI代码解释
 
sh  ./install.sh

重启电脑

配置模型下载路径

代码语言:javascript
AI代码解释
 
cd 
sudo vim .bashrc
​
sudo mkdir -p /home/star/ollama/ollama_cache

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

代码语言:javascript
AI代码解释
 
### 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服务

代码语言:javascript
AI代码解释
 
# ollama --help
Large language model runner
​
Usage:ollama [flags]ollama [command]
​
Available Commands:serve       Start ollamacreate      Create a model from a Modelfileshow        Show information for a modelrun         Run a modelpull        Pull a model from a registrypush        Push a model to a registrylist        List modelsps          List running modelscp          Copy a modelrm          Remove a modelhelp        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.

提示

代码语言:javascript
AI代码解释
 
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端口

代码语言:javascript
AI代码解释
 
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

代码语言:javascript
AI代码解释
 
systemctl daemon-reload
​
systemctl restart ollama
​
关闭服务
systemctl stop ollama
启动服务
systemctl start ollama

运行qwen大模型

代码语言:javascript
AI代码解释
 
ollama run  qwen

安装docker

一键安装脚本

代码语言:javascript
AI代码解释
 
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

代码语言:javascript
AI代码解释
 
$ 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,请使用以下命令:

代码语言:javascript
AI代码解释
 
$ 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

改国内的地址

代码语言:javascript
AI代码解释
 
$ 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

报错:

代码语言:javascript
AI代码解释
 
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识别不了我的显卡

代码语言:javascript
AI代码解释
 
$ 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以使用该工具包:

代码语言:javascript
AI代码解释
 
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

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

代码语言:javascript
AI代码解释
 
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版本兼容。可以通过以下命令查看版本:

代码语言:javascript
AI代码解释
 
sudo docker version
​
nvidia-container-runtime --version
​

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

代码语言:javascript
AI代码解释
 
sudo docker start open-webui

登录open-webui

用IP+端口访问

修改语言为中文

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

OpenWebUI不能连接Ollama

报错:WebUI could not connect to ollama

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

再下载千问的模型 qwen

下载大模型

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

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

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

代码语言:javascript
AI代码解释
 
阿里巴巴的大模型:
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
​

删除模型

代码语言:javascript
AI代码解释
 
显示所有模型
# ollama list
​
删除模型
# ollama rm llama3:latest

ubuntu查看GPU负载

代码语言:javascript
AI代码解释
 
nvidia-smi

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

 

http://www.jsqmd.com/news/724505/

相关文章:

  • 用OpenCV AKAZE给两张照片‘找不同’:一个图像比对小工具的实现思路
  • 江苏不锈钢板供应商排行:核心选型维度实测对比 - 奔跑123
  • 终极图表数据提取神器:三步从图片中获取精确数值的完整指南
  • 5步精通ESPTool实战:ESP芯片烧录与调试深度指南
  • 别再只用synchronized了!手把手教你用ReentrantLock和Condition优化Java并发代码
  • 你的接收机设计达标了吗?用ADS的S参数与谐波平衡仿真快速验证关键指标(以70MHz中频系统为例)
  • 以前的赚钱和现在的赚钱-那差别大了去了
  • [LLM] Claude Code省钱小妙招
  • 秒杀系统架构深度解析:高并发场景下的核心技术与最佳实践
  • 5分钟掌握AssetRipper:Unity资产提取的完整解决方案
  • 视频字幕提取终极指南:如何用本地工具5分钟搞定87种语言字幕
  • 银行从业人员的发展
  • 2026年泉州及全国中小企业短视频营销与出海获客服务商优选指南 - 速递信息
  • 别再傻傻分不清!CANoe仿真中DLC和DataLength到底怎么设?(附CAN-FD映射表避坑)
  • 严肃强调-别让责任心压垮自己
  • 2026年山东德州沥青筑路设备采购指南:霖垚与行业五大品牌深度横评及官方联系全攻略 - 企业名录优选推荐
  • 在Ubuntu 20.10上为老项目降级GCC 4.8,再搞定Qt 4.8.7编译(附字体修复)
  • WindowsCleaner:如何用开源工具为你的Windows系统“减负瘦身“?
  • 全国邮票回收 北京上门回收邮票纪念币 18910232290 - 品牌排行榜单
  • 用 ChatGPT 5.5 的进阶思考与 Deep Research 打通 SOTA 文献阅读、改进实验到英文 SCI 写作全流程
  • 要不要辍学和辞职来赚钱
  • 深度解析BepInEx 6.0:Unity游戏插件框架的技术架构与实战优化
  • 别再傻傻分不清了!CAD、CAE、CAM、PDM到底怎么选?给工程师的软件选择避坑指南
  • 抖音内容保存全攻略:3种高效方法让精彩瞬间永不丢失
  • 完整网页截图终极方案:一键捕获超长页面的专业工具
  • 移动红绿灯挑战:自动驾驶系统的非常规决策逻辑
  • 终极指南:LeagueSkinChanger英雄联盟全皮肤解锁完整教程
  • 保姆级教程:在CentOS 7上从源码编译安装Apache Ranger 2.0.0(含Maven国内源配置)
  • 水文新人避坑指南:P-III曲线计算,选武大版软件还是河海版?实测对比来了
  • 别再乱改设备树了!手把手教你用sysfs和debugfs排查RK3588 GPIO复用冲突