创建一个👩‍💻开源搜索平台:带有人工智能的搜索引擎 - Swirl🌌

2025-06-10

创建一个👩‍💻开源搜索平台:带有人工智能的搜索引擎 - Swirl🌌

Swirl 是一个用 Python 编写的开源搜索引擎,由大型语言模型 (LLM) 和 ChatGPT 以及 ML 和 NLP 算法提供支持。

闲话少叙,先让我来介绍一下 Swirl。这个用 Python 和 Django 构建的统一开源搜索平台,无缝整合了跨数据库(SQL 和 NoSQL)、云服务、搜索提供商、数据孤岛以及 Miro、Jira、GitHub 等工具的搜索功能。

使用 Swirl,用户可以进行单一查询,在一个合并的 UI 中立即汇集和呈现来自多个平台的相关数据。

GitHub 上的 Swirl 👇

链接:https : //github.com/swirlai/swirl-search🌌

GitHub 上的 Swirl 搜索

寻找开源搜索平台🕵️‍♀️

搜索在我们的日常生活中无处不在。像谷歌搜索、必应和 Duck Duck 这样的巨头让我们只需点击一下按钮就能轻松找到信息。

然而,对于希望将搜索功能融入其平台而不受这些主要参与者束缚的企业、初创企业和开发者来说,选择有些有限。大多数企业级搜索引擎都需要支付许可费用或受到限制。诸如谷歌的可编程搜索引擎和Algolia之类的集成选项功能强大。然而,它们可能并不总是能满足所有企业的特定需求,尤其是在定制和自托管方面。

这就引出了对开源搜索引擎的需求。对于所有试图将搜索功能集成到其平台的用户来说,Swirl 是最佳选择之一。它基于 Python 构建,高度可定制。作为免费开源产品,它遵循 Apache 2.0 许可证,这意味着开发者和企业无需支付任何许可费用即可使用和修改它。团队可以通过改进、修复错误和增强功能来为其开发做出贡献。

搜索开源搜索引擎

处理许多数据源、数据库和数据孤岛

随着任何初创公司或公司的发展,其数据和数据库的规模也会随之增长。最终,查找正确信息的复杂性也会随之增加。随着这些组织的扩张,它们不可避免地会积累各种形式的数据——传统文档、代码库、电子表格,以及 SQL 和 NoSQL 等更结构化的数据库。然而,真正的挑战不仅在于存储如此海量的数据,还在于如何在需要时高效地检索这些信息。

数据在哪里?我们应该使用 Swirl

那么,我们的文档位于哪个数据库中?是 USE_CASE_1 还是 USE_CASE_2?
一个典型的场景是,你需要数据,但不知道在哪里。

数据源的多样性进一步加剧了复杂性。想象一下,在一个庞大的图书馆里,书籍、期刊、手写笔记和数字记录都杂乱无章地存放着,需要进行筛选。听起来很吓人,对吧?这正是当今许多企业面临的情况。不同的数据类型,加上彼此孤立的数据孤岛,使得员工难以迅速找到正确的信息。

Swirl 连接多个数据源,可在所有数据源中进行搜索。Swirl 是一个集中式枢纽,支持跨所有集成数据源的精简搜索。这简化了搜索流程,并确保不会因来源或格式问题而遗漏任何关键信息。

使用 LLM 进行搜索并将多个数据源整合在一起

Swirl 使用现有的 API 和基于标准的安全机制(例如 OAuth2)将用户查询分发到搜索引擎、数据库和其他企业云服务。Swirl 使用大型语言模型对统一结果进行异步规范化和重新排序。

让我们了解一下 Swirl 的工作原理。

  1. 用户提供 Swirl 集成的数据源。
  2. 用户创建要搜索的查询。
  3. Swirl 将这些查询发送到每个源。
  4. 获取响应并使用 LLM 找到最佳答案。
  5. 然后,Swirl 在异步管道中获取引用。
  6. 然后它会获取最佳结果并创建提示。
  7. 它将数据 + 提示发送到 ChatGPT(或任何 LLM)。
  8. Swirl 通过 ChatGPT 见解返回答案。

图表解释使用 ChatGPT 作为配置的 LLM 进行 Swirl Search

Swirl 的工作原理

该图表解释了 Swirl 如何与多个数据源协同工作并通过 ChatGPT 洞察提供结果。

整个搜索过程简化了,Swirl 的设置也相当直观。Sense 的 Raman Ramanenkou 说道。

在 Docker 容器中设置和运行 Swirl 非常简单——只需几分钟。
~ Sense 的 Raman Ramanenkou

数据隐私和安全在搜索时至关重要。人们应该只能搜索自己在任何公司中可以访问的信息。Swirl 集成了 OAuth2 身份验证。这意味着数据的访问和可见性将根据搜索用户的凭据受到严格控制。它确保敏感信息受到限制,只有拥有必要权限的人员才能查看。

因此,没有访问关键文件权限的人无法搜索这些文件,甚至不知道它们的存在。

使用 Swirl ✨ 进行检索增强生成 (RAG)

检索增强生成 (RAG) 是一种将信息检索与文本生成相结合的技术。简单来说,RAG 首先通过搜索获取​​相关数据,然后使用大型语言模型基于这些数据构建答案;一个广为人知的例子是必应 AI 聊天。您可以通过在数据集上实施 RAG 来创建动态知识库。

Swirl 可帮助您轻松创建基于数据的聊天机器人。您可以将 ChatGPT Enterprise 的强大功能与 Swirl 集成,然后即时生成答案。无需任何额外的数据库来存储任何信息。只需搜索即可。

Swirl 可以检索准确的信息,并获得包含原始文献引用的完整答案。这将大幅提升您的工作效率,让您轻松掌握可靠且参考充分的信息。

使用 Swirl 的 RAG

例如,我们使用 ChatGPT 搜索 Sid Probstein,然后使用 Swirl 的 RAG 管道再次搜索。我们会在左下角的链接中找到用于生成答案的文档。

开始使用 Swirl 💻

如果您想免费试用并运行 Swirl,请前往 GitHub 页面查看。👇

GitHub 🔗:GitHub 上的 Swirl 🌌

💿安装说明:Swirl 入门

📃 文档:Swirl Wiki

Swirl UI 运行时的快照

Galaxy 用户界面

Galaxy UI 中的 Swirl 功能


Swirl 是一个社区驱动的👩‍💻开源项目。我们欢迎有兴趣创建搜索平台并为项目开发做出贡献的个人。如果您有兴趣了解该项目,并希望做出贡献或与我们一起开启您的开源之旅,我们很乐意为您提供指导,帮助您理解并创建您的第一个开源贡献。🤗

加入我们的 Slack 社区。💖

请在GitHub上给我们一个 Star 🌟 。

在Twitter/𝕏上关注我们以获取最新资讯。

链接链接 https://dev.to/swirl/creating-an-open-source-search-platform-search-engines-with-ai-swirl-2m0h
PREV
检索增强生成 (RAG):如何让 AI 模型学习您的数据并为您提供答案 SWIRL AWS Security LIVE!
NEXT
为本次 Hacktoberfest 的 Swirl 贡献一份力量,赢取高达 100 美元的 Swags