Perplexica 开源 AI 搜索引擎
一句话概述
Perplexica 是一个开源的 AI 搜索引擎,类似于 Perplexity AI 的自托管替代品,它通过 SearXNG 聚合搜索引擎结果,再用 LLM(本地或云端)生成带引用来源的高质量回答,所有数据完全留在你自己的服务器上。
核心知识点表格
| 知识点 | 说明 |
|---|
| 项目地址 | https://github.com/ItzCrazyKns/Perplexica |
| 最新版本 | v1.12.1(2025年12月) |
| GitHub Stars | 33,000+ |
| 核心功能 | AI 搜索引擎 + 带引用回答 |
| 搜索后端 | SearXNG(聚合多个搜索引擎) |
| LLM 支持 | Ollama(本地)/ OpenAI / Anthropic / Groq / Google Gemini |
| 许可证 | MIT |
| 部署方式 | Docker(一行命令) |
| 类似产品 | Perplexity AI($20/月)的免费替代 |
安装与配置
方式一:Docker 一行命令(最简单)
# 一行命令启动 Perplexica(内置 SearXNG)
docker run -d \
--name perplexica \ # 容器名
-p 3000:3000 \ # Web 界面端口
-e OPENAI_API_KEY=sk-xxx \ # OpenAI API Key(如果用 OpenAI)
itzcrazykns/perplexica:latest # 官方镜像
方式二:Docker Compose(推荐,完整部署)
# docker-compose.yml
version: '3.8'
services:
# SearXNG 搜索聚合引擎
searxng:
image: searxng/searxng:latest # SearXNG 镜像
ports:
- "4000:8080" # SearXNG 端口
volumes:
- ./searxng:/etc/searxng # 配置文件目录
environment:
- SEARXNG_BASE_URL=http://searxng:8080 # 内部地址
restart: unless-stopped
# Perplexica AI 搜索引擎
perplexica:
image: itzcrazykns/perplexica:latest # Perplexica 镜像
ports:
- "3000:3000" # Web 界面端口
environment:
- SEARXNG_URL=http://searxng:8080 # 指向 SearXNG
- OPENAI_API_KEY=sk-xxx # OpenAI Key(可选)
- OLLAMA_URL=http://host.docker.internal:11434 # 本地 Ollama(可选)
depends_on:
- searxng # 依赖 SearXNG 先启动
restart: unless-stopped
# 启动所有服务
docker compose up -d # -d 后台运行
# 打开浏览器访问
# http://localhost:3000
方式三:配合 Ollama 纯本地运行(完全离线)
# 第一步:确保 Ollama 已安装并运行
ollama serve # 启动 Ollama 服务
# 第二步:下载一个聊天模型
ollama pull llama3.1:8b # 下载 Llama 3.1 8B 模型
# 第三步:修改 docker-compose.yml 中的环境变量
# OLLAMA_URL=http://host.docker.internal:11434
# 不设置 OPENAI_API_KEY(这样就完全不用云端 API)
# 第四步:启动 Perplexica
docker compose up -d
# 现在你有了一个完全在本地运行的 AI 搜索引擎!
# 搜索请求 → SearXNG 聚合网页 → Ollama 本地模型生成回答
基本使用
Web 界面操作
1. 打开浏览器访问 http://localhost:3000
2. 在搜索框输入问题(支持中文)
3. 选择搜索模式:
- Speed Mode(速度模式):快速回答
- Balanced Mode(平衡模式):日常搜索
- Quality Mode(质量模式):深度研究
4. 等待搜索结果,回答会附带引用来源
5. 点击引用链接可以查看原始网页
搜索源选择
Perplexica 支持多种搜索源:
- Web:搜索整个互联网
- Discussions:搜索论坛和讨论区
- Academic:搜索学术论文
- 你也可以限定搜索特定网站(如只搜索某个文档站)
上传文件提问
1. 在搜索界面点击文件上传按钮
2. 支持的文件类型:
- PDF 文档
- 文本文件
- 图片
3. 上传后输入问题,Perplexica 会结合文件内容回答
API 调用
import requests # HTTP 请求库
# Perplexica 提供 API 接口
response = requests.post(
"http://localhost:3000/api/search", # 搜索 API
json={
"query": "2型糖尿病与肠道菌群的关系", # 搜索问题
"mode": "balanced", # 搜索模式
"focus": "web" # 搜索源
}
)
result = response.json() # 解析 JSON 结果
print(result["answer"]) # 打印 AI 回答
for source in result["sources"]: # 遍历引用来源
print(f"- {source['title']}: {source['url']}") # 打印标题和链接
高级用法
自定义 SearXNG 搜索引擎
# searxng/settings.yml
# 自定义使用哪些搜索引擎
use_default_settings: true # 使用默认设置作为基础
search:
formats:
- html
- json # 必须启用 JSON 格式(Perplexica 需要)
engines:
- name: google # 启用 Google
engine: google
disabled: false
- name: bing # 启用 Bing
engine: bing
disabled: false
- name: duckduckgo # 启用 DuckDuckGo
engine: duckduckgo
disabled: false
- name: baidu # 如果需要中文搜索,启用百度
engine: baidu
disabled: false
域名限定搜索
在 Perplexica 搜索框中使用域名限定:
- site:arxiv.org 宏基因组 → 只搜索 arXiv 论文
- site:github.com snakemake → 只搜索 GitHub
- site:biostars.org MAGs → 只搜索 Biostars
部署到 Railway(云端一键部署)
# Railway 提供一键部署 Perplexica 的模板
# 访问 https://railway.com/deploy/perplexica-ai-search
# 优点:
# - 不需要自己的服务器
# - 自动配置 HTTPS
# - 无速率限制
# - 完全控制 AI 模型选择
常见报错与解决
| 报错信息 | 原因 | 解决方法 |
|---|
SearXNG connection refused | SearXNG 未启动 | 确认 SearXNG 容器在运行:docker ps |
No search results | SearXNG JSON 格式未启用 | 在 settings.yml 中添加 json 到 formats |
LLM API error | API Key 无效或模型不可用 | 检查 API Key 和模型名是否正确 |
Ollama connection failed | Ollama 地址配置错误 | Docker 内访问宿主机用 host.docker.internal |
| 回答不包含引用 | 搜索引擎未返回结果 | 检查 SearXNG 是否正常工作,尝试直接访问 SearXNG 搜索 |
| 页面加载缓慢 | 本地模型推理速度慢 | 使用 GPU 加速的 Ollama 或切换到云端 API |
速查表
# === Perplexica 常用操作速查 ===
# Docker Compose 启动
docker compose up -d
# 查看日志
docker compose logs -f perplexica
# 停止服务
docker compose down
# 重启服务
docker compose restart
# Web 界面
# http://localhost:3000
# SearXNG 界面(独立使用)
# http://localhost:4000
# 搜索模式
# Speed —— 快速回答(适合简单问题)
# Balanced —— 平衡模式(日常使用)
# Quality —— 深度研究(复杂问题)
与同类工具对比
| 特性 | Perplexica | Perplexity AI | 传统搜索引擎 | ChatGPT + 联网 |
|---|
| 价格 | 免费开源 | $20/月(Pro) | 免费 | $20/月 |
| 数据隐私 | 完全自控 | 数据在云端 | 被追踪 | 数据在 OpenAI |
| 自托管 | 支持 | 不支持 | 不适用 | 不支持 |
| 本地 LLM | 支持(Ollama) | 不支持 | 不适用 | 不支持 |
| 引用来源 | 有 | 有 | 有(链接) | 有 |
| 搜索质量 | 依赖 SearXNG | 很好 | 很好 | 好 |
| 上手难度 | 需要 Docker | 开箱即用 | 开箱即用 | 开箱即用 |
选择建议:如果你注重隐私且有技术能力部署 Docker,Perplexica 是 Perplexity AI 的完美免费替代品。配合 Ollama 可以实现完全离线的 AI 搜索。