Ollama+OpenWebUI部署本地大模型
Ollama+OpenWebUI部署本地大模型
前言
Ollama是一个强大且易于使用的本地大模型推理框架,它专注于简化和优化大型语言模型(LLMs)在本地环境中的部署、管理和推理工作流。可以将Ollama理解为一个大模型推理框架的后端服务。

Ollama
Ollama安装有两种方式:
- docker安装
- 脚本手动安装
不论是 docker 安装还是脚本手动安装,都分为 无GPU 版本和 GPU 版本。
Ollama Docker 安装
# apt 安装 (NVIDIA GPU)
curl -fsSL <https://nvidia.github.io/libnvidia-container/gpgkey> \\| sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpgcurl -s -L <https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list> \\| sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \\| sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.listsudo apt-get updatesudo apt-get install -y nvidia-container-toolkitsudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker# 启动容器(无GPU)
# -v ollama:/root/.ollama 表示将宿主机的 ollama 路径和容器的 /root/.ollama 进行挂载
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama# 启动容器(NVIDIA GPU)
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama# 宿主机的 ollama 路径 可以通过以下命令查询。返回的 json 数据查看 "Mounts" 节点
docker inspect ollama
Ollama 手动安装
# 下载(无gpu)
# curl -L <https://ollama.com/download/ollama-linux-amd64.tgz> -o ollama-linux-amd64.tgz
curl -L -C - <https://ollama.com/download/ollama-linux-amd64.tgz> -o /opt/ollama/ollama-linux-amd64.tgz# 下载(有gpu)# 解压
sudo tar -C /usr -xzf ollama-linux-amd64.tgz# 启动服务器
ollama serve# 运行模型
ollama run llama3.2:1b# 拉取模型
ollama pull llama3.2:1b# 删除模型
ollama rm llama3.2:1b# 复制模型
ollama cp llama3.2 my-model# 版本
ollama -v# 模型列表
ollama list# 列出当前加载的模型
ollama ps# 停止当前正在运行的模型
ollama stop llama3.2:1b
配置Ollama环境变量
# 编辑
vim ~/.bashrc
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_MODELS=~/.ollama/models
# 退出编辑
# 刷新环境变量
source ~/.bashrc

Open WebUI
Open WebUI 是一个开源的用户界面工具,用于运行和管理大语言模型(LLM)及其他人工智能功能。它的主要目的是简化人工智能模型的本地部署和操作,让用户能够方便地通过浏览器界面与各种AI模型进行交互。
Open WebUI Docker 安装
# 拉取镜像
docker pull ghcr.io/open-webui/open-webui:main# 启动(无gpu)
# OLLAMA_BASE_URL 最好使用实际的ip地址,以防openwebui的docker识别不了ollama后端服务
docker run -d \\
-p 3000:8080 \\
-v /opt/ollama/open-webui:/app/backend/data \\
-e HF_ENDPOINT=https://hf-mirror.com \\
-e OLLAMA_BASE_URL=http://0.0.0.0:11434 \\
-e DEFAULT_MODELS=llama3.2:1b \\
--name open-webui \\
--restart always \\
ghcr.io/open-webui/open-webui:main# 启动(NVIDIA GPU)
docker run -d \\
-p 3000:8080 \\
--gpus all \\
-v /opt/ollama/open-webui:/app/backend/data \\
-e HF_ENDPOINT=https://hf-mirror.com \\
-e OLLAMA_BASE_URL=http://0.0.0.0:11434 \\
-e DEFAULT_MODELS=qwen2.5:7b \\
--name open-webui \\
--restart always \\
ghcr.io/open-webui/open-webui:cuda
其中 HF_ENDPOINT 是模型的下载社区 Hugging-Face 的国内镜像。
OLLAMA_BASE_URL 是我们上一步部署的 Ollama 后端服务的基础地址。
查看镜像
docker images

查看容器
docker ps

访问地址:localhost:3000

参考
ollama
openwebui
千问大模型微调
相关文章:
Ollama+OpenWebUI部署本地大模型
OllamaOpenWebUI部署本地大模型 前言 Ollama是一个强大且易于使用的本地大模型推理框架,它专注于简化和优化大型语言模型(LLMs)在本地环境中的部署、管理和推理工作流。可以将Ollama理解为一个大模型推理框架的后端服务。 Ollama Ollama安…...
Python从0到100(八十六):神经网络-ShuffleNet通道混合轻量级网络的深入介绍
前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...
【网络】传输层协议TCP(重点)
文章目录 1. TCP协议段格式2. 详解TCP2.1 4位首部长度2.2 32位序号与32位确认序号(确认应答机制)2.3 超时重传机制2.4 连接管理机制(3次握手、4次挥手 3个标志位)2.5 16位窗口大小(流量控制)2.6 滑动窗口2.7 3个标志位 16位紧急…...
海思ISP开发说明
1、概述 ISP(Image Signal Processor)图像信号处理器是专门用于处理图像信号的硬件或处理单元,广泛应用于图像传感器(如 CMOS 或 CCD 传感器)与显示设备之间的信号转换过程中。ISP通过一系列数字图像处理算法完成对数字…...
实验十 Servlet(一)
实验十 Servlet(一) 【实验目的】 1.了解Servlet运行原理 2.掌握Servlet实现方式 【实验内容】 1、参考课堂例子,客户端通过login.jsp发出登录请求,请求提交到loginServlet处理。如果用户名和密码相同则视为登录成功,…...
doris:聚合模型的导入更新
这篇文档主要介绍 Doris 聚合模型上基于导入的更新。 整行更新 使用 Doris 支持的 Stream Load,Broker Load,Routine Load,Insert Into 等导入方式,往聚合模型(Agg 模型)中进行数据导入时,都…...
Java NIO_非阻塞I/O的实现与优化
1. 引言 1.1 背景介绍 随着互联网应用的快速发展,传统的阻塞I/O模型已经无法满足高并发、高性能的需求。Java NIO(Non-blocking I/O)提供了高效的非阻塞I/O操作,使得开发者能够构建高性能的网络应用和文件处理系统。 1.2 Java NIO的重要性 Java NIO通过非阻塞I/O和多路…...
代码随想录算法训练营Day51 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
文章目录 101.孤岛的总面积思路与重点 102.沉没孤岛思路与重点 103.水流问题思路与重点 104.建造最大岛屿思路与重点 101.孤岛的总面积 题目链接:101.孤岛的总面积讲解链接:代码随想录状态:直接看题解了。 思路与重点 nextx或者nexty越界了…...
Games202Lecture 6 Real-time Environment Mapping
RTRT RTRT(real time ray tracing): path tracingdenoising PRT PRT (Precomputed radiance transfer):离线预计算,运行时快速内积。 预计算(Offline Precomputation): 传输函数(Transfer Function&…...
在 Zemax 中使用布尔对象创建光学光圈
在 Zemax 中,布尔对象用于通过组合或减去较简单的几何形状来创建复杂形状。布尔运算涉及使用集合运算(如并集、交集和减集)来组合或修改对象的几何形状。这允许用户在其设计中为光学元件或机械部件创建更复杂和定制的形状。 本视频中…...
MySQL知识点总结(十八)
说明你对InnoDB集群的整体认知。 MySQL组复制技术是InnoDB集群实现的基础,组复制安装在集群中的每个服务器实例上。组复制能够创建弹性复制拓扑,在集群中的服务器脱机时可以自动重新配置自己。必须至少有三台服务器才能组成一个可以提供高可用性的组。组…...
[论文总结] 深度学习在农业领域应用论文笔记14
当下,深度学习在农业领域的研究热度持续攀升,相关论文发表量呈现出迅猛增长的态势。但繁荣背后,质量却不尽人意。相当一部分论文内容空洞无物,缺乏能够落地转化的实际价值,“凑数” 的痕迹十分明显。在农业信息化领域的…...
MySQL和Redis的区别
MySQL和Redis都是流行的数据存储解决方案,但它们在设计、用途和特性上有显著区别。理解这些区别有助于选择合适的数据库来满足不同的应用需求。本文将详细介绍MySQL和Redis的区别,包括它们的架构、使用场景、性能和其他关键特性。 一、基本概述 MySQL&…...
Rust 中的注释使用指南
Rust 中的注释使用指南 注释是代码中不可或缺的一部分,它帮助开发者理解代码的逻辑和意图。Rust 提供了多种注释方式,包括行注释、块注释和文档注释。本文将详细介绍这些注释的使用方法,并通过一个示例展示如何在实际代码中应用注释。 1. 行…...
2025年2月2日(tcp3次握手4次挥手)
TCP(三次握手和四次挥手)是建立和关闭网络连接的标准过程,确保数据在传输过程中可靠无误。下面是详细解释: 1. 三次握手(TCP连接建立过程) 三次握手是为了在客户端和服务器之间建立一个可靠的连接&#x…...
一文了解制造业中的QC是什么
制造业中的QC QC :Quality Control,品质控制,产品的质量检验,发现质量问题后的分析、改善和不合格品控制相关人员的总称。中文意思是品质控制、质量检验。为达到品质要求所采取的作业技术和活动。有些推行ISO9000的组织会设置这样…...
【NEXT】网络编程——上传文件(不限于jpg/png/pdf/txt/doc等),或请求参数值是file类型时,调用在线服务接口
最近在使用华为AI平台ModelArts训练自己的图像识别模型,并部署了在线服务接口。供给客户端(如:鸿蒙APP/元服务)调用。 import核心能力: import { http } from kit.NetworkKit; import { fileIo } from kit.CoreFileK…...
在CentOS服务器上部署DeepSeek R1
在CentOS服务器上部署DeepSeek R1,并通过公网IP与其进行对话,可以按照以下步骤操作: 一、环境准备 系统要求: CentOS 8+(需支持AVX512指令集)。 硬件配置: GPU版本:NVIDIA驱动520+,CUDA 11.8+。 CPU版本:至少16核处理器,64GB内存。 存储空间:原始模型需要30GB,量…...
算法随笔_36: 复写零
上一篇:算法随笔_35: 每日温度-CSDN博客 题目描述如下: 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改…...
MoonBit 编译器(留档学习)
MoonBit 编译器 MoonBit 是一个用户友好,构建快,产出质量高的编程语言。 MoonBit | Documentation | Tour | Core This is the source code repository for MoonBit, a programming language that is user-friendly, builds fast, and produces high q…...
基于LoRA与SFT技术构建中文大语言模型:从词表扩展到指令微调实战
1. 项目概述:为什么我们需要中文专属的大语言模型底座? 如果你在过去一年里尝试过用开源的大语言模型(LLM)来处理中文任务,大概率会遇到过这样的尴尬:模型对英文指令理解得很好,但一换成中文&am…...
RK3568开发板Android 11系统移植实战:从内核驱动到HAL适配
1. 项目概述与学习路径规划拿到一块像迅为iTOP-RK3568这样的开发板,想把最新的Android 11系统跑起来,这个想法听起来挺酷,但很多朋友一看到“系统移植”四个字就有点发怵,感觉这是大神才能玩转的领域。其实,只要你熟悉…...
从硬盘分区到系统重装:一套完整的CSGO机器码解封操作流程(附磁盘精灵使用指南)
从硬盘分区到系统重装:CSGO设备标识重置全流程实战指南 当游戏设备标识遭遇封禁时,单纯修改表层参数往往难以彻底解决问题。本文将系统性地介绍一套从底层存储结构到操作系统环境的完整重置方案,帮助玩家重建全新的硬件身份标识。不同于简单的…...
GPTPortal:基于模型抽象层的AI应用快速部署与统一管理平台
1. 项目概述:一个面向开发者的AI应用快速部署门户 最近在GitHub上看到一个挺有意思的项目,叫GPTPortal。乍一看名字,可能会让人联想到某个特定的AI模型服务,但深入了解一下就会发现,它的定位其实更偏向于一个“门户”或…...
“梦想、汗水、坚持”2026 SNH48 GROUP年度青春盛典5月30日正式启动
“十三而砺,向新而行。”中国大型青春女团SNH48 GROUP运营方上海丝芭文化传媒集团有限公司即日宣布:2026 SNH48 GROUP第十三届年度青春盛典大型系列活动将于5月30日正式启动,本届年度青春盛典颁奖典礼暨汇报演唱会定档8月8日,落地…...
【SimMechanics实战】从零搭建Matlab机械臂仿真模型:模块详解与坐标系规划
1. SimMechanics入门:为什么选择它做机械臂仿真 第一次接触机械臂仿真时,我试过几种不同的工具,最后发现SimMechanics真是个好帮手。它和Matlab/Simulink无缝集成,数据处理特别方便,不像有些专业仿真软件需要频繁导入导…...
AI与Web3融合:Solana开发者工具箱core-ai架构解析与实践
1. 项目概述:当AI遇见Web3,一个开发者工具箱的诞生最近在Web3和AI的交叉领域里折腾,发现了一个挺有意思的项目——helius-tech-labs/core-ai。这名字听起来就很有野心,core(核心)和ai(人工智能&…...
ESP32-S3物联网开发实战:从点灯到上云Adafruit IO
1. 项目概述:从点灯到上云,解锁ESP32-S3的完整能力拿到一块ESP32-S3开发板,比如Adafruit的QT Py ESP32-S3,很多朋友的第一步就是让板载的RGB LED(NeoPixel)闪起来,这就像嵌入式世界的“Hello Wo…...
开源机械爪应用宝库:从视觉分拣到项目实战全解析
1. 项目概述:一个开源“机械爪”用例的灵感宝库如果你对机器人、自动化或者开源硬件感兴趣,最近在GitHub上闲逛时,可能刷到过一个叫hesamsheikh/awesome-openclaw-usecases的仓库。光看名字,就能猜个八九不离十:这是一…...
生成式 AI 的未来是具有代理性的:你需要了解的信息
原文:towardsdatascience.com/the-future-of-generative-ai-is-agentic-what-you-need-to-know-01b7e801fa69...
