当前位置: 首页 > news >正文

MindSearch:AI 时代的“思考型”搜索引擎

随着AI技术的飞速发展,搜索引擎领域也迎来了新的变革。继 OpenAI 发布 SearchGPT 之后,国内也涌现出一批优秀的AI搜索引擎,其中,由中科大和上海人工智能实验室联合研发的 MindSearch(思·索)尤为引人注目。这款开源AI搜索引擎,不仅性能媲美Perplexity.ai Pro,更重要的是,它跳脱了传统搜索引擎的窠臼,不再仅仅依赖关键词匹配,而是模拟人类的思维过程,深度理解用户的搜索意图,并提供更精准、更全面的搜索结果。这款开源AI搜索引擎的出现,无疑为我们打开了一扇通往未来搜索引擎的大门。

MindSearch vs 传统搜索引擎:一场思维方式的革新

试想一下,当你想要了解“量子计算的应用”时,传统的搜索引擎会提供给你什么?

大概率是大量关于量子计算基本概念的网页,需要你花费大量时间自行筛选出关于应用的内容。而 MindSearch 则截然不同,它会像人类一样思考,分析你的问题,并直接呈现量子计算在各个领域的应用案例和深入分析,让你快速精准地获取所需信息。

这种革命性的改变源于 MindSearch 独特的多智能体框架它不再仅仅关注关键词,而是会分析问题的上下文,并结合知识图谱等技术,深度理解用户的搜索意图,提供更精准、更全面的搜索结果

MindSearch的优势:深度、广度、准确性兼备

相比于传统的搜索引擎,MindSearch 的优势在于:

  • 深度知识探索: MindSearch 能够浏览数百个网页,提供更广泛、更深层次的答案,帮助用户深入了解某个主题。
  • 透明的解决方案路径: MindSearch 会展示其思考路径和搜索关键词等详细信息,提高了搜索结果的可信度和可用性。
  • 多种用户界面: MindSearch 提供React、Gradio、Streamlit和本地调试等多种用户界面,方便用户根据自己的需求进行选择。
  • 动态图构建: MindSearch 能够将用户查询分解为图中的子问题节点,并根据WebSearcher的搜索结果逐步扩展图,实现更灵活的搜索策略。

MindSearch vs 其他AI搜索引擎:更深度、更透明、更开放

ChatGPT-WebPerplexity.ai(Pro)等 AI 搜索引擎相比,MindSearch 在深度、透明度和开放性方面更胜一筹:

  • 更深度: MindSearch 的多智能体框架能够进行更深层次的推理和分析,提供更深入的知识探索。
  • 更透明: MindSearch 会展示其思考路径和搜索关键词等详细信息,提高了搜索结果的可信度和可用性。
  • 更开放: MindSearch 是开源的,这意味着开发者可以参与贡献,共同推动其发展,这对于 AI 搜索引擎技术的进步和生态建设具有重要意义。

为了更直观地展现 MindSearch 的优势,我们用 100 个由人类专家精心设计的现实问题,对 ChatGPT-Web、Perplexity.ai(Pro)和 MindSearch 的表现进行了评估,并由 5 位专家进行评分,结果如下:

MindSearch的“思考”之道:多智能体框架,模拟人类认知

MindSearch 的核心竞争力在于其创新的多智能体框架,它包含 WebPlanner 和 WebSearcher 两个关键组件,分别扮演着“思考者”和“执行者”的角色,就如同人类大脑中多个功能区域协同工作。

突破传统搜索引擎的局限,WebPlanner 赋予 MindSearch “思考”的能力

传统的搜索引擎,就像一个只会机械地执行命令的“机器人”,只能根据用户输入的关键词进行匹配,无法理解用户的深层需求。而 MindSearch 的 WebPlanner 则更像一位经验丰富的“侦探”,它能够将用户提出的复杂问题分解成多个子问题,并构建一张清晰的“搜索地图”——有向无环图(DAG),来引导搜索引擎找到最佳答案。

WebPlanner 如何像人类一样思考?

  • 理解逻辑关系,构建“搜索地图”: WebPlanner 能够理解用户问题中各个关键词之间的逻辑关系,并将这些关系转化为 DAG 图中的节点和边。每个节点代表一个独立的搜索任务,而边则代表节点之间的逻辑和推理关系。通过构建 DAG 图,WebPlanner 能够清晰地展现解决问题的思路,并引导搜索引擎沿着正确的路径前进。
  • 利用 LLM 的代码能力,动态调整搜索策略: WebPlanner 不仅能够构建静态的 DAG 图,还能够根据搜索结果动态调整搜索策略。它利用大型语言模型 (LLM) 强大的代码生成能力,编写代码来与 DAG 图进行交互,例如添加新的节点或边。这样,WebPlanner 就可以根据新的信息不断完善搜索策略,确保最终找到最优解。
  • 并行处理,提高搜索效率: 由于 DAG 图中的节点之间存在依赖关系,WebPlanner 可以将这些节点分配给 WebSearcher 并行处理,从而大大提高信息收集的速度。

WebPlanner 的工作流程:

  1. 接收用户问题: WebPlanner 接收用户提出的问题。
  2. 构建初始 DAG 图: WebPlanner 根据对问题的理解,构建初始的 DAG 图,并将起始节点设置为用户的问题。
  3. 启动 WebSearcher 进行搜索: WebPlanner 启动 WebSearcher,根据 DAG 图中的节点进行搜索。
  4. 根据搜索结果,动态调整 DAG 图: WebPlanner 根据 WebSearcher 返回的搜索结果,动态调整 DAG 图,例如添加新的节点或边。
  5. 重复步骤 3 和 4,直到找到最终答案: WebPlanner 不断重复步骤 3 和 4,直到找到最终答案。
  6. 添加结束节点,输出最终答案: 找到最终答案后,WebPlanner 将添加结束节点,并将最终答案输出给用户。

WebPlanner 就像 MindSearch 的“大脑”,它能够像人类一样思考,理解用户的搜索意图,并制定最佳的搜索策略,从而帮助用户更快、更准确地找到所需的信息。

如果说 WebPlanner 是 MindSearch 的“大脑”,负责思考和制定搜索策略,那么 WebSearcher 就像它的“千里眼”,能够在互联网的汪洋大海中精准锁定关键信息,为用户提供最 relevant 的答案。

海量信息,如何高效检索?WebSearcher 的分层检索策略

面对互联网上浩如烟海的信息,即使是强大的大型语言模型 (LLM) 也无法一下子处理完所有的页面。为了解决这个问题,MindSearch 的研发团队设计了一种巧妙的策略——分层检索,并将其应用于 WebSearcher。

WebSearcher 的工作流程:

  1. 接收 WebPlanner 分配的任务: WebSearcher 接收 WebPlanner 分配的搜索任务,例如搜索“量子计算的应用”。
  2. 生成多个类似的搜索问题: 为了扩大搜索范围,WebSearcher 会根据 WebPlanner 分配的任务,生成多个类似的搜索问题,例如“量子计算的应用场景”、“量子计算的实际应用案例”等。
  3. 调用多个搜索引擎 API: WebSearcher 会调用多个搜索引擎的 API,例如 Google、Bing 和 DuckDuckGo,并使用生成的多个搜索问题进行查询。
  4. 获取关键信息: WebSearcher 会从搜索引擎返回的结果中获取关键信息,例如网页链接、标题和摘要等。
  5. 筛选重要网页: WebSearcher 会根据关键信息,筛选出最重要的网页,例如排名靠前、内容相关的网页。
  6. 深度阅读,提炼关键信息: WebSearcher 会深度阅读筛选出来的重要网页,并提炼出关键信息。
  7. 汇总信息,返回给 WebPlanner: WebSearcher 将提炼出来的关键信息汇总,并返回给 WebPlanner。

WebSearcher 的分层检索策略,就像一位经验丰富的“情报员”,先进行广泛的调查,收集大量的线索,然后再进行精细的分析,筛选出最有价值的信息。

WebSearcher 的优势:

  • 高效检索: 分层检索策略能够帮助 WebSearcher 快速锁定关键信息,避免在海量信息中迷失方向。
  • 全面覆盖: 通过调用多个搜索引擎 API,WebSearcher 能够覆盖更广泛的信息来源,确保搜索结果的全面性。
  • 精准筛选: WebSearcher 能够根据关键信息,精准筛选出最重要的网页,避免浪费时间阅读 irrelevant 的内容。

WebSearcher 是 MindSearch 的“千里眼”,它能够精准锁定关键信息,为用户提供最 relevant 的答案。它与 WebPlanner 密切配合,共同构成了 MindSearch 的核心竞争力,使其能够像人类一样思考,深度理解用户的搜索意图,并提供更精准、更全面的搜索结果。

MindSearch的“超能力”:3分钟“翻阅”300页,效率远超人类专家!

MindSearch的效率令人惊叹!它能够在短短3分钟内完成300多页信息的搜集和整合,这可是人类专家需要花费3小时才能完成的工作!这意味着,你可以更快地获取所需信息,节省宝贵的时间和精力。

试想一下,当你需要了解某个领域的最新研究成果时,MindSearch能够迅速帮你搜集整理数百篇论文,并提炼出关键信息,让你在短时间内掌握该领域的最新动态。

MindSearch的“魅力”:深度知识探索,开启智能搜索新时代!

MindSearch不仅能够快速找到你所需的信息,更能够帮助你深入探索某个主题,了解其背后的知识体系。它就像一位博学的导师,带领你进入知识的殿堂,开启智能搜索新时代!

例如,当你想要了解“量子计算”这个领域时,MindSearch不仅会为你提供相关的网页链接,还会帮你梳理量子计算的发展历程、核心概念、应用领域以及未来发展趋势,让你对量子计算有一个全面的了解。

MindSearch的“开放”:开源共享,共创AI搜索新未来!

MindSearch已开源,这意味着开发者可以参与贡献,共同推动其发展。这种开放的姿态,不仅体现了研发团队的自信,也为AI搜索引擎的未来发展指明了方向。

我们相信,在开源社区的共同努力下,MindSearch将会不断进化,解决当前存在的局限性,例如信息幻觉和搜索引擎偏见等问题。同时,MindSearch也将探索更多信息源,为用户提供更全面、更可靠的搜索体验。

MindSearch的未来:无限可能,值得期待!

MindSearch的出现,预示着AI搜索引擎将进入一个全新的时代。它不再仅仅是信息的搬运工,而是能够真正理解用户需求,并提供个性化、智能化的搜索体验。

我们有理由相信,在未来,MindSearch将会成为我们探索知识、获取信息的重要工具,引领我们进入一个更加智能化的未来!

MindSearch的意义:不止于搜索,更在于思考

MindSearch的出现,不仅仅是一款新的搜索引擎的诞生,更是一场关于“思考”的革命。它让我们看到了AI的无限可能,也让我们对未来充满了期待。

让我们一起期待MindSearch在未来的发展,期待它为我们带来更多惊喜!

MindSearch部署

值得一提的是,MindSearch 已于 7 月初正式开源!上海人工智能实验室慷慨地分享了搭载 MindSearch 架构的 InternLM2.5-7B-Chat 模型及完整的前后端代码,为广大开发者和研究者提供了宝贵的学习和实践机会。

零距离体验 MindSearch 的魅力:

  • 在线 Demo: 无需下载安装,点击链接即可体验 MindSearch 的强大功能:https://mindsearch.openxlab.org.cn/

技术爱好者:本地部署,定制专属 MindSearch!

  • 开源代码:https://github.com/InternLM/mindsearch
  • 基于智能体框架 Lagent,MindSearch 的本地部署也非常简单:

1、在 GitHub 下载 MindSearch 仓库。

2、启动服务:

python -m mindsearch.app --lang en --model_format internlm_server

3、一键启动多种前端:

# Install Node.js and npm
# for Ubuntu
sudo apt install nodejs npm
# for windows
# download from https://nodejs.org/zh-cn/download/prebuilt-installer
# Install dependencies
cd frontend/React
npm install
npm start

总结

MindSearch 是一款极具潜力的开源 AI 搜索引擎,它模拟了人类的思维过程,实现了深度知识探索,为用户带来了更精准、更全面的搜索体验。相信在未来,MindSearch 将会在 AI 搜索领域发挥更大的作用,引领搜索引擎进入一个全新的智能化时代。

附:

  • 🌐 项目主页: https://mindsearch.netlify.app
  • 📃 技术报告: https://arxiv.org/abs/2407.20183
  • 💻 项目体验: https://mindsearch.openxlab.org.cn
  • 🐍 开源代码: https://github.com/InternLM/mindsearch

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • EasyExcel 自定义转换器、自定义导出字典映射替换、满足条件内容增加样式
  • Python 之Scikit-learn(三) -- 使用Scikit-learn进行数据归一化
  • 八股(1)
  • 中超股份五年坎坷资本梦:毛利率下滑,连年大额分红还募投补流
  • 利用SSH实现分布式应用的一键安装部署①(多主机执行指令函数封装、日志输出、关闭防火墙、传输文件函数封装)
  • Qt无边框窗口,关闭后再show,鼠标等事件不响应问题解决办法
  • elasticsearch的使用(二)
  • MYSQL知识点(持续更新)
  • 详解Xilinx FPGA高速串行收发器GTX/GTP(4)--TX/RX接口的数据位宽和时钟设计
  • 【Python机器学习】支持向量机——在复杂数据上应用核函数
  • 27集28集 ESP32 AIchat cmake编译解密-《MCU嵌入式AI开发笔记》
  • 谷粒商城实战笔记-nginx问题记录
  • 服务器测试之RAID知识梳理
  • MySQL的三大关键日志:Bin Log、Redo Log与Undo Log
  • 【开端】JAVA Mono<Void>向前端返回没有登陆或登录超时 暂无权限访问信息组装
  • 时间复杂度分析经典问题——最大子序列和
  • 【RocksDB】TransactionDB源码分析
  • ECS应用管理最佳实践
  • golang中接口赋值与方法集
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • IOS评论框不贴底(ios12新bug)
  • Iterator 和 for...of 循环
  • js面向对象
  • laravel with 查询列表限制条数
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Rancher-k8s加速安装文档
  • vue的全局变量和全局拦截请求器
  • zookeeper系列(七)实战分布式命名服务
  • 飞驰在Mesos的涡轮引擎上
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 突破自己的技术思维
  • 异常机制详解
  • 交换综合实验一
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 昨天1024程序员节,我故意写了个死循环~
  • ‌JavaScript 数据类型转换
  • #include
  • #Java第九次作业--输入输出流和文件操作
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • (02)vite环境变量配置
  • (C语言)逆序输出字符串
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (八)c52学习之旅-中断实验
  • (独孤九剑)--文件系统
  • (二)springcloud实战之config配置中心
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (接上一篇)前端弄一个变量实现点击次数在前端页面实时更新
  • (论文阅读40-45)图像描述1
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (新)网络工程师考点串讲与真题详解
  • (转)EOS中账户、钱包和密钥的关系
  • (转)拼包函数及网络封包的异常处理(含代码)
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl