type
status
date
slug
summary
tags
category
icon
password
DIFY在国内网络环境或企业内网中,直接访问 Tavily、Google 或 DuckDuckGo 往往受限或不稳定。
为了解决这个问题,我们需要为 Dify 换一个“国内特供版”或“可自托管”的搜索引擎插件。
这里介绍一个可本地部署的最佳解决方案:SearXNG
 

1 SearXNG 简介

SearXNG 是一个免费、开源的“元搜索引擎”。它自己不爬取网页,而是去请求百度、必应、搜狗等引擎,然后把结果汇总给你。其优点在于:
  • 完全本地部署(Docker),数据掌握在自己手里。
  • 可以配置只使用百度、必应 (Bing)、搜狗等国内可访问的引擎。
  • Dify 原生支持,集成非常简单。

2 部署 SearXNG

本地可使用Docker进行一键式部署。

2.1 清理旧容器

清理可能安装过的相同容器,若之前没有安装过可以跳过此步。

2.2 创建配置文件

我们需要在服务器上创建一个 settings.yml 文件。
  • 创建一个文件夹my-searxng
    • 创建并编辑文件。
      • 复制以下内容粘贴进去。这段配置的作用:开启 JSON 输出权限,关闭频率限制,设置密钥(必须修改)。
        • 保存退出。

        2.3 创建并启动容器

        将编辑好的settings.yml文件“挂载”到容器里。在 my-searxng 目录下运行命令:
        解释-v $(pwd)/settings.yml:/etc/searxng/settings.yml 这句话的意思是,用刚才写的配置文件,覆盖容器里默认的配置文件。
        然后运行docker ps检查容器是否在运行。

        3 在Dify中配置SearXNG

        1. 在dify中安装SearXNG插件,在工具(Tools)页面搜索SearXNG并安装。
        1. 配置SearXNG:
            • 安装完成后再工具页面找到SearXNG
            • 在右侧边栏点击 “去授权”
            • 填写 Base URL 为 http://searxng:8080
            • 保存

        4 使用

        在dify编排workflow、chatflow类型应用时,插入SearXNG搜索节点:
        • 点击节点上的”+“。
        • 选择工具—>插件—>SearXNG—>SearXNG搜索,即可创建一个新的搜索节点。
        • 设置节点参数。
        在Agent应用中添加SearXNG搜索功能:
        • 在编排页面找到”工具“板块,点击”+“。
        • 选择插件—>SearXNG—>SearXNG搜索。
        • 在添加的Searxng工具上点击”信息和设置“来配置搜索参数。

        5 SEARXNG搜索引擎配置

        第二步中创建的额settings.yml文件中未对搜索引擎进行具体设置,searXNG将使用默认的引擎设置,因此实际使用时大概率会出现搜索失败或搜索结果为空的情况。因此需要根据实际情况进行搜索引擎配置。

        5.1 搜索引擎测试

        • 浏览器访问searxng的web端(http://server_ip:8082),在本机测试可用http://localhost:8082
          • notion image
        • 点击首选项(preference)—>搜索引擎(ENGINE),选择你需要的搜索引擎。
        • 返回web首页,测试搜索效果。
        • 首选项(preference)—>搜索引擎(ENGINE)中查看目标搜索引擎的响应时间、最大用时、可靠性等参数,找到效果较好的一个或几个搜索引擎。
          • notion image
            notion image

        5.2 引擎配置

        打开my-searxng/settings.yml ,将效果较好的搜索引擎添加到engines 下:
        保存后重启容器

        6 SearXNG稳定性优化

        • Redis 缓存:在 SearXNG 的 settings.yml 中开启 Redis 支持(如果支持),或者确保 SearXNG 实例有足够的内存,防止请求过快导致自身崩溃。
        • 多实例:如果数十人以上团体使用,搜索量非常大,可以部署 2-3 个 SearXNG 容器做负载均衡(Nginx 轮询),避免单点 IP 被封。

        总结

        在dify应用中searxng的最大优势在于本地部署,这可以省去第三方搜索引擎API的调用费用,但需要更多的硬件支撑,用户应考虑实际应用场景需进行部署。
        如何让自己保持一个好习惯python修改shp文件编码
        Loading...