在Ubuntu 20.04上安装Ollama并部署大型语言模型:含Open WebUI图形界面教程

在Ubuntu 20.04上安装Ollama并部署大型语言模型:含Open WebUI图形界面教程

在Ubuntu 20.04上安装Ollama并部署大型语言模型:含Open WebUI图形界面教程


引言

在人工智能浪潮席卷全球的今天,大型语言模型(LLM)不再是遥不可及的云端技术。借助 Ollama,每一位开发者都能轻松地将强大的模型部署在自己的本地计算机上,实现无缝、私密且可定制的AI体验。本文将带领您一步步在 Ubuntu 20.04 系统上完成 Ollama 的安装与模型部署,并最终搭建美观易用的图形化界面(Open webui)。

Ollama 是什么?

Ollama 是一个开源项目,专为在本地运行、管理和部署大型语言模型(如 Llama 3、Mistral、Gemma 等)而设计。

它的核心概念与优势非常清晰:

  • 简单易用:通过简单的命令行工具,即可完成模型的下载(pull)、运行(run)和管理。一条命令就能启动与模型的对话。
  • 丰富的模型库:它提供了官方支持的模型库(Ollama Search),包含deep-seek、qwen等数十种经过优化的大型语言模型,满足从代码生成到创意写作的各种需求。
  • “开箱即用”:它自动处理了模型运行所需的大部分复杂配置和环境依赖,用户无需关心繁琐的底层细节。
展示 Ollama 使用效果

想象一下,在您的终端中,直接与一个几十亿参数的大模型进行流畅的对话和代码编写,是一种怎样的体验?以下是在 Ubuntu 终端中运行 ollama run deepseek-coder:6.7b 后的截图:

命令行交互


OpenWebui交互
本地部署语言模型的好处与局限性

选择在本地运行 Ollama,意味着选择了一种新的 AI 交互方式,但它也并非完美无缺。

优势 (Benefits)
  • 数据隐私与安全:您的所有对话提示(Prompts)和模型生成的内容完全在本地处理,不会离开您的计算机。这对于处理敏感代码、商业数据或个人信息的用户至关重要。
  • 完全离线可用:一旦模型下载完成,您就无需依赖互联网连接或担心API服务宕机,可以在任何没有网络的环境中使用。
  • 可定制性:您可以尝试各种不同规模和专长的模型,甚至可以根据需要加载自定义模型(Modelfiles),灵活性远超固定的云端API。
  • 无使用成本:除了电费和硬件成本外,没有按次收费或订阅费用,您可以无限次地与模型交互。
局限性 (Limitations)
  • 硬件要求高:本地部署对计算机硬件,尤其是内存(RAM)和显存(VRAM) 有较高要求。运行大型模型可能需要数十GB的资源。
  • 性能差异:虽然本地推理延迟低,但模型的能力和响应速度通常无法与 OpenAI GPT-4 这类顶级付费API相提并论,尤其是在复杂推理任务上。
  • 知识陈旧:本地部署的模型知识库是静态的,其知识截止日期取决于它被训练的时间点,无法像一些云端模型那样实时获取最新信息。

环境准备

设备信息
lsb_release -a 
在这里插入图片描述
检查储存空间及显存大小
  • 储存空间至少预留十几G,因为一个模型的大小都在几个G左右
  • 检查显存大小,显存大小决定了能运行模型的参数量
nvidia-smi 
在这里插入图片描述

Ollama 下载与安装

1. 下载链接:
  • 官网: https://ollama.com/
  • GitHub: https://github.com/ollama/ollama
2. 运行安装脚本:
curl -fsSL https://ollama.com/install.sh |sh
3. 管理Ollama服务:
# 启动 Ollama 服务sudo systemctl start ollama # 停止 Ollama 服务sudo systemctl stop ollama # 重启 Ollama 服务sudo systemctl restart ollama # 设置开机自启sudo systemctl enable ollama # 查看服务日志sudo journalctl -u ollama -f 
4. 常用Ollama命令:
# 查看所有命令帮助 ollama --help # 运行模型(如果不存在会自动下载) ollama run <model-name># 运行模型并直接提问 ollama run <model-name>"你的问题"# 拉取(下载)模型 ollama pull <model-name># 列出已下载的模型 ollama list # 删除模型 ollama rm<model-name># 查看已下载模型的详细信息 ollama show llama3 # 查看模型配置 ollama show llama3 --modelfile 

Ollama 部署并运行模型

现在 Ollama 已经安装完成,接下来是下载和运行各种大型语言模型

查看可用模型
  • 通过命令行查看
# 查看本地已下载的模型 ollama list 
在这里插入图片描述

通过模型库查看
访问Ollama官方的模型库:模型库,选择自己感兴趣的模型,注意参数量大小,一般先选择参数少一些的模型进行试验

在这里插入图片描述
下载模型

下载并运行deepseek-r1:7b模型

ollama run deepseek-r1:7b 
在这里插入图片描述
运行模型

如果已经下载了deepseek-r1:7b,就不会重复下载而是启动命令行交互对话

ollama run deepseek-r1:7b 
在这里插入图片描述
对话控制命令

在交互模式下,可以使用一些特殊命令:

# 退出对话 /bye 或者按 Ctrl + D # 清空对话上下文(开始新对话) /clear 
设置参数

可以调整模型生成参数以获得不同效果:

# 设置温度(控制随机性,0-1) ollama run deepseek-r1:7b --temperature 0.7# 限制输出token数量 ollama run deepseek-r1:7b --num-predict 100# 指定随机种子(确保可重复性) ollama run deepseek-r1:7b --seed 42

安装Open WebUI 图形化界面

虽然命令行交互已经很强大,但对于日常使用来说,一个美观的图形界面能极大提升体验。Open WebUI(原名 Ollama WebUI)提供了一个类似 ChatGPT 的现代化 Web 界面,让您可以通过浏览器与本地模型进行交互。

Open WebUI 是什么?

Open WebUI 是一个功能强大的开源 Web 界面,专为 Ollama 和其他本地语言模型设计。它具有以下特点:

  • 类ChatGPT体验:熟悉的聊天界面,支持多轮对话、对话历史管理
  • 多模型支持:轻松切换不同的语言模型
  • 可视化操作:图形化的模型管理和设置界面
  • 高级功能:支持 RAG(检索增强生成)、文档上传、角色预设等
  • 多用户支持:可注册多个账户,每个用户有自己的对话历史
  • 完全本地化:所有数据仍然保存在本地,保障隐私安全
先决条件:安装 Docker

Open WebUI 通过 Docker 容器部署,因此需要先安装 Docker。参考以下安装教程Ubuntu 20.04 安装Docker 全过程

启动Docker 服务
# 确保Docker服务已启动sudo systemctl start docker sudo systemctl enable docker # 检查Docker服务状态sudo systemctl status docker 
使用 Docker 一键部署 Open WebUI

安装好 Docker 后,只需一条命令即可部署 Open WebUI:

docker run -d --network="host" -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main 

部署完成后,检查容器状态:

docker ps
在这里插入图片描述
访问并使用Open WebUI

容器正常运行后,即可通过浏览器访问:

  1. 打开浏览器,访问:http://localhost:8080
  2. 首次注册:
  • 点击 “Sign Up” 注册新账户
  • 输入邮箱和密码(无需真实邮箱,仅用于本地识别)
  • 确认密码并完成注册
  1. 登录系统:
  • 使用刚才注册的邮箱和密码登录
  • 首次登录会自动检测本地的 Ollama 服务
  1. 开始使用:
  • 在左侧模型选择器中选择要使用的模型(如 llama3)
  • 在输入框中开始对话

右侧可以查看对话历史、切换模型、调整参数等

[图片]

Read more

前端·基础三件套『课堂随笔』

前端·基础三件套『课堂随笔』

Zero·前言 * 前端开发的概述 前端开发(Front-end Development)是指创建网站或Web应用程序用户界面(UI)及用户体验(UX)部分的过程,涉及用户直接与之交互的所有内容。 通常我们说的前端就是 WEB前端,也就是写网页的~ 核心职责 * 界面实现:将设计稿转化为可交互的网页(切图仔) * 用户体验优化:确保界面响应迅速、操作流畅 * 浏览器兼容性:保证在不同浏览器和设备上表现一致 * 性能优化:提高页面加载速度和运行效率 * 与后端协作:通过API获取和提交数据 核心技术栈 * 基础三件套 * HTML:页面结构和内容 * CSS:样式和布局 * JavaScript:交互逻辑和行为 * 现代技术生态 * 框架/库:Vue、React、Angular等 * CSS预处理器:Sass、Less * 构建工具:Vite、Webpack、Parcel * 包管理器:

AWPortrait-Z WebUI历史管理技巧:JSONL日志解析+自定义标签分类脚本

AWPortrait-Z WebUI历史管理技巧:JSONL日志解析+自定义标签分类脚本 AWPortrait-Z 基于Z-Image精心构建的人像美化LoRA 二次开发webui构建by科哥 AWPortrait-Z 基于Z-Image精心构建的人像美化LoRA 二次开发webui构建by科哥 你是否遇到过这样的情况:生成了几十张人像图,想快速找出“戴眼镜的亚洲女性”或“油画风格+暖光+特写”的作品,却只能靠肉眼一张张翻历史缩略图?或者想复现某次惊艳效果,却记不清当时用的是哪个随机种子、LoRA强度设为多少?AWPortrait-Z 的历史记录功能虽已提供基础回溯能力,但默认的 JSONL 日志文件只是原始参数快照——它不带语义、不支持搜索、无法按业务维度归类。本文不讲怎么调参、不重复界面操作,而是聚焦一个被多数用户忽略却极具生产力价值的环节:让历史真正“活”起来。我们将手把手带你完成三件事:读懂 history.jsonl 的真实结构、用 Python 脚本自动提取关键特征、建立可扩展的标签体系并实现一键分类归档。所有代码均可直接运行,无需额外依赖,小白也能在15分钟内让自己的

前端监控:别让你的应用在黑暗中运行

前端监控:别让你的应用在黑暗中运行 毒舌时刻 这应用运行得跟幽灵似的,出了问题都不知道。 各位前端同行,咱们今天聊聊前端监控。别告诉我你还在等用户反馈问题,那感觉就像在没有监控的仓库里放贵重物品——能放,但丢了都不知道。 为什么你需要前端监控 最近看到一个项目,用户反映页面经常崩溃,但开发团队根本不知道问题出在哪里。我就想问:你是在做应用还是在做猜谜游戏? 反面教材 // 反面教材:没有监控 function App() { const [data, setData] = React.useState([]); useEffect(() => { async function fetchData() { try { const response = await fetch('/api/data'); const result = await response.json(); setData(result); } catch (error)

《C#上位机开发从门外到门内》3-5:基于FastAPI的Web上位机系统

《C#上位机开发从门外到门内》3-5:基于FastAPI的Web上位机系统

文章目录 * 一、项目概述 * 二、系统架构设计 * 三、前后端开发 * 四、数据可视化 * 五、远程控制 * 六、系统安全性与稳定性 * 七、性能优化与测试 * 八、实际应用案例 * 九、结论 随着互联网技术的快速发展,Web上位机系统在工业自动化、智能家居、环境监测等领域的应用日益广泛。基于FastAPI或Flask的Web上位机系统,凭借其高效、灵活和易于扩展的特点,成为当前研究和应用的热点。本文将详细探讨基于FastAPI和Flask的Web上位机系统的设计与实现,涵盖系统架构、前后端开发、数据可视化、远程控制、安全性、性能优化以及实际应用案例等方面,旨在为相关领域的研究人员和工程技术人员提供参考和借鉴。 一、项目概述 Web上位机系统是一种通过网络实现对远程设备或环境进行实时监控和控制的系统。其核心目标是通过高效的数据传输和处理,确保监控的实时性和准确性,从而实现对远程设备的有效管理和控制。基于FastAPI或Flask的Web上位机系统利用Python的Web框架,通过互联网或局域网实现数据的传输和通信,具有广泛的应用前景。 Fa