首页 教程 Web前端 ollama+open-webui,本地部署自己的大模型

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

目录

一、效果预览

二、部署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+open-webui,本地部署自己的大模型

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

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

二、部署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+open-webui,本地部署自己的大模型

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

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

ollama也支持AMD,详见官方文档说明ollama/docs/gpu.md at main · ollama/ollama (github.com)[这里是图片005]https://github.com/ollama/ollama/blob/main/docs/gpu.md

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

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

2.安装流程

2.1 windows系统

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

2.1.1下载安装包

windows系统,直接下载安装程序(默认是最新的版本),下载完成后,直接点击安装即可,默认安装在C:UsersAdministratorAppDataLocalProgramsOllama。
Download Ollama on Windows[这里是图片007]https://ollama.com/downloadollama+open-webui,本地部署自己的大模型

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。

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

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

2.1.3设置模型文件保存地址

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

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

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

2.1.4拉取大模型镜像

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

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

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

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

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

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

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

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

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

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

如果出现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。

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

2.1.2用pycharm新建一个虚拟环境ollama+open-webui,本地部署自己的大模型
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 镜像站

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

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:huggingfaceall-MiniLM-L6-v2' #embedding_model_repo_path = snapshot_download(**snapshot_kwargs)

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

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

2.2linux
2.2.1安装nodejs

#1.安装最新版nodejs curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh bash nodesource_setup.sh apt 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版本下载链接。

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.15k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.21k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.12k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.08k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  482

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  308

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。