🚀 Perplexica - 一个由人工智能驱动的搜索引擎 🔎
概览
Perplexica 是一个开源的由人工智能驱动的搜索工具或搜索引擎,它深入互联网寻找答案。受 Perplexity AI 的启发,它不仅是一个搜索网络的工具,还能理解你的问题。它使用先进的机器学习算法,如相似性搜索和嵌入,来优化结果,并提供带有引用来源的清晰答案。
使用 SearxNG 保持最新和完全开源,Perplexica 确保你始终获得最新的信息,同时不损害你的隐私。
预览
特性
- 本地大型语言模型(LLMs):你可以使用本地的大型语言模型,如使用 Ollama 的 Llama3 和 Mixtral。
- 两种主要模式:
- 副驾驶模式:(开发中)通过生成不同的查询来增强搜索,以找到更相关的互联网资源。与仅使用 SearxNG 上下文的正常搜索不同,它访问顶部匹配项,并尝试直接从页面找到与用户查询相关的资源。
- 普通模式:处理你的查询并执行网络搜索。
- 专注模式:特殊模式,更好地回答特定类型的问题。Perplexica 目前有 6 种专注模式:
- 全部模式:搜索整个网络以找到最佳结果。
- 写作助手模式:对于不需要搜索网络的写作任务有帮助。
- 学术搜索模式:查找文章和论文,非常适合学术研究。
- YouTube 搜索模式:根据搜索查询找到 YouTube 视频。
- Wolfram Alpha 搜索模式:使用 Wolfram Alpha 回答需要计算或数据分析的查询。
- Reddit 搜索模式:搜索与查询相关的 Reddit 讨论和意见。
- 当前信息:一些搜索工具可能会给你过时的信息,因为它们使用爬虫数据,并将其转换为嵌入并存储在索引中。与它们不同,Perplexica 使用 SearxNG,一个元搜索引擎来获取结果并重新排名,从中获得最相关的来源,确保你始终获得最新信息,而无需每天更新数据的开销。
它还有许多其他特性,如图像和视频搜索。一些计划中的特性在 即将推出的特性 中提到。
安装
主要有两种安装 Perplexica 的方式 - 使用 Docker 和不使用 Docker。强烈推荐使用 Docker。
使用 Docker(推荐)开始
- 确保 Docker 已安装并在你的系统上运行。
克隆 Perplexica 仓库:
git clone https://github.com/ItzCrazyKns/Perplexica.git
克隆后,导航到包含项目文件的目录。
将
sample.config.toml
文件重命名为config.toml
。对于 Docker 设置,你只需要填写以下字段:CHAT_MODEL
:要使用的 LLM 的名称。比如llama3:latest
(使用 Ollama),gpt-3.5-turbo
(使用 OpenAI)等。CHAT_MODEL_PROVIDER
:聊天模型提供者,可以是openai
或ollama
。根据你使用的提供者,你需要填写以下字段:OPENAI
:你的 OpenAI API 密钥。只有当你想使用 OpenAI 的模型时才需要填写这个。OLLAMA
:你的 Ollama API URL。你应该将其输入为http://host.docker.internal:端口号
。如果你在端口 11434 上安装了 Ollama,使用http://host.docker.internal:11434
。对于其他端口,请相应调整。如果你希望使用 Ollama 的模型而不是 OpenAI 的,你需要填写这个。注:你可以在运行 Perplexica 后也可以从设置页面更改这些并使用不同的模型。
SIMILARITY_MEASURE
:要使用的相似性度量(这默认已填写;如果你不确定,可以保持原样。)
确保你在包含
docker-compose.yaml
文件的目录中,然后执行:docker compose up -d
等待几分钟让设置完成。你可以在 web 浏览器中通过 http://localhost:3000 访问 Perplexica。
注:容器构建完成后,你可以直接从 Docker 启动 Perplexica,而无需打开终端。
非 Docker 安装
- 克隆仓库,并将根目录中的
sample.config.toml
文件重命名为config.toml
。确保你在该文件中完成所有必填字段。 - 将
ui
文件夹中的.env.example
文件重命名为.env
并填写所有必填字段。 - 填写配置和环境文件后,在
ui
文件夹和根目录中运行npm i
。 - 安装依赖项,然后在
ui
文件夹和根目录中执行npm run build
。 - 最后,通过在
ui
文件夹和根目录中运行npm run start
来启动前端和后端。
注:推荐使用 Docker,因为它简化了设置过程,特别是对于管理环境变量和依赖项。
即将推出的特性
- 完成副驾驶模式
- 添加设置页面
- 添加对本地 LLMs 的支持
- 添加发现和历史保存特性
- 引入各种专注模式
支持我们
如果你发现 Perplexica 有用,请考虑在 GitHub 上给我们一个星标。这有助于更多人发现 Perplexica 并支持新特性的开发。我们感谢你的支持。
贡献
Perplexica 建立在这样一个理念上:人工智能和大型语言模型应该让每个人都容易使用。如果你发现错误或有想法,请通过 GitHub 问题分享它们。有关如何为 Perplexica 贡献的更多信息,你可以阅读 CONTRIBUTING.md 文件,以了解更多关于 Perplexica 的信息以及如何为其做出贡献。
帮助和支持
如果你有任何问题或反馈,请随时联系我们。你可以在 GitHub 上创建一个问题或加入我们的 Discord 服务器。在那里,你可以与其他用户联系,分享你的经验和评价,并获得更个性化的帮助。点击这里 加入 Discord 服务器。如需讨论常规支持之外的事宜,请随时在 Discord 上通过 itzcrazykns
联系我。
感谢你探索 Perplexica,这是一个旨在增强你搜索体验的由人工智能驱动的搜索引擎。我们不断努力改进 Perplexica 并扩展其能力。我们重视你的反馈和贡献,这有助于我们使 Perplexica 更好。别忘了回来查看更新和新特性!