Perplexica:Perplexity 的开源替代方案
Perplexica 通过 SearXNG 搜索网络,可选地使用嵌入/相似性重新排序结果,然后使用 LLM 生成带引用的响应。
SearXNG 是一个免费的互联网元搜索引擎,聚合了多达 245 个搜索服务的结果。用户不会被跟踪或建立画像。此外,SearXNG 可以通过 Tor 使用以实现在线匿名。
核心功能
- 提供商无关: 随附 Ollama 或可插入 OpenAI/Claude/Gemini/Groq。
- 模式: 速度、平衡、质量,以权衡延迟、深度和成本。
- 源控制: 根据任务使用网络、讨论或学术搜索。
- 小部件: 用于快速查找的即时卡片(天气、计算、股票)。
- 私有网络搜索: 目前是 SearxNG,稍后会有更多检索集成。
- 图像 + 视频: 答案不仅仅是文章。
- 文件问答: 上传文档并查询它们。
- 域范围搜索: 针对特定站点/文档。
- 智能建议: 更好的查询,更快的响应。
本地历史: 随时回顾研究。
1. Perplexica 入门
你有两个选项来运行 Perplexica。
(1) Docker Compose
git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica
# 创建配置
cp sample.config.toml config.toml
# 使用所需的密钥/端点编辑 config.toml
docker compose up -d
# 打开 http://localhost:3000
对于 Docker + Ollama,通常使用 http://host.docker.internal:11434 作为 Ollama API URL。
你可以在 UI 的设置对话框中稍后更改模型密钥/设置。
(2) 非 Docker
- 安装 SearXNG 并在 SearXNG 设置中允许 JSON 格式。
- 克隆存储库并将 sample.config.toml 文件重命名为根目录中的 config.toml。
- (确保完成此文件中的所有必填字段)
- 然后运行:
npm i
npm run build
npm run start
如果有任何问题,你可以参考官方文档获取更多信息。
2. 架构和请求流程
Perplexica 将系统描述为:
- UI
- 智能体/链
- SearXNG 用于网络源
- LLM 用于推理/回答/引用
- 嵌入模型用于重新排序
概念流程是:
- 请求
- 链决定是否需要网络搜索 + 生成查询
- SearXNG 搜索
- 嵌入 + 相似性重新排序
- 响应生成器流式传输到 UI
这通过特定焦点模式处理器和可重用的智能体实现。
src/lib/search/index.ts 是最重要的产品地图文件之一。
它将焦点模式注册为 MetaSearchAgent 的实例,设置包括:


