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

使用open-webui+deepseek构建本地AI知识库

本文主要研究一下如何使用OpenWebUI+deepseek构建本地AI知识库

步骤

拉取open-webui镜像

docker pull ghcr.io/open-webui/open-webui:main

docker启动

docker run -d -p 3000:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
ghcr.io/open-webui/open-webui:main

执行完之后等一会(大概要三四分钟)启动起来了访问http://localhost:3000/,注册管理员账号,注册完要等一会(估计要七八分钟)页面才出来
可以-v ./open-webui-data:/app/backend/data来挂载数据

看日志是有报错

ERROR [open_webui.routers.openai] Connection error: Cannot connect to host api.openai.com:443 ssl:default [Connect call failed ('108.160.165.173', 443)]
ERROR [open_webui.routers.openai] Connection error: Cannot connect to host api.openai.com:443 ssl:default [Connect call failed ('108.160.165.173', 443)]
ERROR [open_webui.routers.openai] Connection error: Cannot connect to host api.openai.com:443 ssl:default [Connect call failed ('108.160.165.173', 443)]
ERROR [open_webui.routers.openai] Connection error: Cannot connect to host api.openai.com:443 ssl:default [Connect call failed ('108.160.165.173', 443)]
INFO  [open_webui.routers.ollama] get_all_models()
INFO  [open_webui.routers.ollama] get_all_models()
INFO  [open_webui.routers.ollama] get_all_models()
INFO  [open_webui.routers.ollama] get_all_models()

登录之后,设置 --> 管理员设置 --> 外部链接,禁用掉OpenAI API,记得保存

开启联网搜索

在设置 --> 管理员设置 --> 联网搜索 --> 启用,然后下拉选择,这里选择tavily,可以去https://app.tavily.com/注册然后获取api key,最后点击保存就可以了

在这里插入图片描述

示例:今天日期是多少,看open-webui输出

INFO  [open_webui.routers.retrieval] save_docs_to_vector_db: document 在线时钟:当前时间, 世界时钟 :: 美国 (United States) - 当前时间, 今天日期, 今天的日期 🇨🇳, 现在北京时间 在线标准北京时间校对 web-search-d8b3e7117d85062f511572e3004ad60997448e8ed9e9b7e3bac5
INFO  [open_webui.routers.retrieval] adding to collection web-search-d8b3e7117d85062f511572e3004ad60997448e8ed9e9b7e3bac5
/pytorch/third_party/ideep/mkl-dnn/src/cpu/aarch64/xbyak_aarch64/src/util_impl_linux.h, 451: Can't read MIDR_EL1 sysfs entry
INFO  [open_webui.retrieval.utils] query_doc:result [['7ee3e76c-7804-4eb7-8dbb-7ca27b0a54ca', 'ef5b7e5c-8a7e-4220-800e-9390e9808034', '97e23c2b-43f7-457a-a086-8b264acb90e8']] [[{'description': '世界时间 - 美国 (United States) - 现在世界各地是什么时间?', 'embedding_config': '{"engine": "", "model": "sentence-transformers/all-MiniLM-L6-v2"}', 'language': 'zh', 'source': 'https://24timezones.com/美国/时间', 'start_index': 3508, 'title': '世界时钟 :: 美国 (United States) - 当前时间'}, {'description': '根據您所在的位置找出今天是什麼日期。了解格式為 mm-dd-yyyy 的確切數字日期。', 'embedding_config': '{"engine": "", "model": "sentence-transformers/all-MiniLM-L6-v2"}', 'language': 'zh', 'source': 'https://thetimecalculator.org/zh/today-date', 'start_index': 1773, 'title': '今天日期'}, {'description': '世界时间 - 美国 (United States) - 现在世界各地是什么时间?', 'embedding_config': '{"engine": "", "model": "sentence-transformers/all-MiniLM-L6-v2"}', 'language': 'zh', 'source': 'https://24timezones.com/美国/时间', 'start_index': 2775, 'title': '世界时钟 :: 美国 (United States) - 当前时间'}]]

结果如下:
根据上下文中的信息,今天的日期是 星期一, 二月 17, 2025 [source_id=1]。
在这里插入图片描述

知识库管理

  • 设置 --> 管理员设置 --> 文档 --> 语义向量模型引擎 改为ollama, 语义向量模型改为bge-m3:latest
  • 工作空间 --> 知识库,点击+号上传文档
  • 使用时需要在聊天框通过#来指定知识库
  • 设置 --> 管理员设置 --> 数据库 --> 下载数据库,可以导出sqlite数据

小结

整体体验是docker部署起来,页面展示有点慢,联网搜索一开始选择serply不生效,换成tavily可以生效,但是国内的搜索引擎还不支持。对于知识库方面,可以上传文档和目录,聊天窗口可以指定使用哪个知识库,也可以同时开启联网搜索,整体效果还可以,可以同时引用知识库和搜索引擎的检索结果,看日志还会保存到向量数据库(save_docs_to_vector_db)。

doc

  • openwebui
  • quick-start-with-docker

相关文章:

使用open-webui+deepseek构建本地AI知识库

序 本文主要研究一下如何使用OpenWebUIdeepseek构建本地AI知识库 步骤 拉取open-webui镜像 docker pull ghcr.io/open-webui/open-webui:maindocker启动 docker run -d -p 3000:8080 \ -e OLLAMA_BASE_URLhttp://host.docker.internal:11434 \ ghcr.io/open-webui/open-we…...

CSS盒模

CSS盒模型就像一个快递包裹,网页上的每个元素都可以看成是这样一个包裹,它主要由以下几个部分组成: 内容(content):就像包裹里真正装的东西,比如文字、图片等。在CSS里,可用width&a…...

【开源向量数据库】Milvus简介

Milvus 是一个开源、高性能、可扩展的向量数据库,专门用于存储和检索高维向量数据。它支持近似最近邻搜索(ANN),适用于图像检索、自然语言处理(NLP)、推荐系统、异常检测等 AI 应用场景。 官网&#xff1a…...

机器学习笔记——常用损失函数

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本笔记介绍机器学习中常见的损失函数和代价函数,各函数的使用场景。 热门专栏 机器学习 机器学习笔记合集 深度学习 深度学习笔记合集 文章目录 热门…...

Nginx--日志(介绍、配置、日志轮转)

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、Nginx日志介绍 nginx 有一个非常灵活的日志记录模式,每个级别的配置可以有各自独立的访问日志, 所需日志模块 ngx_http_log_module 的…...

2025 vue3面试题汇总,通俗易懂

一、基础概念与核心特性 1. Vue3 相比 Vue2 的改进(通俗版) 问题:Vue3 比 Vue2 好在哪? 答案: 更快: Proxy 代理:Vue2 的响应式像“逐个监听保险箱”(每个属性单独监听&#xff0…...

一周学会Flask3 Python Web开发-Debug模式开启

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 默认情况,项目开发是普通模式,也就是你修改了代码,必须重启项目,新代码才生效&…...

聚焦于机器人研究,提出 FuSe 方法,通过语言锚定对通用机器人策略进行微调 视觉、触觉、听觉

聚焦于机器人研究,提出 FuSe 方法,通过语言锚定对通用机器人策略进行微调,利用多模态传感器提升性能,在多种任务中表现优异,具备跨模态推理能力。 研究背景:与世界交互需多感官协作,当前先进通用机器人策略多依赖视觉和本体感受数据训练,忽略其他模态信息。方法:FuSe …...

C++ 无锁队列:原理与实现

引言 在多线程编程中,队列是一种常用的数据结构。传统的队列在多线程环境下访问时,通常需要使用锁机制来保证数据的一致性和线程安全。然而,锁的使用会带来性能开销,尤其是在高并发场景下,频繁的加锁和解锁操作可能成…...

web的分离不分离:前后端分离与不分离全面分析

让我们一起走向未来 🎓作者简介:全栈领域优质创作者 🌐个人主页:百锦再新空间代码工作室 📞工作室:新空间代码工作室(提供各种软件服务) 💌个人邮箱:[1504566…...

MobileSal:极其高效的RGB-D显著性物体检测模型

摘要 问题一:什么叫做MobileSal? MobileSal 是指一种用于移动设备上的显著性检测(Saliency Detection)方法,通常是针对在资源受限的环境(如智能手机)上运行的视觉模型。 问题二:什…...

【个人总结】1. 开发基础 工作三年的嵌入式常见知识点梳理及开发技术要点(欢迎指正、补充)

【个人总结】1. 开发基础 工作三年的嵌入式常见知识点梳理及开发技术要点(欢迎指正、补充) 工作快三年以来 分别进行了嵌入式MCU及外设开发、RTOS、传感器、文件系统及USB、Linux、GUI、通讯协议、毫米波雷达、少量的DSP和物联网开发。 特此总结&#x…...

硬核技术组合!用 DeepSeek R1、Ollama、Docker、RAGFlow 打造专属本地知识库

文章目录 一、引言二、安装Ollama部署DeepSeekR1三、安装Docker四、安装使用RAGFlow4.1 系统架构4.2 部署流程4.3 使用RAGFlow4.4 在RAGFlow中新增模型4.5 创建知识库4.6 创建私人助理使用RGA 一、引言 本地部署DeepSeek R1 Ollama RAGFlow构建个人知识库,通过将…...

MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】

1.打开MySQL的官网,选择下载(Download) MySQL[这里是图片001]https://www.mysql.com/cn/ 2.往下划点击MySQL Community(GPL)Downloads 3.要下载MySQL的jar包的选择Connector/J 4.进入后,根据自己的需求选择相应的版本 5.下载完成后,进行解压…...

idea 2019.3常用插件

idea 2019.3常用插件 文档 idea 2019.3常用插件idea 2023.3.7常用插件 idea 2019.3常用插件 插件名称插件版本说明1AceJump3.5.9AceJump允许您快速将插入符号导航到编辑器中可见的任何位置。只需按“ctrl;”,键入一个字符,然后在Ace Jump…...

对CSS了解哪些?

CSS(Cascading Style Sheets,层叠样式表)是用来描述HTML文档外观和布局的语言。以下是对CSS的常见了解范围: 1. CSS 基础 选择器:如通用选择器 (*)、类型选择器、类选择器 (.class)、ID选择器 (#id)、后代选择器、伪类…...

TikTok账户安全指南:如何取消两步验证?

TikTok账户安全指南:如何取消两步验证? 在这个数字化的时代,保护我们的在线账户安全变得尤为重要。TikTok,作为全球流行的社交媒体平台,其账户安全更是不容忽视。两步验证作为一种增强账户安全性的措施,虽…...

从零到一:构建现代 React 应用的完整指南

1. create-react-app (CRA) 简介: create-react-app 是官方推荐的 React 项目脚手架工具,提供了一个开箱即用的开发环境,帮助开发者快速启动 React 应用。它会自动配置 Webpack、Babel、ESLint 等工具,让你专注于开发而不需要手动配置工具链。 特点: 零配置:CRA 自动配…...

【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍

【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取&#xff…...

机器学习数学基础:28.卡方检验

卡方检验教程 一、引言 在统计学的广阔领域中,卡方检验(Chi - Square Test)宛如一把锐利的手术刀,能够精准剖析数据背后隐藏的关系与模式。它主要用于两大核心任务:一是深入分析两个及两个以上分类变量之间错综复杂的…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

Rapidio门铃消息FIFO溢出机制

关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...