Loading...

文章背景图

Perplexica:开源AI搜索引擎(Perplexity替代)安装与使用指南

2026-09-01
0
- 字
- 分钟
|

Perplexica:开源AI搜索引擎(Perplexity替代)安装与使用指南

Perplexica

官方信息

项目名称Perplexica
仓库地址https://github.com/ItzCrazyKns/Perplexica
官方文档https://docs.perplexica.ai/
最新更新2026-09-01
项目定位开源版 Perplexity AI,SearXNG + LLM 驱动的带引用 AI 搜索
开源协议MIT

项目背景

Perplexity AI 这几年火得一塌糊涂:你问一个问题,它不是直接瞎编,而是先去网上搜一堆资料,再基于这些资料综合出答案,每句话都带引用链接。但 Perplexity 是闭源 SaaS,免费版广告多、Pro 版要 20 美元/月,搜索和聊天记录都在别人服务器上。

Perplexica 就是开源世界里最像 Perplexity 的替代品,由开发者 ItzCrazyKns 用 Next.js + Node.js 编写,在 GitHub 上收获 17k+ Star。它的架构很巧妙:搜索引擎用 SearXNG(一个开源元搜索引擎,并行查 Google/Bing/DuckDuckGo/Wikipedia 等 70+ 源),大模型用任意 OpenAI 兼容接口(OpenAI、Groq、Anthropic、Ollama 本地模型都行),中间用 embedding 模型做相关度重排。

整个栈可以完全私有化:搜索走自己的 SearXNG,模型走本地 Ollama,问题、搜索记录、答案全在你自己服务器上。是隐私敏感用户自建"ChatGPT Search"的最佳选择。

核心特性

  • 带引用的答案:每个结论都标注来源链接,可点击核查。
  • 多种搜索模式:网页搜索、学术搜索、YouTube、维基百科、RSS。
  • 本地 LLM 支持:通过 Ollama 跑 Llama3、Qwen、Mistral,零 API 成本。
  • 多 LLM 兼容:OpenAI、Groq(免费快)、Anthropic、OpenRouter。
  • SearXNG 元搜索:聚合 70+ 搜索引擎,不依赖单一 Google。
  • 相似性重排:用 embedding 模型对搜索结果做 cosine 相似度排序。
  • 现代 UI:React/Next.js,深色模式,对话历史,相关问题推荐。
  • MIT 协议:随便用、随便改。

环境要求

  • Docker 与 Docker Compose v2。
  • 2 核 2G 起步;如果用 Ollama 本地 7B 模型,至少 8G 内存。
  • 一个 LLM API Key(Groq 免费;或用 Ollama 本地模型免 Key)。
  • 开放端口 3000(前端)。

详细部署步骤

第一步:克隆仓库

git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica

第二步:配置 config.toml

cp sample.config.toml config.toml
nano config.toml

关键配置项:

[GENERAL]
PORT = 3001
SIMILARITY_MEASURE = "cosine"

[API_KEYS]
# 想用 OpenAI 就填;不想用就留空
OPENAI = ""
# Groq 有免费额度,速度快
GROQ = "你的groq key"
ANTHROPIC = ""

[API_ENDPOINTS]
SEARXNG = "http://searxng:8080"
# Ollama 在本机 Docker 里:
OLLAMA = "http://host.docker.internal:11434"

Ollama 地址对照表:

  • macOS / Windows + Docker:http://host.docker.internal:11434
  • Linux + Docker:http://172.17.0.1:11434(compose 文件里已加 host-gateway)
  • Ollama 在另一台机器:http://那台机器IP:11434

第三步:配置 SearXNG

Perplexica 自带的 SearXNG 容器需要允许 JSON 输出。项目已经预置了 searxng/settings.yml,关键是 limiter: false(否则 Perplexica 高频查询会被 SearXNG 限流):

use_default_settings: true
server:
  limiter: false
  image_proxy: true
search:
  safe_search: 0
  autocomplete: ""
  default_lang: "auto"
outgoing:
  request_timeout: 6.0
ui:
  static_use_hash: true

第四步:启动

docker compose up -d

首次启动会构建 Next.js 前端镜像,需要 3-8 分钟。完成后检查:

docker compose ps
# perplexica-backend   Up   3001->3001
# perplexica-frontend  Up   3000->3000
# perplexica-searxng   Up   4000->8080

浏览器访问 http://服务器IP:3000。

用 OpenAI 而不是 Ollama

如果不想跑本地模型,在 config.toml 里填 OPENAI = "sk-...",然后在 Web UI 的设置里把聊天模型选成 gpt-4o-mini 或 gpt-4o 即可。

Linux 下 Ollama 连不上?

编辑 /etc/systemd/system/ollama.service,在 [Service] 段加:

Environment="OLLAMA_HOST=0.0.0.0"

然后 systemctl daemon-reload && systemctl restart ollama,并在防火墙放行 11434 端口。

使用方法示例

打开 http://localhost:3000,在输入框直接问问题,比如:

  • "对比 2026 年 vLLM 和 SGLang 的性能差异"
  • "最近的 AI Agent 框架有哪些新进展?"

Perplexica 会:① 把你的问题拆成几个搜索查询;② 并行查 SearXNG;③ 用 embedding 重排最相关的结果;④ 让 LLM 综合成带脚注引用的答案。右侧会列出所有引用源,点脚注可跳转原文。

常见问题(FAQ)

Q1:答案质量怎么样?
A:取决于你接的模型。用 GPT-4o / Claude Sonnet 接近 Perplexity Pro;用 Ollama 本地 7B 模型能用但回答略浅。Groq 免费跑 Llama 3.3 是性价比之选。

Q2:SearXNG 搜不到 Google 结果?
A:Google 反爬严格,可能返回 403。可以在 settings.yml 里启用更多引擎(Bing、DuckDuckGo、Brave),或给 Google 走 Tor 代理。

Q3:能暴露到公网吗?
A:可以,但前面要加 Nginx/Caddy 套 HTTPS,并且设置账号密码 Basic Auth。SearXNG 容器的 4000 端口不要暴露。

Q4:历史记录存哪?
A:SQLite 文件在 backend 目录下,docker volume 持久化在 ./data。备份直接打包整个项目目录。

跳转链接

评论交流

文章目录