当前位置: 首页 > article >正文

DeepSeek09-open-webui使用

Open WebUI 完全指南:从安装到知识库搭建与异常处理

最后更新:2025年6月7日 | 适用版本:Open WebUI v0.6.x


一、安装部署

1.1 系统要求

  • **Python 3.12 **(严格版本要求,更高版本3.13不兼容)
  • Node.js 20.x+
  • 内存 ≥ 4GB(知识库场景建议≥8GB)

1.2 两种安装方式

✅ 方式一:Docker安装(推荐)
# 基础命令(Ollama在本地运行)
docker run -d -p 3000:8080 \\--add-host=host.docker.internal:host-gateway \\-v open-webui:/app/backend/data \\--name open-webui \\--restart always \\ghcr.io/open-webui/open-webui:main# GPU加速版(Nvidia显卡)
docker run -d -p 3000:8080 \\--gpus all \\--add-host=host.docker.internal:host-gateway \\-v open-webui:/app/backend/data \\--name open-webui \\ghcr.io/open-webui/open-webui:cuda# 国内镜像替代(解决拉取失败)
docker run ... ghcr.nju.edu.cn/open-webui/open-webui:main
✅ 方式二:Python pip安装
# 创建虚拟环境(避免依赖冲突)
python -m venv openwebui-env
source openwebui-env/bin/activate  # Linux/macOS
openwebui-env\\Scripts\\activate    # Windows# 安装并启动
pip install open-webui
open-webui serve --port 8080

访问:http://localhost:8080


1.3 离线(内网安装)

1.3.1 联网下载所需要的python以及whl包
  1. 下载python3.11.9安装包

    • https://mirrors.huaweicloud.com/python/3.11.9/
    • https://www.python.org/downloads/release/python-3119/
  2. 下载依赖包:

    Python3.11.9\python.exe -m venv open_webui_env_py3119 
    open_webui_env_py3119\Scripts\activate
    mkdir open_webui_py3119_whls
    python.exe -m pip download -d ./open_webui_py3119_whls  pip==25.1.1
    python.exe -m pip install --upgrade pip
    pip download -d ./open_webui_py3119_whls open-webui 
    pip download -d ./open_webui_py3119_whls huggingface_hub
    pip download -d ./open_webui_py3119_whls setuptools==80.9.0 packaging==25.0 fsspec==2025.5.1 
    pip download -d ./open_webui_py3119_whls setuptools==65.5.0 packaging==23.2 fsspec==2025.3.0
    

    注意:
    Windows 下载 Linux 包需追加 --platform linux_x86_64
    Linux 下载 Windows 包需追加 --platform win_amd64
    确保离网环境的 Python 版本与下载时一致(必须为 3.11)

  3. 编译生成whl

    cd open_webui
    pip download -d ./open_webui_py3119_whls build 
    pip install build
    cd compile_whls\docx2txt-0.8
    python -m build --wheel
    cd ..\google_api_python_client-2.171.0
    python -m build --wheel
    cd ..\langdetect-1.0.9
    python -m build --wheel
    cd ..\peewee-3.18.1
    python -m build --wheel
    cd ..\PyPika-0.48.9
    python -m build --wheel
    cd ..\red-black-tree-mod-1.22
    python -m build --wheel
    cd ..\win_unicode_console-0.5
    python -m build --wheel
    
  4. 将生成的whl文件拷入open_webui_py3119_whls目录下

1.3.2 联网下载所需要的模型
  1. 安装模型下载工具:
    在 Python 环境中执行以下命令安装工具
    pip install huggingface_hub
    HF_ENDPOINT=https://hf-mirror.com huggingface-cli download --resume-download sentence-transformers/all-MiniLM-L6-v2 --local-dir .\used_models
    
  2. 下载模型:
  • 方式一:默认路径下拷贝出模型:
    压缩拷贝目录:
    C:\Users\%USERNAME%\.cache\huggingface\hub\models--sentence-transformers--all-MiniLM-L6-v2

  • 方式二:下载模型

set HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download --force-download sentence-transformers/all-MiniLM-L6-v2 --local-dir .\used_models\sentence-transformers\all-MiniLM-L6-v2
1.3.3 离线安装open-webui
  1. 安装python3.11
  2. 生成虚拟环境:python -m venv open_webui_env_py3119
  3. 安装open-webui
open_webui_env_py3119\Scripts\activate
# 进入依赖目录执行离线安装
pip install --no-index --find-links .\open_webui_py3119_whls .\open_webui_py3119_whls\open_webui-0.6.13-py3-none-any.whl
  1. 拷贝模型文件到虚拟环境的目录:
open_webui_env_py3119\models\all-MiniLM-L6-v2

####1.3.4 离线恢复模型:

  • 方式一:将模型放到默认路径下:

将all-MiniLM-L6-v2下的内容拷贝到
C:\Users\%USERNAME%\.cache\huggingface\hub\models--sentence-transformers--all-MiniLM-L6-v2
目录下

  • 方式二:修改环境变量,指向模型所在目录
set RAG_EMBEDDING_MODEL=path\to\sentence-transformers\all-MiniLM-L6-v2
open-webui serve  # 正常应显示启动日志,无下载请求
附:离网部署流程全景图
联网环境
下载Python依赖包
缓存嵌入模型
离网服务器
安装依赖包
部署模型文件
启动Open WebUI

二、核心配置

2.1 连接大模型

本地Ollama模型配置
  1. 登录后进入 管理员面板 > 设置 > 外部连接
  2. 添加Ollama API:
    • URL:http://host.docker.internal:11434(Docker)
    • URL:http://localhost:11434(本地安装)
  3. 在聊天界面选择本地模型(如Llama3)
外部API配置(DeepSeek/OpenAI等)
服务商API地址Key获取地址
DeepSeekhttps://api.deepseek.comhttps://platform.deepseek.com
硅基流动https://api.siliconflow.cn/v1https://cloud.siliconflow.cn
OpenAIhttps://api.openai.com/v1https://platform.openai.com
# Docker环境配置示例
docker run -d -p 3000:8080 \\-e OPENAI_API_KEY=sk-xxx \\-v open-webui:/app/backend/data \\--name open-webui \\ghcr.io/open-webui/open-webui:main

2.2 中文界面设置

  1. 右上角用户菜单 → Settings
  2. General → Language → 简体中文

三、知识库创建与管理

3.1 通过Web界面创建

  1. 进入 工作区 → 知识库
  2. 点击 + 新建知识库,输入名称和描述
  3. 上传文档:
    • 支持格式:PDF、DOCX、TXT、Markdown
    • 单个文件 ≤100MB
  4. 绑定模型:
    • 创建新聊天 → 点击 # 选择知识库
    • 或创建专用模型:工作区 → 模型 → 新建

3.2 通过API创建(自动化)

import requests# 1. 创建知识库
create_url = "http://localhost:8080/api/v1/knowledge/create"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
data = {"name": "技术文档库", "description": "API创建示例"}
response = requests.post(create_url, headers=headers, json=data)
knowledge_id = response.json()["id"]# 2. 上传文件
file_url = "http://localhost:8080/api/v1/files/"
files = {"file": open("manual.pdf", "rb")}
file_res = requests.post(file_url, headers=headers, files=files)
file_id = file_res.json()["id"]# 3. 绑定到知识库
bind_url = f"http://localhost:8080/api/v1/knowledge/{knowledge_id}/file/add"
requests.post(bind_url, headers=headers, json={"file_id": file_id})

四、异常处理大全

4.1 安装类问题

pip install open-webui 失败

解决方案

  1. 确认Python版本为3.11:python -V
  2. 使用虚拟环境安装::
    python -m venv openwebui
    openwebui\\Scripts\\activate
    pip install open-webui
    
❌ Docker容器无法连接Ollama

解决方案

   # 添加网络参数
docker run -d --network=host \\-e OLLAMA_BASE_URL=http://127.0.0.1:11434 \\-v open-webui:/app/backend/data \\--name open-webui \\ghcr.io/open-webui/open-webui:main

4.2 知识库相关故障

❌ RAG功能失效(本地模型)

现象::Ollama ≥0.2.2 时知识库检索失败
修复方案

  1. 进入 管理员面板 > 设置 > 文档

  2. 修改以下参数:

    • Top K 设为 1
    • 上下文长度 设为 8192
  3. 或降级Ollama:ollama install version 0.2.1

❌ PDF文件解析失败

解决方案

  1. 管理员面板设置文档

    • 开启 PDF图像处理
    • 内容提取引擎选 Unstructured
  2. 安装依赖:

# 在Open WebUI后台目录执行
pip install pdf2image unstructured

4.3 性能优化问题

❌ 首屏加载缓慢

解决方案

  1. 管理员面板 → 设置 → 外部连接

  2. 删除无效的API预设(如默认的OpenAI/ChatGPT链接)10

❌ Nginx反向代理404

配置示例

location / {proxy_pass http://localhost:3000;proxy_set_header Host $host;
}# WebSocket支持(必需!)
location /ws {proxy_pass http://localhost:3000;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";
} 

五、高级技巧

5.1 知识库优化配置

  1. 向量模型选择:
ollama pull nomic-embed-text  # 下载高效向量模型
  1. 管理员面板设置模型
    • 语义向量模型引擎:Ollama
    • 语义向量模型:nomic-embed-text 8

5.2 安全加固

# 启用HTTPS和访问控制
docker run -d -p 443:8080 \\-e ENABLE_AUTH=true \\-e WEBUI_SECRET_KEY=your_strong_key \\-v ssl_certs:/certs \\--name open-webui \\ghcr.io/open-webui/open-webui:main

5.3 性能监控

内置Prometheus指标端点:
http://localhost:8080/metrics

六、架构示意图

用户浏览器
Open WebUI
Ollama 本地模型
OpenAI/DeepSeek 等云API
向量知识库
文件存储
元数据索引

通过以上配置,可实现:本地模型对话 + 云API增强 + 私有知识库检索 三位一体能力

附录:常见问题速查表

| 问题现象 | 解决方案 | 引用 |
| 安装时pip报版本不匹配 | 使用Python 3.11虚拟环境 | 链接 |
| RAG返回结果不相关 | 设置Top K=1,上下文长度=8192 | |
| 知识库上传PDF失败 | 开启PDF图像处理 + 安装pdf2image | 链接 |
| 反向代理后WebSocket中断 | 配置Nginx的/ws路径代理 | 链接 |
| 中文显示乱码 | 后台设置 → 语言 → 简体中文 | |

提示:获取最新文档请访问 Open WebUI 官方GitHub
如遇复杂问题,建议通过 docker logs open-webui 查看实时日志

© 著作权归作者所有

相关文章:

DeepSeek09-open-webui使用

Open WebUI 完全指南:从安装到知识库搭建与异常处理 最后更新:2025年6月7日 | 适用版本:Open WebUI v0.6.x 一、安装部署 1.1 系统要求 **Python 3.12 **(严格版本要求,更高版本3.13不兼容)Node.js 20.x内…...

HarmonyOS:Counter计数器组件

一、概述 计数器组件,提供相应的增加或者减少的计数操作。 说明 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 二、属性 除支持通用属性外,还支持以下属性。 enableInc enableInc(value: b…...

数据类型 -- 字符

在C中,字符型(char)用于存储单个字符,如字母、数字、符号等。字符型是最基本的数据类型之一,常用于处理文本、字符数组(字符串)等场景。 1. 基本类型 • char:标准字符类型&#x…...

WordZero:让Markdown与Word文档自由转换的Golang利器

在日常工作中,我们经常需要在Markdown和Word文档之间进行转换。Markdown方便编写和版本控制,而Word文档更适合正式的商务环境。作为一名Golang开发者,我开发了WordZero这个库,专门解决这个痛点。 项目背景 GitHub仓库&#xff1…...

sqlsugar WhereIF条件的大于等于和等于查出来的坑

一、如下图所示,当我用 .WhereIF(input.Plancontroltype > 0, u > u.Plancontroltype (DnjqPlancontroltype)input.Plancontroltype) 这里面用等于的时候,返回结果一条数据都没有。 上图中生成的SQL如下: SELECT id AS Id ,code AS …...

Pandas 技术解析:从数据结构到应用场景的深度探索

序 我最早用Python做大数据项目时,接触最早的就是Pandas了。觉得对于IT技术人员而言,它是可以属于多场景的存在,因为它的本身就是数据驱动的技术生态中,对于软件工程师而言,它是快速构建数据处理管道的基石&#xff1…...

数据库系统概论(十七)超详细讲解数据库规范化与五大范式(从函数依赖到多值依赖,再到五大范式,附带例题,表格,知识图谱对比带你一步步掌握)

数据库系统概论(十七)超详细讲解数据库规范化与五大范式(从函数依赖到多值依赖,再到五大范式,附带例题,表格,知识图谱对比带你一步步掌握) 前言一、为什么需要规范化1. 我们先想一个…...

[c#]判定当前软件是否用管理员权限打开

有时一些软件的逻辑中需要使用管理员权限对某些文件进行修改时,那么该软件在执行或者打开的场合,就需要用使用管理员身份运行才能达到效果。那么在c#里,如何判定该软件是否是对管理员身份运的呢? 1.取得当前的windows用户。 2.取得…...

并发编程实战(生产者消费者模型)

在并发编程中使用生产者和消费者模式能够解决绝大多数的并发问题。该模式通过平衡生产线程和消费线程的工作能力来提高程序整体处理数据的速度。 生产者和消费者模式: 在线程的世界中生产者就是产生数据的线程,而消费者则是消费数据的线程。在多线程开…...

分布式微服务系统架构第144集:FastAPI全栈开发教育系统

加群联系作者vx:xiaoda0423 仓库地址:https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ https://github.com/webVueBlog/fastapi_plus https://webvueblog.github.io/JavaPlusDoc/ 使用docker搭建常用开发环境 docker安装mysql docker ru…...

el-tabs 切换时数据不更新的问题

最近业务需求,需要在页面中使用tabs,使用过程中出现tabs切换,数据不更新的问题,以下是思路和解决办法。 Vue 会追踪你在模板中绑定的数据,并在数据发生变化时重新渲染相应的部分。但在使用 el-tabs 时,有时…...

git小乌龟不显示图标状态解决方案

第一步 在开始菜单的搜索处,输入regedit命令,打开注册表。 第二步 在注册表编辑器中,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers 这一项。 第三步 让Tortoise相关的项目排在前…...

获取 OpenAI API Key

你可以按照以下步骤来获取 openai.api_key,用于调用 OpenAI 的 GPT-4、DALLE、Whisper 等 API 服务: 🧭 获取 OpenAI API Key 的步骤: ✅ 1. 注册或登录 OpenAI 账号 打开 https://platform.openai.com/ 使用你的邮箱或 Google/…...

【Android基础回顾】五:AMS(Activity Manager Service)

Android 的 AMS(Activity Manager Service)是 Android 系统中的核心服务之一,负责管理整个应用生命周期、任务栈、进程和四大组件(Activity、Service、BroadcastReceiver、ContentProvider)的运行。它运行在系统进程 s…...

pycharm中提示C++ compiler not found -- please install a compiler

1.最近用pycharm编译一个开源库,编译的依赖c compiler 2.单单使用pycharm编译,编译器报错C compiler not found – please install a compiler 3.需要在配置环境中引入对应库 4.从新编译后没有提示:C compiler not found – please install a compiler错误。...

类型别名与类型自动推导

类型别名与类型的自动推导 类型别名 为什么要引入类型别名? 为了给类型赋予特殊含义或便于使用 典型用途 (1)增强代码可移植性 例如:size_t (在不同系统中可能是unsigned int 或 unsigned long) 首先是…...

一站式直播工具:助力内容创作者高效开启直播新时代

近年来,随着互联网技术的不断进步和短视频、直播行业的爆发式增长,越来越多的企业和个人投入到直播电商、互动娱乐、在线教育等场景。直播运营过程中,涉及到数据统计、弹幕互动、流程自动化、内容同步等诸多环节。如何提升运营效率、减少人工…...

【学习笔记】Lamba表达式[匿名函数]

【学习笔记】Lamba表达式[匿名函数] Lamba表达式格式函数模板Lamba表达式例子 Lamba表达式格式 格式: [捕获列表](参数列表) -> 返回类型 { 函数体 }1、捕获列表:指定如何访问外部变量(如 [&x] 引用捕获,[x] 值捕获&#…...

学习笔记(26):线性代数-张量的降维求和,简单示例

学习笔记(26):线性代数-张量的降维求和,简单示例 1.先理解 “轴(Axis)” 的含义 张量的 “轴” 可以理解为 维度的方向索引 。对于形状为 (2, 3, 4) 的张量,3 个轴的含义是: 轴 0(axis0&…...

以智能管理为基础,楼宇自控打造建筑碳中和新路径

在全球气候变化的严峻形势下,“碳中和”已成为各国发展的重要战略目标。建筑行业作为能源消耗与碳排放的“大户”,其运行阶段的能耗占全社会总能耗近40%,碳排放占比与之相当,实现建筑碳中和迫在眉睫。传统建筑管理模式下&#xff…...

81 实战一:给root目录扩容

添加一块100G硬盘 vgextend centos /dev/sdb1 /dev/sdc lvextend -L +120G /dev/centos/root xfs_growfs /dev/centos/root df -h 看是否扩容成功 82 实战二:给swap空间扩容 添加一块20G硬盘 fdisk -l 可以看到新添加的硬盘 vgextend centos /dev/sdd …...

1130 - Host ‘xxx.x.xx.xxx‘is not allowed to connect to this MySQL server

以下为本次问题的解决办法: 1、暂停mysql容器: docker stop mysql 2、删除mysql容器:docker rm mysql 3、查看mysql容器是否被删除:docker ps -a #没有mysql容器就是删除成功 4、run mysql容器: docker run -d --…...

HttpURLConnection实现

我有一个接口 http://ip:port/Others/airportnew/,采用post方法调用,采用body方式传值,其body内容为{"data": {"data": {"image": ""}} },现在我需要在java中调用这个接口,帮…...

day029-Shell自动化编程-计算与while循环

文章目录 1. read 交互式初始化变量1.1 案例-安装不同的软件1.2 案例-比较大小 2. 计算2.1 bc2.2 awk2.3 expr2.4 let2.5 案例-计算内存的空闲率2.6 案例-检查域名过期时间和https整数过期时间 3. 循环3.1 循环控制语句3.2 for循环-c语言格式3.3 while循环3.3.1 案例-猜数字3.3…...

Linux命令基础(2)

su和exit命令 可以通过su命令切换到root账户 语法:su [-] 用户名 -符号是可选的,表示是否在切换用户后加载环境变量,建议带上 参数:用户名,表示要切换的用户,用户名可以省略,省略表示切换到ro…...

vue3 + vite实现动态路由,并进行vuex持久化设计

在后台管理系统中,如何根据后端返回的接口,来动态的设计路由呢,今天一片文章带你们解 1、在vuex中设置一个方法 拿到完整的路由数据 const state {routerList: []}; const mutations { dynameicMenu(state, payload) {// 第一步 通过glob…...

ThingsCloud事物云平台搭建-微信小程序

ThingsCloud云平台与微信小程序设计 本文主要是介绍ThingsCloud云平台的搭建及微信小程序与app的使用。 当前文章是作为一个通用案例,介绍如何快速使用 ThingsCloud云平台 以及 利用 ThingsCloud云平台平台的框架快速设计手机APP和微信小程序。 可以快速让硬件接入,实现硬件…...

为什么 uni-app 开发的 App 没有明显出现屏幕适配问题Flutter 开发的 App 出现了屏幕适配问题

🧩 一、为什么 uni-app 开发的 App 没有明显出现屏幕适配问题? ✅ 1. uni-app 是基于 H5 的运行环境(或类 H5) uni-app 默认使用的是 H5 的渲染引擎(如 WebView 或小程序渲染引擎)。在 H5 中,…...

学习路之php--性能优化

一、php周边优化 二、代码级优化 变量管理‌ 及时unset()释放大数组/对象,减少内存占用局部变量访问速度比全局变量快约2倍,优先使用局部变量大数组采用引用传递(&$var)避免内存 循环优化‌ 预计算循环次数: …...

GC1808:高性能24位立体声音频ADC芯片解析

1. 芯片简介 GC1808 是一款24位立体声音频模数转换器(ADC),支持96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于家庭影院、蓝牙音箱等场景。 核心特性 高精度:24位分辨率,…...