在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

机器人架构搭建核心准则:先论文论证,后工程落地

机器人架构搭建核心准则:先论文论证,后工程落地

原创声明:本文为原创技术干货,基于真实工程实践总结,未经授权严禁转载与篡改。 本文写给那些正在或将要主导机器人架构的技术决策者与一线工程师——无论你是CTO、架构师,还是嵌入式开发、算法工程师,只要你关心如何让机器人项目不再烂尾,这篇文章值得你读完。 注意:文中反复出现的“论文”,特指“工程论文”(区别于学术论文),是一份写给团队自己的工程蓝图。请务必读完第二部分的定义,再决定是否认同。 核心观点 在机器人架构设计与实施过程中,先完成系统性论文论证,再开展工程化架构落地,是保障项目可行、流程闭环、资源高效利用的核心前提,也是区分专业机器人架构师与无序开发的关键标准。 金句:先论文后落地,本质上是用确定性的逻辑推导,去对抗不确定性的物理世界。 一、行业普遍认知误区 当前机器人领域从业者普遍存在开发误区:直接跳过前期规划与逻辑论证,盲目开展硬件采购、框架搭建、代码开发与接口调试,将功能拼接等同于架构设计。这种模式缺乏顶层逻辑支撑与可行性验证,本质是无方向的盲目实施,也是多数机器人项目停滞、返工、烂尾的核心诱因。 这种开发就像农村自建房,凭感觉垒砖,从不考虑地质勘测和结构力学

无人机避障新思路:手把手教你用APF-RRT*算法实现高效轨迹规划(附Python代码)

无人机避障新思路:手把手教你用APF-RRT*算法实现高效轨迹规划(附Python代码) 去年夏天,我在一个无人机巡检项目里遇到了一个棘手的问题:传统的RRT算法在复杂林地环境中规划路径时,经常“卡”在密集的树木之间,要么采样效率低下导致规划时间过长,要么生成的路径曲折得让无人机像喝醉了一样左右摇摆。团队尝试了各种参数调整,效果都不理想。直到我们把人工势场法的引导机制引入到双向RRT*算法中,情况才发生了根本性转变——不仅规划速度提升了近70%,生成的路径也平滑了许多。 这种结合了APF(人工势场法)和双向RRT的混合算法,如今已经成为许多无人机开发者解决复杂环境路径规划的秘密武器。它巧妙地将APF的方向引导优势与RRT的渐进最优特性结合起来,同时利用双向搜索大幅提升收敛速度。今天,我就从工程实践的角度,带你一步步实现这个算法,分享我在实际项目中积累的参数调优经验,并提供可直接运行的Python代码。 1. 理解APF-RRT*算法的核心思想 在开始写代码之前,我们需要先弄清楚这个混合算法到底解决了什么问题。传统的RRT算法虽然概率完备,但在复杂环境中存在明显的局限性:随机采

项目介绍 MATLAB实现基于LSTM-ACO 长短期记忆网络(LSTM)结合蚁群算法(ACO)进行无人机三维路径规划的详细项目实例(含模型描述及部分示例代码) 还请多多点一下关注 加油 谢谢 你的鼓

项目介绍 MATLAB实现基于LSTM-ACO 长短期记忆网络(LSTM)结合蚁群算法(ACO)进行无人机三维路径规划的详细项目实例(含模型描述及部分示例代码) 还请多多点一下关注 加油 谢谢 你的鼓

MATLAB实现基于LSTM-ACO 长短期记忆网络(LSTM)结合蚁群算法(ACO)进行无人机三维路径规划的详细项目实例 更多详细内容可直接联系博主本人   或者访问对应标题的完整博客或者文档下载页面(含完整的程序,GUI设计和代码详解) 随着人工智能和自主导航技术的飞速发展,无人机(UAV)在军事侦察、环境监测、物流配送和灾害救援等领域展现出巨大的应用前景。三维空间中的路径规划作为无人机自主飞行的核心技术之一,直接决定着无人机的安全性、效率和智能化水平。在复杂多变的三维环境下,障碍物分布复杂且动态变化,传统的二维路径规划方法无法满足无人机实际作业对灵活性和安全性的高要求。三维路径规划要求不仅能高效地避开多种类型的障碍物,还要在有限的能量和时间约束下完成任务,这对算法的全局搜索能力、收敛速度和路径平滑性提出了更高的挑战。 近年来,深度学习技术与群体智能算法的结合成为智能路径规划的重要研究方向。长短期记忆网络(LSTM)因其优异的时序信息学习能力,在处理复杂轨迹数据、预测无人机运动趋势等任务中表现突出。与此同时,蚁群算法(ACO)以其自适应全局优化能力,能够高效地搜索到最优

OpenClaw中飞书机器人配置指南:如何让群消息免 @ 也能自动回复

用 OpenClaw 做飞书机器人时,默认配置下,群里的消息必须 @ 机器人 才能触发回复。这在很多场景下很不方便——如果希望机器人在群里"隐身"工作,不用 @ 就能自动监听和回复,需要额外配置。 本文记录我解决这个问题的完整过程,供同样踩坑的同学参考。 问题描述 现象: * 飞书群里 @ 机器人 → 正常回复 ✅ * 飞书群里不 @ 机器人 → 没有任何反应 ❌ 环境: * OpenClaw 框架 * 飞书自建应用(机器人) * WebSocket 长连接模式 解决过程 第一步:修改 OpenClaw 配置 在 openclaw.json 中找到飞书渠道配置: "channels":{"feishu":{"requireMention&