开源AI搜索平台Search4All

什么是 Search4All ?

Search4All 是个人 AI 搜索协助工具,是 Perplexity 的开源替代品。能让你的 LLM API 支持联网,搜索、新闻、网页总结,

软件特点:

  • 集成对 LLM 的支持,例如 OpenAIGroqClaude
  • 本机搜索引擎集成,包括 GoogleBingDuckDuckGoSearXNG
  • 可定制的、视觉上吸引人的用户界面。
  • 可共享和缓存的搜索结果以提高效率。

从功能上看,和老苏之前介绍的 FreeAskInternet 差不多,区别就在于 Search4All 对搜索引擎的支持更多一点

准备工作

软件的安装比较简单,如果你之前已经单独安装过 SearXNG,那么只要安装 Search4All 即可,图形化安装和 docker cli 都只是安装了 Search4All

如果之前没有独立安装过 SearXNGdocker-compose 则展示了一体化安装,可以根据需要跳转到相应的章节

虽然安装简单,但涉及到的知识点比较多

关于 LLM ,还是使用了 One API 管理的 kimi

文章传送门:

关于 SearXNG 可能遇到的权限和超时等问题,可以参考 FreeAskInternet 的相关部分

文章传送门:

接下来进入我们今天的正题

安装

在群晖上以 Docker 方式安装。

图形化安装

在注册表中搜索 search4all ,选择第一个 fatwang2/search4all,版本选择 latest

本文写作时, latest 版本对应为 v0.1.0

端口

本地端口不冲突就行,不确定的话可以用命令查一下

bash 复制代码
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8062 8800

环境

可变
OPENAI_API_KEY OpenAI 帐户页面上申请的 API Key
OPENAI_BASE_URL 默认的 OpenAI API 请求 BASE URL
LLM_MODEL 要使用的模型,支持 openaigroqclaude 所有聊天模型
RELATED_QUESTIONS 显示相关问题
BACKEND 想要的搜索服务,支持 SEARCH1API,BING,GOOGLE,SERPER,SEARCHAPI,SEARXNG
SEARXNG_BASE_URL BACKENDSEARXNG 时,托管的 serxng 服务器地址

因为没有 OpenAI API Key,所以我们这里使用了 OpenAI 接口代理,也就是 One API 的相关设置参数来模拟

  • OPENAI_API_KEYOne API 中的令牌;
  • OPENAI_BASE_URLOne API 的局域网地址;
  • LLM_MODEL:选择了 kimi
  • RELATED_QUESTIONS:选择了 1,用于显示相关问题;
  • BACKEND:选择了基于本地部署的 SEARXNG
  • SEARXNG_BASE_URL:填入 SEARXNG 的地址;

这些参数基本上都已经有了,需要下来一个一个找到并填写值

只有 SEARXNG_BASE_URL 需要自己添加

更多的环境变量,请参考官方文档的说明:https://github.com/fatwang2/search4all#environment-variable

docker cli安装

如果你熟悉命令行,可能用 docker cli 更快捷

bash 复制代码
# 运行容器
docker run -d \
   --name search4all \
   --restart unless-stopped \
   -p 8062:8800 \
   -e OPENAI_API_KEY=sk-bn6M52bOfdxYB3n2Ee717eA2C66b45318f1c95E4D9553d94 \
   -e OPENAI_BASE_URL=http://192.168.0.197:3033/v1 \
   -e LLM_MODEL=kimi \
   -e RELATED_QUESTIONS=1 \
   -e BACKEND=SEARXNG \
   -e SEARXNG_BASE_URL=http://192.168.0.197:8061 \
   fatwang2/search4all

docker-compose 安装

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

这里包含了 SearXNG ,适合未独立安装 SearXNG 的用户

yaml 复制代码
version: '3'

services:
  search4all:
    image: fatwang2/search4all
    container_name: search4all_web
    restart: unless-stopped
    ports:
      - 8062:8800
    environment:
      OPENAI_API_KEY: sk-bn6M52bOfdxYB3n2Ee717eA2C66b45318f1c95E4D9553d94
      OPENAI_BASE_URL: http://192.168.0.197:3033/v1
      LLM_MODEL: kimi
      RELATED_QUESTIONS: 1
      # Change your search provider name here, if use another different provider
      BACKEND: SEARXNG
      # Set your hosted serxng server address. it is required when the BACKEND is SEARXNG
      SEARXNG_BASE_URL: http://searxng:8080

  searxng:
    image: searxng/searxng:latest
    container_name: search4all_searxng
    # ports:
    #  - "8061:8080"
    volumes:
      - ./data:/etc/searxng:rw
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
    logging:
      driver: 'json-file'
      options:
        max-size: '1m'
        max-file: '1'
    restart: always

然后执行下面的命令

bash 复制代码
# 新建文件夹 search4all 和 子目录
mkdir -p /volume1/docker/search4all/data

# 进入 search4all 目录
cd /volume1/docker/search4all

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8062 就能看到搜索界面

随便搜一个

看看天气

看看奖牌🏅

对比直接在 SearXNG 中的搜索结果

【风险提示】:大语言模型提供的答案,准确性是基于搜索引擎返回的结果,所以需要自己核实正确性

参考文档

fatwang2/search4all: Personal AI search copilot, open-source Perplexity

地址:https://github.com/fatwang2/search4all
Search4All

地址:https://search2ai.one/
free gpt 3.5 api配合 Search4All 实现联网回答 - 常规话题 / 人工智能 - LINUX DO

地址:https://linux.do/t/topic/54134

相关推荐
千天夜27 分钟前
激活函数解析:神经网络背后的“驱动力”
人工智能·深度学习·神经网络
大数据面试宝典28 分钟前
用AI来写SQL:让ChatGPT成为你的数据库助手
数据库·人工智能·chatgpt
封步宇AIGC33 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
m0_5236742135 分钟前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
HappyAcmen1 小时前
IDEA部署AI代写插件
java·人工智能·intellij-idea
噜噜噜噜鲁先森1 小时前
看懂本文,入门神经网络Neural Network
人工智能
InheritGuo2 小时前
It’s All About Your Sketch: Democratising Sketch Control in Diffusion Models
人工智能·计算机视觉·sketch
weixin_307779132 小时前
证明存在常数c, C > 0,使得在一系列特定条件下,某个特定投资时刻出现的概率与天数的对数成反比
人工智能·算法·机器学习
封步宇AIGC2 小时前
量化交易系统开发-实时行情自动化交易-3.4.1.6.A股宏观经济数据
人工智能·python·机器学习·数据挖掘
Algorithm15762 小时前
mac上使用docker搭建gitlab
macos·docker·gitlab