ollama+open-webui,本地部署自己的大模型
CSDN 2024-06-25 10:03:04 阅读 87
目录
一、效果预览
二、部署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
四、注意事项
一、效果预览
基于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 Windows
https://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设置环境变量
设置默认端口
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安装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
# ~/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.2创建虚拟环境
#1.构建虚拟环境
conda create -n open-webui python=3.8
#2.更新bashrc中的环境变量
conda init bash && source /root/.bashrc
#3.切换到创建的虚拟环境
conda activate open-webui
2.2.3安装open-webui并启动
#1.拉取源码
cd ~
git clone https://gitee.com/iafoot/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版本下载链接。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。