ollama+open-webui,本地部署自己的大模型

article/2025/7/13 3:27:41

目录

一、效果预览

二、部署ollama

1.ollama说明

2.安装流程

2.1 windows系统

2.1.1下载安装包

2.1.2验证安装结果

2.1.3设置模型文件保存地址

2.1.4拉取大模型镜像

2.2linux系统

2.2.1下载并安装ollama

2.2.2设置环境变量

2.2.3拉取模型文件

三、部署open-webui

1.open-webui介绍

2.安装流程

2.1windows

2.1.1下载源码

2.1.2用pycharm新建一个虚拟环境​编辑​​

2.1.3安装nodejs依赖

2.1.4安装python依赖

2.1.5启动webui

2.2linux

2.2.1安装nodejs

2.2.2安装miniconda3

2.2.3创建python虚拟环境

2.2.4安装open-webui并启动

四、注意事项


一、效果预览

基于ollama和open-webui,本地部署类似chatgpt的网页版大模型。先看看部署效果

如果不习惯英文界面,可以设置成中文界面

二、部署ollama

1.ollama说明

ollama的官网https://www.ollama.com/

ollama的github项目地址https://github.com/ollama/ollama

ollama,是一个大模型容器管理框架,它可以帮助用户快速在本地运行大模型,类似于docker。ollama可以运行在GPU或CPU,它会自动根据你电脑硬件,选择GPU或CPU运行。

windows只支持win10或更高的版本,官方说明如下。

ollama 支持具有 5.0+ 计算能力的 Nvidia GPU,显卡计算能力如下图所示

ollama也支持AMD,详见官方文档说明ollama/docs/gpu.md at main · ollama/ollama (github.com)https://github.com/ollama/ollama/blob/main/docs/gpu.md

ollama管理的大模型都是经过量化后的大模型,所以它的模型文件会小很多。以ollama中llama3-8b为例,llama3-8b原始模型大小接近15G,量化模型的只有4.7G,需要的硬件条件大大降低(老破小的福音)。

2.安装流程

2.1 windows系统

windows只支持win10或更高的版本。

2.1.1下载安装包

windows系统,直接下载安装程序(默认是最新的版本),下载完成后,直接点击安装即可,默认安装在C:\Users\Administrator\AppData\Local\Programs\Ollama。
Download Ollama on Windowshttps://ollama.com/download

2.1.2验证安装结果

安装完成后,电脑右下角任务栏处显示ollama图标。安装后,打开cmd命令窗口,输入ollama -v查看安装版本,如果不小心关闭了ollama程序,输入ollama serve即可重新启动ollama服务,ollama自带运行日志管理。

ollama serve默认端口为127.0.0.1:11434,这个端口在部署open-webui时需要用到,建议默认即可。如果需要修改默认端口,则需要添加一个环境变量OLLAMA_HOST=0.0.0.0:11434。

2.1.3设置模型文件保存地址

设置模型文件保存位置,打开系统环境变量配置,添加一个环境变量OLLAMA_MODELS=D:\huggingface\ollama(自己指定任意一个文件夹路径),然后点确定。

如果不设置环境变量,模型文件会自动保存在C盘。时间久了,C盘很容易存满。

2.1.4拉取大模型镜像

以下载llama3-8b为例子,打开ollama官网Ollama,点击右上角Models型。

重新打开一个cmd窗口,输入ollama run llama3:8b。模型会拉取文件,然后运行模型。如果只想下载模型,则输入ollama pull llama3:8b。需要运行的时候再输入ollama run llama3:8b即可。

模型下载速度很快(不需要魔法),基本上可以达到满速,如果自己电脑下载很慢,ctrl+c中止下载,再重新下载镜像。

不知道为啥,文件快要下载完成的时候会突然变慢。此时ctrl+c中止后,再重新下载镜像,下载速度又快了。

下载完成后,如果界面如下,则表示llama3:8b可以正常对话了。

如果出现Error: llama runner process no longer running: 3221225785。很有可能是ollama版本与操作系统不和谐的关系,默认下载的是最新版,此时需要降低ollama版本至0.1.31。博客首页有ollama0.1.31版本下载链接。网盘下载链接

2.2linux系统

2.2.1下载并安装ollama
curl -fsSL https://ollama.com/install.sh | sh
2.2.2设置环境变量

设置默认端口0.0.0.0:11434,这种情况可以允许所有网络请求,存在一定安全风险,个人建议最好将OLLAMA_HOST改成127.0.0.1:11434。

echo export OLLAMA_HOST="0.0.0.0:11434">>~/.bashrc

设置模型默认下载地址

echo export OLLAMA_MODELS=/root/ollama/models>>~/.bashrc

查看设置情况

cat ~/.bashrc

激活配置

source ~/.bashrc

启动ollama 服务

ollama serve
2.2.3拉取模型文件

重新打开一个shell终端

ollama run llama3:8b

三、部署open-webui

1.open-webui介绍

Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种LLM运行器,包括 Ollama 和 OpenAI 兼容的 API。

open-webui项目地址https://github.com/open-webui/open-webui/tree/main

2.安装流程

项目运行需要python和nodejs环境

node.js安装及环境配置超详细教程【Windows系统安装包方式】_node 0.12.6 安装 node-echarts 包-CSDN博客

2.1windows

2.1.1下载源码

从github上下载open-webui源码,无法打开github网站的也可以从gitee等国内镜像上搜索open-webui。我用的是pycharm运行项目,然后复制.env.example文件为.env。

​​

2.1.2用pycharm新建一个虚拟环境​​
2.1.3安装nodejs依赖

设置npm下载镜像源,提高下载速度

npm config set registry https://mirrors.huaweicloud.com/repository/npm/
npm i
npm run build
2.1.4安装python依赖
cd backend
pip install -r requirements.txt
2.1.5启动webui

2.1.5.1windows系统,运行start_windows.bat。linux系统运行start.sh文件。

2.1.5.2执行脚本后,会自动从huggingface.co下载sentence-transformers模型文件all-MiniLM-L6-v2,服务器在国外,无法下载,所以先从国内镜像网站上将模型和配置文件下载到本地。HF-Mirror - Huggingface 镜像站

​​

2.1.5.3打开backend/apps/rag/utils.py文件,修改第318行。重新执行start_windows.bat或start.sh

# 原代码为
embedding_model_repo_path = snapshot_download(**snapshot_kwargs)# 替换为本地文件路径
embedding_model_repo_path = r'D:\huggingface\all-MiniLM-L6-v2' #embedding_model_repo_path = snapshot_download(**snapshot_kwargs)

2.1.6启动后的界面,网页地址在最下面,点击即可打开webui

​​

2.2linux

2.2.1安装nodejs
 #1.安装最新版nodejscurl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.shbash nodesource_setup.shapt install nodejs -y#2.测试nodejs npm是否安装正确echo nodejs版本为:`node -v`echo npm 版本为:`npm -v`#3.设置npm镜像源npm config set registry https://mirrors.huaweicloud.com/repository/npm/

2.2.2安装miniconda3

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
~/miniconda3/bin/conda init bash && source /root/.bashrc
# ~/miniconda3/bin/conda init zsh
#设置conda镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
#设置pip镜像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2.2.3创建python虚拟环境
#1.构建虚拟环境
conda create -n open-webui python=3.8
#2.更新bashrc中的环境变量
conda init bash && source /root/.bashrc
#3.切换到创建的虚拟环境
conda activate open-webui
2.2.4安装open-webui并启动
#1.拉取源码
cd ~
git clone https://gitee.com/pandaworker/open-webui.git
cd open-webui
cp -RPp .env.example .env
#2.安装前端依赖
npm i
npm run build
#3.安装后端依赖
cd backend
pip install -r requirements.txt
#4.启动后端
bash start.sh

四、注意事项

1.打开网页后,注册的第一个用户默认为管理员账号,以后注册的账号角色均为pending(待分配权限)。

2.修改权限的方法。方法一:数据存放在backend/data/webui.db中,可以用数据库可视化软件打开数据库,将账号由pending修改为user或admin。方法二:修改backend/config.py文件中第358行,DEFAULT_USER_ROLE = os.getenv("DEFAULT_USER_ROLE", "pending"),将pending修改为user(普通用户)或admin(管理员),以后每次注册的账号就不需要管理员分配权限。

3.ollama run llama3无法运行,提示Error: llama runner process no longer running: 3221225785。很有可能是ollama版本与操作系统不和谐的关系,默认下载的是最新版,此时需要降低ollama版本至0.1.31。博客首页有ollama0.1.31版本下载链接。


http://www.hkcw.cn/article/DULupRmwAo.shtml

相关文章

大模型赋能:2D 写实数字人开启实时交互新时代

在数字化浪潮席卷全球的当下,人工智能技术不断突破创新,其中大模型驱动的 2D 写实数字人正成为实时交互领域的一颗新星,引领着行业变革,为人们带来前所未有的交互体验。 一、2D 写实数字人概述 2D 写实数字人是通过计算机图形学…

效率工具- git rebase 全解

一、前言 对于git rebase 一直不太了解,这几天想着提高下git提交质量,就发现了这个好用的指令,顺便记录一下,好加深记忆 贴出官方文档以便大家进一步学习 Git 二、rebase是作用 rebase 官方解释为变基,可以理解为移动你的分支根节点,维护一个更好的提交记录。rebase把你当前…

【开源】Python打造高效剪贴板历史管理器:实现跨平台生产力工具

📋【开源】Python打造高效剪贴板历史管理器:实现跨平台生产力工具 🌈 个人主页:创客白泽 - CSDN博客 🔥 系列专栏:🐍《Python开源项目实战》 💡 热爱不止于代码,热情源自…

π0的微调——如何基于各种开源数据集、以及私有数据集微调openpi(含我司七月的微调实践及在机械臂上的部署)

前言 25年2.4日,几个月前推出π0的公司Physical Intelligence (π)宣布正式开源π0及π0-FAST,如之前所介绍的,他们对用超过 10,000 小时的机器人数据进行了预训练 该GitHub代码仓库「 π0及π0-FAST的GitHub地址:github.com/Ph…

开源模型应用落地-qwen模型小试-Qwen3-8B-融合VLLM、MCP与Agent(七)

一、前言 随着Qwen3的开源与技术升级,其在企业中的落地场景正加速拓展至多个垂直领域。依托Agent智能体能力 和MCP协议的工具调用接口 ,Qwen3可深度融入企业业务流程,为企业提供从需求解析到自动化开发的全链路支持。 本篇将介绍如何实现Qwen3-8B模型集成MCP实现智能体交互。…

【Git】GitHub 连接失败解决方案:Failed to connect to github.com port 443 after 21090 ms: Couldn’t connect to se

文章目录 一、使用 VPN 环境下的解决方案1. 检查当前代理设置2. 配置 Git 使用代理3. 验证代理设置是否生效4. 刷新 DNS 缓存5. 重新尝试 Git 操作 二、未使用 VPN 环境下的解决方案1. 取消 Git 配置的代理2. 验证代理设置已成功移除3. 重试 Git 操作 三、总结使用 VPN 的解决方…

Java 大视界 -- Java 大数据机器学习模型在元宇宙虚拟场景智能交互中的关键技术(239)

💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…

Digital Reengineering and Localized Implementation of the Five-Dimensional Management Cycle System

A Paradigm Shift in Intelligent Hospital Governance(Preliminary draft of the first-line cooperation project) Abstract This study pioneers a transformative approach to healthcare management through the “Technology-Management-Value” (TMV) triad model, r…

Qwen3:重磅开源,重夺开源第一!(包含详细使用教程)

1.简介 Qwen3,这是 Qwen 系列大型语言模型的最新成员。我们的旗舰模型 Qwen3-235B-A22B 在代码、数学、通用能力等基准测试中,与 DeepSeek-R1、o1、o3-mini、Grok-3 和 Gemini-2.5-Pro 等顶级模型相比,表现出极具竞争力的结果。此外&#xf…

基于 Alpine 定制单功能用途(kiosk)电脑

前言 故事回到 7 年前, 在网上冲浪的时候发现了一篇介绍使用 Ubuntu 打造 kiosk 单功能用途电脑的文章, 挺好玩的, 就翻译了一下并比葫芦画瓢先后用了 CentOS 7, ArchLinux 进行了实现. 历史文章: 翻译 - 使用Ubutnu14.04和Chrome打造单功能用途电脑(大屏展示电脑) 使用CentOS…

《汇编语言》第13章 int指令——实验13 编写、应用中断例程

(1)编写并安装 int 7ch 中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。 参数:(dh)行号,(dl)列号,(cl&a…

大模型前处理-CPU

前处理包含哪些流程 分词 tokenizationembedding CPU可以做哪些优化 分词 分词在做什么? 什么是词元化? 词元化(Tokenization)是把一段自然语言文本拆分成更小的单元(称为“词元”,即 Token&#xff0…

设备驱动与文件系统:02 键盘

操作系统中键盘驱动的讲解 在这一讲中,我将为大家讲解键盘相关内容。从上一讲开始,我们进入了操作系统第四个部分的学习,也就是操作系统对设备的驱动与管理。 上一讲我们探讨的是显示器,并且提到,一个终端设备是由显示…

工作流引擎-18-开源审批流项目之 plumdo-work 工作流,表单,报表结合的多模块系统

工作流引擎系列 工作流引擎-00-流程引擎概览 工作流引擎-01-Activiti 是领先的轻量级、以 Java 为中心的开源 BPMN 引擎,支持现实世界的流程自动化需求 工作流引擎-02-BPM OA ERP 区别和联系 工作流引擎-03-聊一聊流程引擎 工作流引擎-04-流程引擎 activiti 优…

Windows环境下Scoop包管理工具的全面指南

🧩 一、Scoop核心特性与设计理念 定位与优势 专注于开源命令行工具和便携式(Portable)应用,无需管理员权限即可安装,减少系统污染。自动管理环境变量(通过shims目录),安装后即时可用…

谷粒商城-分布式微服务项目-高级篇[三]

十五、商城业务-支付 15.1 支付宝支付 15.1.1 进入“蚂蚁金服开放平台” 支付宝开放 平台地址: 支付宝开放平台 15.1.2 下载支付宝官方 demo,进行配置和测试 开发者文档:支付宝开放平台文档中心 电脑网站支付文档:小程序文…

EchoMimicV2:迈向引人注目、简化的半身人类动画

今天介绍EchoMimicV2,EchoMimicV2是阿里蚂蚁集团推出的半身人体AI数字人项目,输入参考图片、音频、和手部姿势序列生成动画视频(对图片的规范要求比较高,图片规范的话效果还可以),感兴趣的还可以去了解一下…

SpringBoot手动实现流式输出方案整理以及SSE规范输出详解

背景: 最近做流式输出时,一直使用python实现的,应需求方的要求,需要通过java应用做一次封装并在java侧完成系统鉴权、模型鉴权等功能后才能真正去调用智能体应用,基于此调研java实现流式输出的几种方式,并…

vuex的使用

❀ ❀ ❀ ❀ ❀ ❀ ❀ vuex的官网 ❀ ❀ ❀ ❀ ❀ ❀ ❀ ❀ 这里用法不纯粹。用户toolbar页面切换时的传参。若后期有更好的方式,会更改。因vuex用于全局,在这个场景下使用有点大材小用了 其中需要注意的点就是更新、获取状态 更新状态。updateProjec…

Calendar和Datepicker

Displaystart Displayend "2024-10-8" selectedDate属性 设定选择的日期 在 C# 中,DateTime? date1 表示 **一个可空的 DateTime 类型变量**。 ?.是不为零 ?是可以为零0️⃣ 多选 selectionmode none不让选 singlerange shift …