searxng 对接openweb-UI实现大模型通过国内搜索引擎在线搜索

先看一下 qwen3-4b模型的效果

SearXNG简介:SearXNG 是一个免费的互联网元搜索引擎,它汇总了来自各种搜索服务和数据库的结果。用户既不会被跟踪,也不会被分析。

官方项目:https://github.com/searxng/searxng-docker

项目文档:https://docs.searxng.org

open-webui简介:Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 AI 平台,旨在完全离线运行。它支持各种 LLM 运行器,如 Ollama 和 OpenAI 兼容的 API,并内置了 RAG 推理引擎,使其成为强大的 AI 部署解决方案。

官方项目:https://github.com/open-webui/open-webui

项目文档:⭐ Features | Open WebUI

安装部署

open-webui的安装方法非常简单

命令行安装:

#安装
pip install open-webui
#运行
open-webui serve
#这将启动 Open WebUI 服务器,您可以在 http://localhost:8080

open-webui的使用可以参考项目文档

docker安装:

docker run -d -p 3000:8080  -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如何与模型对接也可以参考我的其它文档: 快速搭建大模型web对话环境指南(open-webUI)_大模型 webui 框架-CSDN博客

本次文档主要介绍searxng安装与使用

searxng 安装是支持 k8s 部署 docker compose部署 与命令行脚本安装或手动安装

本人都体验了一下

k8s是通过helm安装的,项目地址: https://github.com/searxng/searxng-helm-chart 该项目更新貌似不积极,而且也不是装好就能用也需要调整,适合k8s能力强者部署

命令行手动与脚本安装 需要提前准备好centos9 或ubuntu22以及以上的系统 python3.10以上环境才能安装成功,也需要自己配置nginx代理 自己配置开机自启动,而且容易很多报错,适合动手动能力强体验一下 参考官方文档:Installation Script — SearXNG Documentation (2025.7.9+2fe854090)

本次文档介绍docker compose安装 简单方便

官方配置:https://github.com/searxng/searxng-docker/blob/master/docker-compose.yaml

(文档建立在默认配置好docker环境的服务器中,并有能力拉取dockerhub镜像仓库)

进入searxng-docker项目目录后 修改docker-compose.yaml 文件配置

本次配置做了一些修改:

删除了caddy相关配置,这是一个类似nginx的反向代理服务,这个一般企业内安装是不需要的,根据个人所需决定是否安装

version: "3.7"services:redis:container_name: redisimage: docker.io/valkey/valkey:8-alpinecommand: valkey-server --save 30 1 --loglevel warningrestart: unless-stoppednetworks:- searxngvolumes:- valkey-data2:/datalogging:driver: "json-file"options:max-size: "1m"max-file: "1"searxng:container_name: searxngimage: searxng/searxng:latestrestart: unless-stoppednetworks:- searxngports:- "0.0.0.0:8080:8080"volumes:- engines-file:/usr/local/searxng/searx/engines  #这里将搜引擎目录持久化出来 是因为searxng docker镜像默是缺失国内搜索引擎的配置的- ./searxng:/etc/searxng:rwenvironment:- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/- UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}- UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}- SEARXNG_SETTINGS_PATH=/etc/searxng/settings.ymllogging:driver: "json-file"options:max-size: "1m"max-file: "1"networks:searxng:#卷持久化路径需要配置一下 不了解可以问一下ai都是什么意思
volumes:valkey-data2:driver: localdriver_opts:type: noneo: binddevice: /data/searxng-docker/redis/valkey engines-file:driver: localdriver_opts:type: noneo: binddevice: /data/searxng-docker/engines-file

修改配置文件searxng-docker/searxng/settings.yml (这是一次正确配置 大家可以参考)

# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings
use_default_settings: true
server:# base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.ymlsecret_key: "34788b49b8f9d819cfcb09da447b0d8586c63ad1acd469a1e446"    #这个可以复用 也可以自己生成limiter: falseimage_proxy: true
ui:static_use_hash: true
redis:url: redis://redis:6379/0
search:formats:- html- json   ##开启json模式 方便被llm调用engines:
# 启用默认禁用的国内引擎- name: baiducategories:- web- news- generalengine: baidushortcut: bdtimeout: 9.0disabled: false- name: 360searchcategories:- web- news- generalengine: 360searchshortcut: 360sotimeout: 9.0disabled: false# 禁用默认启用的外国搜索引擎- name: archlinuxwikiengine: archlinuxdisabled: true- name: duckduckgoengine: duckduckgodistabled: true- name: githubengine: githubshortcut: ghdisabled: true- name: wikipediaengine: wikipediadisabled: true- name: wikidataengine: wikidatadisabled: true- name: googleengine: googledisabled: true- name: youtubeengine: youtube_noapidisabled: true- name: duckduckgoengine: duckduckgodisabled: true- name: qwantengine: qwantdisabled: true- name: braveengine: bravedisabled: true- name: startpageengine: startpagedisabled: true- name: currencyengine: currencydisabled: true

这里重点说一下 searxng/searxng:latest 这个镜像 是没有自带国内搜索引擎的,看网上很多人并不需要特殊配置就可以用国内引擎,我是存疑的

会报错

Errno 2] No such file or directory: '/usr/local/searxng/searx/engines/baidu.py

这也是为什么我将engines-file:/usr/local/searxng/searx/engines 持久化到/data/searxng-docker/engines-file

尝试第一次启动:

docker compose up -d

之后访问该机器8080端口 可以看到如下页面:

配置默认国内搜索引擎

点击首选项

查看搜索引擎

确认是否有国内的搜索引擎

如果没有就需要将 国内的引擎配置文件导入 (另外 上图首选项的哪些配置只保存在客户端的cookie中,并不是全局生效的)

导入步骤如下:

打开项目:https://github.com/searxng/searxng-docker/tree/master/searxng

找到引擎文件 并下载

将下载好的引擎导入到容器持久化目录/data/searxng-docker/engines-file

重启容器:

docker compose stop
docker compose up -d

再次确认国内引擎是否可以选中

确认搜索内容 引擎加载正常

之后打开open-webui 设置-管理员设置-联网搜索-searxng查询URL

http://<IP地址或域名>:8080/search?q=<query>

之后测试对话:

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

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

相关文章

巨人网络持续加强AI工业化管线,Lovart国内版有望协同互补

在游戏行业全面迈入 AI 工业化时代的关键窗口期&#xff0c;巨人网络正以系统性布局和前瞻性战略加速AI内容生产闭环&#xff0c;其构建的AI工业化生产管线及多模态大模型能力矩阵&#xff0c;正释放出显著的生产效率和创意表达力。公司内部数据显示&#xff0c;自研AI代码生成…

TypeScript---class类型

一.简介 TypeScript 完全支持 ES2015 中引入的 class 关键字。 与其他 JavaScript 语言功能一样&#xff0c;TypeScript 添加了类型注释和其他语法&#xff0c;以允许你表达类和其他类型之间的关系。 1.字段 (1).在申明时同时给出类型 class Person {name: string;age: nu…

vue3中实现echarts打印功能

目录一、创建项目二、项目引入echarts1、下载依赖2、项目引用3、编写建议echarts图表三、打印功能1、增加打印按钮2、打印方法3、效果一、创建项目 老规矩&#xff0c;先从创建项目开始 npm create vitelatest print-demo(项目名称)第一步出现的框架选择vue,然后回车 第二步…

今日行情明日机会——20250711

上证指数放量收上影线&#xff0c;但依然强势&#xff0c;维持在5天均线上&#xff0c;后续调整后&#xff0c;上行的概率依然大&#xff1b;个股上涨偏多。深证指数缓慢上涨&#xff0c;已经突破下跌趋势线&#xff0c;目前依旧沿着5日线上行&#xff0c;后市依然值得期待。20…

「日拱一码」024 机器学习——防止过拟合

目录 数据层面 数据增强 数据正则化 ​数据采样 模型结构层面 简化模型 添加正则化层 早停法&#xff08;Early Stopping&#xff09; 训练过程层面 使用交叉验证 使用集成学习 调整学习率 防止过拟合是机器学习中一个非常重要的问题&#xff0c;它可以帮助模型在新…

持有对象-泛型和类型安全的容器

我们需要管理一批对象序列&#xff0c;但是又对实际运行的时候的对象类型和对象序列长度不确定的时候&#xff0c;用简单的对象引用无法满足&#xff0c;java有ArrayList,Map,Set等这些容器类提供&#xff0c;这些都实现了Collections接口&#xff0c;所以都属于Collections类。…

《财税企业经营管理秘籍(一):行业适配的获客方式》

在财税服务这片竞争激烈的红海中&#xff0c;客户资源如同氧气——没有它&#xff0c;企业寸步难行。然而残酷的现实是&#xff0c;许多财税企业正深陷“获客泥潭”&#xff1a;投入巨大精力与成本&#xff0c;换来的却是转化渺茫、增长停滞的困境。高质量线索&#xff0c;已成…

使用tensorflow的多项式回归的例子(一)

多项式回归例1%matplotlib inlineimport tensorflow as tfimport numpy as npimport matplotlib.pyplot as plttrX np.linspace(-1, 1, 101)num_coeffs 6trY_coeffs [1, 2, 3, 4, 5, 6]trY 0for i in range(num_coeffs):trY trY_coeffs[i] * np.power(trX, i)trY np.rand…

STM32F103C8T6基于HAL库驱动NB-IoT模块BC26通信详 解

一、引言&#xff1a; NB-IoT技术与应用场景NB-IoT&#xff08; Narrow Band Internet of Things &#xff09;作为低功耗广域网&#xff08; LPWAN &#xff09;的核心技术&#xff0c;以其广覆 盖、低功耗、大连接、低成本的特性&#xff0c;广泛应用于智能表计、环境监测、…

iOS 性能测试工具全流程:主流工具实战对比与适用场景

在iOS开发中&#xff0c;性能优化往往被安排到开发后期&#xff0c;甚至上线前才临时补救。但性能瓶颈通常是架构设计、资源加载、动画机制等多方面共同作用的结果&#xff0c;仅凭肉眼感知和log输出&#xff0c;难以精准定位。 一套合适的性能测试工具组合&#xff0c;不仅能帮…

目标检测:视觉系统中的CNN-Transformer融合网络

一、背景 无人机&#xff08;UAVs&#xff09;在城市自动巡逻中发挥着重要作用&#xff0c;但它们在图像识别方面面临挑战&#xff0c;尤其是小目标检测和目标遮挡问题。此外&#xff0c;无人机的高速飞行要求检测系统具备实时处理能力。 为解决这些问题&#xff0c;我们提出了…

揭示宇宙的隐藏对称性:群论-AI云计算拓展核心内容

通过利用云计算&#xff0c;借助群论对宇宙对称性的探索&#xff0c;从离散群和李群等基础概念&#xff0c;逐步深入到量子力学和更高自旋系统中的高级应用。 对称性远不止是美学上的吸引力&#xff1b;它是编织在宇宙结构中的一个基本原则。从雪花的复杂图案到控制粒子的基本定…

前端项目vue3项目集成eslint@9.x跟prettier

tips: 这些涉及编辑器的修改不一定能及时生效&#xff0c;如果没有生效&#xff0c;可以试试重启编辑器窗口 编辑器集成 我的编辑器是vscode&#xff0c;需要安装这两个编辑器插件eslint prettier我这个配置主要是通过eslint提供的配置cli命令生成&#xff0c;在里面加入了对pr…

登录超时问题的排查方法与预防经验分享

​​一、排查方法​​​​检查网络连接​​确保网络稳定&#xff0c;尝试重启路由器或切换网络&#xff08;如从WiFi切换到移动数据&#xff09;。使用命令&#xff08;如 ping 或 traceroute&#xff09;测试网络连通性&#xff0c;排查是否存在丢包或高延迟。​​验证服务端状…

uniapp,Anroid10+版本如何保存图片并删除

Android 10系统开始 进一步增强了平台功能&#xff0c;为外部存储设备上的应用和用户数据提供了更好的保护。作为这项工作的一部分&#xff0c;平台引入了进一步的改进&#xff0c;以简化向分区存储的转换。 为了让用户更好地控制自己的文件&#xff0c;保护用户隐私数据&#…

Jenkins Pipeline 语法

Pipeline 简介 Jenkins2.x 的核心是使用 pipeline 来构建项目,也就是流水线,将 Jenkins1.0 版本中基于表单的配置信息比如 JDK/SVN 以及参数的配置都转变成了代码,即 pipeline as Code。 传统的表单方式有以下缺点: 需要大量的 web 表单交互,有时候需要进行很多次的切换…

搭建渗透测试环境

一、基于docker搭建靶场 #此步骤需要科学上网 #从软件源中下载 docker.io 和 docker -compose 软件包及其依赖项。 sudo apt-get install docker.io docker-compose #查看docker版本 docker -v #查看docker信息 docker info #重启docker服务 sudo systemctl daemon-reload sudo…

(一)OpenCV——噪声去除(降噪)

高斯滤波器&#xff08;针对高斯噪声&#xff09; 高斯噪声是指它的概率密度函数服从高斯分布&#xff08;即正态分布&#xff09;的一类噪声。常见的高斯噪声包括起伏噪声、宇宙噪声、热噪声和散粒噪声等等。 高斯滤波(Gaussian filter) 包含许多种&#xff0c;包括低通、带…

百度开源文心 4.5 系列开源大模型 GitCode 本地化部署,硅基流动:文心 vs. DeepSeek vs. Qwen 3.0 深度测评

百度开源文心 4.5 系列开源大模型 GitCode 本地化部署&#xff0c;硅基流动&#xff1a;文心 vs. DeepSeek vs. Qwen 3.0 深度测评 文章目录百度开源文心 4.5 系列开源大模型 GitCode 本地化部署&#xff0c;硅基流动&#xff1a;文心 vs. DeepSeek vs. Qwen 3.0 深度测评背景百…

「日拱一码」022 机器学习——数据划分

目录 基于单次随机划分的方法 普通单次随机划分&#xff08;train_test_split&#xff09; 分层单次随机划分(使用 train_test_split 的 stratify 参数) 基于多次随机划分的方法 普通多次随机划分(ShuffleSplit) 分层多次随机划分&#xff08;StratifiedShuffleSplit…