0


ollama+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![](https://img-blog.csdnimg.cn/direct/f22f19b040cb4cef8c5c522dc1f73f09.png)​

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版本下载链接。网盘下载链接:网盘下载地址

标签: python llama

本文转载自: https://blog.csdn.net/spiderwower/article/details/138463635
版权归原作者 功夫熊猫学python 所有, 如有侵权,请联系我们删除。

“ollama+open-webui,本地部署自己的大模型”的评论:

还没有评论