Published on

555 star~使用 Docker 部署一款 AI 搜索对话应用

小伙伴们大家好,我是三金~

上一篇文章我们介绍了一下本地开源搜索引擎 SearXNG,将它部署到国外的云服务器上可以实现个人纯享版搜索——无广告!还精准!

那么今天结合 SearXNG 来介绍一款开源的 AI 搜索——search_with_ai

Github: Search With AI

介绍

这是一款基于 AI 大模型的对话式搜索引擎,服务端基于 Node 开发,前端使用 Vue3 开发。这对于前端同学来说非常友好!而且作者还制作了 Docker 镜像,我们可以使用 Docker 快速进行项目部署。

首页由三个部分组成:

  • 一个所有搜索引擎都会有的搜索框
  • 搜索程度和范围
  • 预设问题

搜索时会根据搜索程度的不同(目前可用的是简洁和深入)以及搜索范围的不同(全网和学术)会呈现不一样的结果。

这是简洁版搜索出来的内容:

这是深入版搜索出来的内容(内容过多先放一屏):

可以明显看到深入版会对搜索结果总结的更加详细,甚至会提供一份 YAML 文件示例。

如果再加上学术搜索,得出的结果会更加完备!

你以为到这里就结束了吗?不,它还可以基于上下文继续进行追问,这也是开头我们介绍到的:这是一款基于基于 AI 大模型的对话式搜索引擎,现在该是测试对话的时候了!

因为 Search With AI 是基于当前上下文继续进行追问,所以如果你提问了上下文以外的内容它就无法进行回答了,而且这个提问的部分字体有些小而且颜色不太容易被看到。

在页面右侧,可以点击设置的图标设置 AI 模型和搜索引擎:

对于搜索引擎而言,SearXNG 可以说是性价比最高的一个,除了免费之外,它里面集成了 70 多个搜索引擎,比单一使用 Bing 或者 Google 会好很多。

大模型的话,需要我们在部署的时候自己去配置对应模型的 key 以及代理地址,接下来我们就来看看如何使用 Docker 部署吧~

部署

1. 克隆项目
git clone https://github.com/yokingma/search_with_ai.git
cd search_with_ai
2. 编辑配置文件

我们需要在 docker 目录下编辑 .env.docker 文件,在里面去配置你自己的 AI Key,比如 OpenAI、Gemini、Moonshot 等等。

除此之外还可以修改:

  • 端口号
  • Bing、Google、SearXNG 的一些搜索配置
  • 对于 SearXNG 来说,如果有现成的服务可用,可以直接修改对应的 SEARXNG_HOSTNAME 配置项。默认是不需要修改的,因为 Search With AI 的 docker-compose 文件中默认带了 SearXNG。
# 示例
# Server Configuration
PORT=3000  # The port number your server will run on inside the Docker container (default is 3000)

# Search Engine API Keys
BING_SEARCH_KEY=  # Your Bing Web Search API key (required for using Bing search in Docker)
GOOGLE_SEARCH_KEY=  # Your Google Search API key (for Google Search in Docker)
GOOGLE_SEARCH_ID=  # Your Google Custom Search Engine (CSE) ID

# openai KEY, docker compose 默认带了FreeGPT35,如果你没有自己的Key, 这里保持默认
OPENAI_KEY=#your key
# openai Base Url, 
OPENAI_PROXY_URL=#OpenAI Base Url, OneAPI接口也是支持的。
...
# docker compose 部署默认带了SearXNG聚合搜索, 默认不需要修改
SEARXNG_HOSTNAME=http://searxng:8080

🔔提示:如果已经有现成的 SearXNG 服务,则在 docker-compose 文件中删掉 SearXNG 部分的代码之后再执行 docker compose 命令

3. [可选]编辑模型配置文件

如果想自定义模型,可以在 docker/model.json 文件中进行编辑:

{
  "platform": "openai",
  "type": "openai",
  // 增加修改你的模型名称
  "models": ["o1-preview", "o1-mini", "gpt-4o", "gpt-4o-mini"]
}
4. 运行 docker

在 docker 目录下运行 docker:

# 默认包含了 SearXNG 服务
docker compose up -d

浏览器访问 localhost:3000 即可~

5. 更新
  • 手动删除旧版本的镜像(如果需要)
  • 执行 docker compose down
  • 执行 docker compose up -d

OK,今天就介绍到这里了,感兴趣的小伙伴可以自己部署试试看,觉得对你有用的话也别忘了给这个项目点个 Star 哦~