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

news2024/11/16 8:24:45

随着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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1989928.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

php收银系统源码-线上下单,门店接单

1.收银系统开发语言 核心开发语言: PHP、HTML5、Dart后台接口: PHP7.3后合管理网站: HTML5vue2.0element-uicssjs线下收银台(安卓/PC收银、安卓自助收银): Dart3框架:Flutter 3.19.6助手: uniapp商城: uniapp 2.线上商城下单,门…

theaterjs使用

import theaterJS from "theaterjs"; interface ITheaterOptions {autoplay?: boolean;minSpeed?: {type: number;erase: number;};maxSpeed?: {type: number;erase: number;}; } export default function useTheater(id: string, options: ITheaterOptions, addS…

变压器耦合放大器(低频应用+高频应用)

2024-8-7,星期三,22:49,天气:晴,心情:晴。下班抽出点时间看看书,话不多说,学习开始啦。 今日继续学习模电自选教材的第六章,多级放大器、RF放大器和功率放大器。主要学习…

【Linux】进程概念—环境变量

目录 一、冯诺依曼体系结构 二、操作系统(Operator System) 1 .概念 2 .设计OS的目的 3 . 定位 4 . 系统调用和库函数概念 三、进程 1 .基本概念 2 .描述进程-PCB(process control block)进程控制块 3 . 组织进程 4 . 查看进程 5 .通过系统调用获取进程…

【iMSTK】第一期 imstk配置过程

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享imstk的配置和使用过程,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞关注,小易会继续努力分享,一起进步&…

man手册安装

1.什么是man手册 (输入man man) linux系统提供的有关函数或指令介绍的相关帮助手册,可以在该手册也中查看函数、指令功能,说白了就是相关操作说明书,一共有七章,主要使用前三章,第一章是shell指令相关说明…

TPS和QPS达到多少才算高并发?

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storm…

操作系统 IO 相关知识

操作系统 IO 相关知识 阻塞与非阻塞同步与异步IO 和系统调用传统的 IODMAmmap 内存映射sendfilesplice 常用的 IO 模型BIO:同步阻塞 IONIO:同步非阻塞 IOIO 多路复用信号驱动 IOAIO:异步 IO 模型 IO 就是计算机内部与外部进行数据传输的过程&…

【Python系列】pathlib模块

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

C语言项目——贪吃蛇,为什么用curses,定义上下左右

在Linux系统中&#xff0c;使用ncurses在程序编译时还要加上 -lcurses 即&#xff1a;gcc cursedemo.c -lcurses #include<curses.h> int main() {initscr(); //ncurse界面的初始化函数printw("This is a curses window.\n");//再ncurse模式下的printfgetc…

【代码随想录训练营第42期 Day22打卡 回溯Part1 - LeetCode 77. 组合 216.组合总和III 17.电话号码的字母组合

目录 一、做题心得 二、回溯基础知识 1.定义 2.适用问题 3.一个思想 4.代码实现 三、题目与题解 题目一&#xff1a;77. 组合 题目链接 题解&#xff1a;回溯 题目二&#xff1a;216.组合总和III 题目链接 题解&#xff1a;回溯 题目三&#xff1a;17.电话号码的字…

企元数智百年营销史的精粹:借鉴历史创造未来商机

随着时代的发展和科技的进步&#xff0c;传统营销方式正在经历前所未有的颠覆和改变。在这个数字化时代&#xff0c;企业需要不断创新&#xff0c;同时借鉴百年营销史的精粹&#xff0c;汲取历史经验&#xff0c;创造未来商机。而"企元数智"作为现代营销的代表&#…

骑行激情,燃动巴黎——维乐Angel Revo坐垫,赋能你的奥运梦想!

当奥林匹克圣火在塞纳河畔熊熊燃烧&#xff0c;巴黎的街头巷尾都弥漫着骑行的激情。2024年的夏天&#xff0c;自行车赛道上&#xff0c;每一圈轮毂的转动都凝聚着运动员的汗水与荣耀。金牌赛程已定&#xff0c;女子公路自行车决赛于7月27日20:30鸣枪&#xff0c;男子紧随其后&a…

【Nuxt】编写接口和全局状态共享

编写接口 ~/server/api/homeInfo.get.ts export default defineEventHandler((event) > {return {code: 200,data: {name: hello world}} })服务端有一些方法可以快速获取请求常见字段&#xff1a; getQuery(event)getMethod(event)await readBody(event)await readRawBo…

配置Cuttlefish 虚拟 Android 设备

google 参考资料&#xff1a; https://source.android.com/docs/setup/start?hlzh-cn https://source.android.com/docs/devices/cuttlefish/get-started?hlzh-cn Cuttlefish 开始 验证 KVM 可用性 Cuttlefish 是一种虚拟设备&#xff0c;依赖于宿主机上可用的虚拟化。 …

鸿蒙Harmony开发:通用焦点样式事件规范

基础概念 焦点、焦点链和走焦 焦点&#xff1a;指向当前应用界面上唯一的一个可交互元素&#xff0c;当用户使用键盘、电视遥控器、车机摇杆/旋钮等非指向性输入设备与应用程序进行间接交互时&#xff0c;基于焦点的导航和交互是重要的输入手段。焦点链&#xff1a;在应用的组…

Docker安装teslamate

要求 Docker&#xff08;如果不熟悉 Docker&#xff0c;请参阅安装 Docker 和 Docker Compose&#xff09;一台始终开启的机器&#xff0c;因此 TeslaMate 可以持续获取数据计算机上至少有 1 GB 的 RAM 才能成功安装。外部互联网访问&#xff0c;与 tesla.com 交谈 创建一个名…

【数据结构】队列篇

文章目录 1.队列1.1 队列的概念及结构 2. 队列的实现2.1 准备工作2.2 队列的初始化2.3 队尾入队列2.4 队头出队列2.5 获取队列头部元素2.6 获取队列队尾元素2.7 获取队列有效元素个数2.8 检测队列是否为空2.9 销毁队列 3. 代码整合 1.队列 1.1 队列的概念及结构 队列&#xff…

黑马Java零基础视频教程精华部分_15_基本查找/顺序查找、二分查找/折半查找、插值查找、斐波那契查找、分块查找、哈希查找

系列文章目录 文章目录 系列文章目录一、基本查找/顺序查找核心思想&#xff1a;从0索引开始挨个往后查找代码&#xff1a;练习&#xff1a;定义一个方法利用基本查找&#xff0c;查询某个元素在数组中的索引&#xff0c;数组包含重复数据。 二、二分查找/折半查找核心思想:属于…

LVS多模式集群攻略!

NAT模式下的lvs集群 lvs-nat概念&#xff1a;修改请求报文的目标IP,多目标IP的DNAT&#xff0c;本质是多目标IP的DNAT&#xff0c;通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发 最终实现效果&#xff1a; 1.Director 服务器采用双网卡&#xff…