farfalle
开源 Perplexity 替代品,支持本地 Ollama 或云端 GPT-4o,一键 Docker 部署私有 AI 搜索引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
开源 Perplexity 替代品,支持本地 Ollama 或云端 GPT-4o,一键 Docker 部署私有 AI 搜索引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
当你在 Google 上搜索"量子计算最新进展"时,搜索引擎返回的是一串网页链接——你得像福尔摩斯一样,自己逐个点进去翻找答案。而 Perplexity 开创的"答案引擎"模式,彻底改变了这一切:它直接替你读完相关网页,用人话给你总结出答案,还附带引用来源。
但问题来了:把数据交给 Perplexity 意味着你的搜索习惯被云端记录。对于注重隐私的开发者、研究者,或者企业内网场景,这成了一个无法忽视的隐患。
Farfalle 的诞生,就是为了解决这个问题——让你在自己服务器上,部署一个完全私有的 Perplexity。
Farfalle 由独立开发者 rashadphz 创建。项目灵感来源于他在使用 Perplexity 过程中对数据隐私的担忧。"当我意识到每次搜索都在向第三方暴露我的求知轨迹时,我决定自己动手做一个开源版本。" 在接受 Hacker News 社区采访时,他这样解释自己的动机。
项目于 2024 年初发布,很快在 GitHub 上获得关注,并在 Hacker News 上引发讨论。截至分析时,已积累超过 3500 颗 stars 和 322 个 forks,社区活跃度相当可观。 rashadphz 通过 Twitter 与用户保持互动,持续根据社区反馈迭代功能。
Farfalle 的工作流程可以类比为"一位聪明的图书管理员":
项目支持三种 LLM 接入方式,灵活性极强:
| 模式 | 模型示例 | 隐私性 | 成本 |
|---|---|---|---|
| 本地 Ollama | llama3, mistral, gemma, phi3 | 最高 | 免费 |
| LiteLLM 自定义 | 任何兼容 OpenAI API 的模型 | 高 | 自控 |
| 云端直连 | GPT-4o, Groq/Llama3 | 一般 | 按量 |
特别值得强调的是 SearXNG 的集成——这是一个开源的元搜索引擎,完全自托管,消除了对第三方搜索 API 的依赖。结合 Ollama 使用,整套系统可以在零外部依赖的情况下运行。
Farfalle 采用典型的前后端分离架构:
agent_search.py 实现了一个规划-执行型的搜索 Agent,能够将复杂问题拆解为多步搜索,显著提升回答质量。项目使用 Poetry 管理 Python 依赖,pnpm 管理前端依赖,pre-commit 钩子保证代码风格统一。架构模块化程度较高,每个功能(搜索、LLM 调用、历史记录、相关查询)都有独立的 Python 模块。
这是 Farfalle 最有竞争力的优势之一。项目提供了完整的 Docker Compose 配置,涵盖前端、后端、Redis 和 SearXNG 四个服务,一条命令即可启动完整环境:
git clone https://github.com/rashadphz/farfalle.git
cd farfalle && cp .env-template .env
docker-compose -f docker-compose.dev.yaml up -d
如果想用云端模型,只需在 .env 中填入 OpenAI/Groq API Key;想完全离线,则启动 Ollama 服务并在配置中选择本地模型。项目还提供了 Render + Vercel 的前后端分离部署指南,适合有更高扩展性需求的用户。
部署难度评估:简单(2/5),约 15 分钟可完成。
Farfalle 并非完美,以下几点值得潜在用户了解:
Farfalle 的出现,填补了"可私有部署的 Perplexity 替代品"这一空白。与功能类似的 Perplexica 相比,Farfalle 的优势在于更简洁的架构、更低的上手门槛,以及对本地模型的原生支持。
从趋势上看,"AI 隐私本地化"正在成为 2024-2025 年的一大主题——从 Ollama 的爆发式增长,到 LlamaEdge、Wasmtime 等边缘 AI 工具的涌现,都在指向同一个方向:让 AI 模型和数据都留在用户自己的设备上。Farfalle 站在了这个趋势的浪尖上。
如果你正在寻找一个开箱即用的 AI 搜索引擎,或者想研究 Perplexity 的技术实现原理,Farfalle 是目前最值得关注的开源选择之一。