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 查看实时日志

© 著作权归作者所有

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端面试五之vue2基础

1.属性绑定v-bind(:) v-bind 是 Vue 2 中用于动态绑定属性的核心指令,它支持多种语法和用法,能够灵活地绑定 DOM 属性、组件 prop,甚至动态属性名。通过 v-bind,可以实现数据与视图之间的高效同…

408第一季 - 数据结构 - 栈与队列

栈 闲聊 栈是一个线性表 栈的特点是后进先出 然后是一个公式 比如123要入栈,一共有5种排列组合的出栈 栈的数组实现 这里有两种情况,,一个是有下标为-1的,一个没有 代码不用看,真题不会考 栈的链式存储结构 L ->…

Linux(14)——库的制作与原理

库制作与原理技术文章大纲 库的基本概念与分类 定义:库(Library)在编程中的核心作用与意义分类:静态库(Static Library)、动态库(Dynamic Library)的差异与应用场景常见示例&#…

2025政务服务便民热线创新发展会议顺利召开,张晨博士受邀分享

5月28日,由新华社中国经济信息社、新华社广东分社联合主办的2025政务服务便民热线创新发展暨“人工智能热线”会议在广州举行。会议围绕“人工智能与新质热线”主题,邀请全国的12345政务服务便民热线主管部门负责人、省市热线负责人和专家学者&#xff0…

AI驱动的B端页面革命:智能布局、数据洞察的底层技术解析

摘要 ** 当企业 B 端系统的页面还在依赖设计师反复调整布局,靠人工熬夜分析数据时,竞争对手已借助 AI 实现页面的自动优化与智能决策。为何有的 B 端系统界面混乱,操作繁琐,而 AI 赋能的页面却能精准适配用户需求,秒…

大故障:阿里云核心域名爆炸了

大故障:阿里云核心域名被拖走了 今天早上许多群里出现网站故障的讨论,比如 cnblogs 全国访问一片红,一看原来是阿里云又出故障了。 今天早上许多群里出现网站故障的讨论,比如 cnblogs 全国访问一片红,一看原来是阿里云…

第1讲、包管理和环境管理工具Conda 全面介绍

1. Conda 的背景与核心概念 1.1 什么是 Conda? Conda 是一个开源的、跨平台的、语言无关的包管理和环境管理系统。它最初由 Anaconda 公司开发,旨在解决 Python 数据科学家面临的包管理挑战,但现在已经发展成为一个适用于多种编程语言的通用…

第4天:RNN应用(心脏病预测)

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目标 具体实现 (一)环境 语言环境:Python 3.10 编 译 器: PyCharm 框 架: Pytorch (二)具体步骤…

STM32学习笔记:外部中断(EXTI)原理与应用详解

前言 在嵌入式系统开发中,中断机制是提高系统实时性和效率的重要手段。相比传统的51单片机,STM32微控制器提供了更为丰富和灵活的外部中断资源。本文将全面介绍STM32的外部中断(EXTI)功能,包括其工作原理、配置方法和实际应用技巧。 一、外…

嵌入式知识篇---Zigbee串口

在 Python 中,serial和pyserial是经常被提及的两个库,它们在串口通信方面有着紧密的联系,但又存在一些差异。下面将对它们进行详细介绍,并给出各自的适用场景。 1. 基本概念 pyserial:它是 Python 里专门用于串口通信…

vue中的派发事件与广播事件,及广播事件应用于哪些场景和一个表单验证例子

在 Vue 2.X 中,$dispatch 和 $broadcast 方法已经被废弃。官方认为基于组件树结构的事件流方式难以理解,并且在组件结构扩展时容易变得脆弱。因此,Vue 2.X 推荐使用其他方式来实现组件间的通信,例如通过 $emit 和 $on 方法&#x…

阿里云事件总线 EventBridge 正式商业化,构建智能化时代的企业级云上事件枢纽

作者:肯梦、稚柳 产品演进历程:在技术浪潮中的成长之路 早在 2018 年,Gartner 评估报告便将事件驱动模型(Event-Driven Model)列为十大战略技术趋势之一,指出事件驱动架构(EDA,Eve…

《前端面试题:BFC(块级格式化上下文)》

前端BFC完全指南:布局魔法与面试必备 🎋 端午安康! 各位前端探险家,端午节快乐!🥮 愿你的代码如龙舟竞渡般乘风破浪,样式如香糯粽子般完美包裹!今天我们来解锁CSS中的布局魔法——B…

dvwa10——XSS(DOM)

XSS攻击: DOM型XSS 只在浏览器前端攻击触发:修改url片段代码不存储 反射型XSS 经过服务器攻击触发:可能通过提交恶意表单,连接触发代码不存储 存储型XSS 经由服务器攻击触发:可能通过提交恶意表单,连…

跨平台资源下载工具:res-downloader 的使用体验

一款基于 Go Wails 的跨平台资源下载工具,简洁易用,支持多种资源嗅探与下载。res-downloader 一款开源免费的下载软件(开源无毒、放心使用)!支持Win10、Win11、Mac系统.支持视频、音频、图片、m3u8等网络资源下载.支持视频号、小程序、抖音、…

AOSP CachedAppOptimizer中的冻结和内存压缩功能

AOSP CachedAppOptimizer:应用进程长期处于 Cached 状态的内存压缩和冻结优化管控 冻结和内存压缩两个功能独立触发,可以单独触发也可以组合触发,默认顺序:先压缩,后冻结 public class OomAdjuster { protected b…

相机--相机成像原理和基础概念

教程 成像原理 基础概念 焦距(物理焦距) 镜头的光学中心到感光元件之间的距离,用f表示,单位:mm;。 像素焦距 相机内参矩阵中的 fx​ 和 fy​ 是将物理焦距转换到像素坐标系的产物,可能不同。…

Vue3项目实现WPS文件预览和内容回填功能

技术方案背景:根据项目需要,要实现在线查看、在线编辑文档,并且进行内容的快速回填,根据这一项目背景,最终采用WPS的API来实现,接下来我们一起来实现项目功能。 1.首先需要先准备好测试使用的文档&#xf…

汇编语言学习(三)——DoxBox中debug的使用

目录 一、安装DoxBox,并下载汇编工具(MASM文件) 二、debug是什么 三、debug中的命令 一、安装DoxBox,并下载汇编工具(MASM文件) 链接: https://pan.baidu.com/s/1IbyJj-JIkl_oMOJmkKiaGQ?pw…

关于DDOS

DDOS是一门没什么技术含量的东西,其本质而言是通过大量数据报文,发送到目标受害主机IP地址上,导致目标主机无法继续服务(俗称:拒绝服务) DDOS灰产人期望达成的预期目标,几乎都是只要把对面打到 …