open-webui使用searXNG插件连接自定义的联网搜索服务程序

项目背景

因为国内无法访问内置的一些免费搜索插件,安装完searXNG本地服务端后根据教程中连接始终无法连接,docker方案国内也无法使用的情况下,本地使用python写一个Flask服务程序使用爬虫技术提供联网搜索数据。

下面是实现代码 V1

#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2025 - 2025  
# @Title   : 这是一个模拟searXNG服务器的程序实现本地搜索
# @Time    : 2025/2/18 下午3:50
# @Author  : Chinayeren
# @File    : search-api.py
# @IDE     : PyCharm
import requests
import random
import json
from bs4 import BeautifulSoup
from baidusearch.baidusearch import search as b_search
from urllib.parse import urlparse
from flask import Flask, request, jsonify


def is_valid_url(url):
    """检查URL是否是符合标准的完整URL"""
    parsed_url = urlparse(url)
    return parsed_url.scheme in ['http', 'https'] and parsed_url.netloc


def search_api(keyword, num_results):
    """上网搜索"""
    search_results = b_search(keyword, num_results)
    results = []
    res_id = 0
    # 生成一个0到999的随机数
    sj_num = random.randint(0, 999)

    for extracted_result in search_results:
        res_title = extracted_result['title'].replace('\n', '')
        res_abstract = extracted_result['abstract'].replace('\n', '')
        res_url = extracted_result['url']
        use_text = False

        if is_valid_url(res_url):
            # 自增长id
            res_id = res_id + 1
            # use_text是一个是否搜索url内部数据并替换给res_abstract提供更多简介参考数据(不太准确)
            if use_text:
                try:
 
### 配置 Open-WebUI 实现联网搜索 为了实现 Open-WebUI联网搜索功能,可以按照以下方式完成配置: #### 使用 searXNG 插件 Open-WebUI 支持通过插件扩展其功能。其中,searXNG 是一种流行的开源搜索引擎解决方案,可以通过它连接自定义联网搜索服务程序[^2]。 1. **安装并运行 searXNG** - 下载 searXNG 并根据官方文档进行安装和启动。 - 确保 searXNG 正常运行于本地服务器上,默认监听端口为 `5000`。 2. **配置 Open-WebUI 连接 searXNG** - 打开 Open-WebUI 设置页面,在联网搜索部分选择引擎为 `searXNG`。 - 将查询 URL 填写为: ```plaintext http://127.0.0.1:5000/search?q=<query> ``` 3. **验证配置** - 完成上述设置后,尝试输入关键词测试联网搜索功能是否正常工作。 #### 博查集成方案 另一种方法是等待博查正式被 open-webui 官方集成完成后直接使用其内置支持[^1]。在此之前,也可以手动修改 open-webui 源码来提前启用博查的支持。具体操作如下: 1. **克隆博查 open-webui 源码** - 访问博查提供的 GitHub 地址 https://github.com/BochaAI/open-webui-Bocha 并下载源码。 2. **替换默认版本** - 替换现有的 open-webui 文件夹中的内容为博查定制版代码。 3. **按需调整配置文件** - 参考 Deepseek 满血+联网本地部署教程,确保所有依赖项正确安装,并完成必要的环境变量设定。 4. **重启应用** - 启动更新后的 open-webui 应用,此时应具备完整的博查联网搜索能力。 ```bash git clone https://github.com/BochaAI/open-webui-Bocha.git cd open-webui-Bocha npm install && npm run start ``` 以上两种途径均可达成目标,推荐优先考虑基于 searXNG 的快速实施路径,而待博查完全融入官方框架后再切换至更简便的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值