跳至主要内容

使用searxng打造私有聚合搜索引擎:免费、高效、支持API调用

 


一、简介

searxng 是一个免费的互联网搜索引擎,它具有以下特点:

  • 汇总了来自超过 70 个搜索服务的结果
  • 保护用户隐私且不追踪用户行为
  • 支持docker一键部署
  • 支持web页面访问、API接口调用
  • 免费开源,开源地址:https://github.com/searxng/searxng


二、安装

  • 新建docker-compose.yml文件,配置内容如下:

    version: '3'
    services:
      searxng:
        image: searxng/searxng:latest
        ports:
          - 8080:8080
        volumes:
          - ./searxng:/etc/searxng:rw
        restart: always
  • 一键启动

    docker-compose up -d
  • 注意,要searxng接口支持json格式,需要调整启动后自动生成searxng/settings.yml文件,然后重启

    • 修改searxng/settings.yml如下:

    • 重新启动即可生效

      docker-compose restart


三、使用示例

1. 访问web页面使用

  • 搜索使用样例

2. API接口调用

  • 提供请求接口:GET http://127.0.0.1:8080/search

  • 参数简介:

    参数名称是否必填说明
    q查询内容,例如:AI领域最新进展
    format返回格式,默认 html,支持:htmljsoncsvrss注意searxng/settings.yml文件中默认配置仅支持html,需要修改重启服务,如上。
    engines指定搜索引擎,默认综合搜索,常用值:googlebingduckduckgoqwantyahoo。更多引擎参考:SearXNG 引擎文档
    time_range按时间范围过滤结果,可选值:day(一天)、week(一周)、month(一个月)。示例:time_range=week
    categories指定搜索类别,默认 general,可选值:general(通用)、images(图片)、videos(视频)、news(新闻)
    pageno搜索结果页码,默认 1
    safesearch安全级别过滤,可选值:0(不过滤)、1(适度过滤)、2(严格过滤)
    language设置搜索结果语言,使用语言代码,例如:en(英语)、zh(中文)
    .........
  • 请求示例
    postman请求示例:

    参数结构:

    {
        "query": "AI领域最新进展",
        "number_of_results": 3320000,  //搜索到的结果数量
        "results": [ //返回结果集合,多个
            {
                "url": "https://www.aibase.com/zh/daily", //网页链接地址
                "title": "AI日报 - 每天三分钟关注AI行业趋势_AIbase", //标题
                "content": "AI日报为您提供最新的人工智能行业资讯,每天仅需三分钟,全面掌握AI技术发展、行业动态和市场趋势。 关注AI日报,紧跟未来科技步伐,获取独家分析与深度解读。", //内容
                "engine": "bing",
                "template": "default.html",
                "parsed_url": [
                    "https",
                    "www.aibase.com",
                    "/zh/daily",
                    "",
                    "",
                    ""
                ],
                "engines": [
                    "bing"
                ],
                "positions": [
                    1
                ],
                "score": 1.0,
                "category": "general"
            }
            
            //..... 此处省略多个结果 .....
        ],
        "answers": [],
        "corrections": [],
        "infoboxes": [],
        "suggestions": [],
        "unresponsive_engines": [ //有些引擎国内无法访问,有必要可以走代理解决
            [
                "duckduckgo",
                "Suspended: timeout"
            ]
        ]
    }


四、总结

  • 部署简便:通过docker一键部署,配置简单,易于上手
  • 功能完善:聚合多种搜索引擎,搜索功能强大且灵活,支持页面访问和API调用
  • 应用场景:当做自己的私人搜索助手,或者集成到AI应用中,增加AI联网功能


评论

此博客中的热门博文

电脑里的AI帮手:Open Interpreter智能助手食用指南

一、简介 interpreter是一个使用python开发的命令行工具,可以让你在终端中使用类似AI对话的方式,只需简单输入指令要求,即可自动编写程序、执行代码,实现各种自动化操作 interpreter有自动检测输出结果、自动错误修复功能,保证指令执行的可靠运行 具有权限控制与执行确认机制,确保敏感命令不会立即执行(默认开启,但可以关闭) 支持接入各种模型,操作简单,一行命令即可唤起 二、安装 确保本地安装有python、pip等环境 一键安装 pip install open -interpreter 安装完成,查看命令是否可用,运行interpreter -h输出如下: $ interpreter -h 用法: interpreter [选项] Open Interpreter(开放解释器) 选项: -h, --help 显示帮助信息并退出 -p PROFILE, --profile PROFILE 配置文件名。运行` --profiles`可打开配置目录 -ci CUSTOM_INSTRUCTIONS, --custom_instructions CUSTOM_INSTRUCTIONS 语言模型的自定义指令。会追加到系统消息中 -sm SYSTEM_MESSAGE, --system_message SYSTEM_MESSAGE (不建议修改)语言模型的基础提示词 -y, --auto_run 自动运行生成的代码 -nhl, --no_highlight_active_line 关闭代码块中当前行的语法高亮 -v, --verbose 打印详细日志 -m MODEL, --model MODEL 使用的语言模型 -t TEMPERATURE, --temperature TEMPERATURE 语言模型的可选温度参数 -lsv, --llm_supports_v...

认识python全栈框架reflex:快速打造工具类网站、模型调用web应用

  一、简介 纯Python编写的,高性能、可自定义的 Web 应用开发框架 网页开发内置组件生态完整,灵活使用、快速接入、快速部署 支持路由页面,可以开发复杂系统、企业级系统,这方面优于gradio、streamlit等全栈框架 开源地址: https://github.com/reflex-dev/reflex ,官网地址: https://reflex.dev 二、基础安装使用 提前准备好Python 3.10+软件环境(不做赘述) 使用pip安装reflex 复制 pip install reflex 初始化项目代码 复制 mkdir reflex_test cd reflex_test reflex init 直接运行 复制 reflex run 运行过程 访问默认页面: http://localhost:3000/ 修改默认代码,页面可以自动重载更新页面 可以参考官方组件库、模板库,直接复制相关代码黏贴即可直接使用 参考官方组件使用与说明: https://reflex.dev/docs/library/ 三、快速接入大模型文生图简单示例 参考代码: https://github.com/luler/reflex_ai_fast 实现功能:旨在通过便捷的操作页面,迅速接入和体验大模型生图功能 安装配置使用: 拉取代码 复制 git clone https://github.com/luler/reflex_ai_fast cd reflex_ai_fast 新增编辑.env,输入文生图大模型配置,内容如下:(注意:需要支持openai兼容的文生图接口https://platform.openai.com/docs/guides/text-generation,如果不支持,需要自行调整代码,也很简单) 复制 OPENAI_BASE_URL =https://xxx/v1 OPENAI_API_KEY =sk-xxx 打包并导出前端代码 复制 API_URL =http:// 127.0 . 0.1 : 8080 reflex export --frontend- on ly docker-compose一键运行(提前部署好docker、docker-compose环境) 复制 docker-compose up -d 访问页面: http...

解锁ChatGPT-4o文生图潜力:精选提示词收集整理更新中

  示例一 提示词 复制 按照下面元素与描述生成相应的图片: - 人物:一个年轻人,健壮有力,手拿着登山杖,站在一块巨大的岩石上 - 背景:岩石下面是一片丛林,远处是广袤的大海,非常壮观好看,在合适的位置显示“一起去徒步” - 风格:整体是插画风格,字体是手写风格 生成图片效果 示例二 提示词(把图片转成“吉卜力”风格) 复制 convert this photo to studio ghibli style anime,Keep the size of the original image 生成图片效果 原图 结果图 | 示例三 提示词 复制 将场景中的角色转化为 3 D Q 版风格,同时保持原本的场景布置和服装造型不变。比例 1 : 1 生成图片效果 原图 结果图 示例四 提示词 复制 Create concise, visually structured notes on the topic '{{topic}}'. Notes must fit clearly within a {{orientation}} layout (horizontal/vertical), featuring: - Moderate Font Size: Comfortable readability. - Clear Structure: - Main points highlighted with "background colors" or "wavy underlines~". - Regular notes in standard ink. - Emphasis notes in a different ink color. - Illustrations: - Include relevant sketches or hand-drawn style illustrations. - Allow fountain pen-style doodles or annotations directly on illustrations. - Annotations: - Simulate notes, correcti...