MindSearch:用于增强网络搜索效率的开源人工智能

news2024/9/22 21:32:29

image.png

Web 信息查找与集成是搜索、检索、提取或集成 Web 资源以满足特定需求的活动,是实际生活中几乎所有领域中每个决策和解决问题的实体都必须执行的操作。

大型语言模型 (LLM) 与搜索引擎的集成重新定义了我们在网络上查找和使用信息的方式。因此,LLM 能够更好地理解自然语言查询,有助于提供更精确的搜索结果,同时考虑到适当的上下文。您能够组合的越多,可以形成的查询就越好,因为从不同来源提取和聚合信息的能力得到了很大的改善。即使在这些改进之后,诸如解决复杂查询、处理大量搜索结果以及集成到 LLM 的上下文长度限制等问题仍然存在。

一种新的人工智能模型将通过提高网络信息搜索和整合的效率和准确性来帮助解决这些问题。这种新人工智能模型背后的研究团队由中国科技大学的科学家以及上海人工智能实验室的学者组成。这项工作的动机是开发一个人工智能框架来模拟人类在网络信息搜索和整合中的基本认知过程。这种新的人工智能模型就是 Mindsearch。

MindSearch 是什么?

MindSearch 是一个开源项目,旨在通过网页模拟人类的信息检索、获取和整合行为。该框架利用多代理将复杂查询分解为子查询,并以巧妙的方式传递信息。这是一种强大而有效的提高相关性深度的方法,在基于主题的查询中具有直接应用。

MindSearch 的主要功能

image.png

  • 询问一切问题的最佳方式:MindSearch 专为主题查询而构建,它能够利用网络知识的力量回答任何问题。
  • 知识发现:它将浏览数百个网页,提供更长、更广泛的知识库答案。
  • 通过细节解决路径:MindSearch 将所有细节可视化,以便用户可以验证他们想要的一切,从而使响应更可信、更实用。
  • 优化的 UI 体验:这是通过 UI 体验进行优化的,它包括不同的界面,如 React、Gradio、Streamlit 和 Terminal,为用户提供灵活的选择。
  • 动态图形构建:MindSearch 将用户查询分解为对搜索有效的原子子问题,并使用当前搜索结果中的一些新顶点扩展图形分支。

MindSearch 的功能/用例

  • 快速文档搜索:MindSearch 使用 AI 在文档中搜索简短查询,提供更快的结果并节省检查多个文件的时间。
  • 运营效率:它最大限度地减少了文档搜索/检索过程,如果在专业环境中实施,则可以提高工作效率。
  • 科学研究:科学家可以访问其部门保存的大量文件中的相关信息。
  • 个人:无需翻阅页面即可快速找到您的个人文档和信息。
  • 聊天功能:提供不引人注目的聊天功能,用于系统的个人和专业交流。

这些步骤之后的特性和功能使 mindsearch 成为一个灵活的工具,为网络信息搜索和多个领域的集成提供支持。

MindSearch 如何工作?(架构/设计)

MindSearch 的工作原理是将复杂的用户查询分解为较小的子问题。这意味着 WebPlanner 将把此查询模拟为动态图。

见下图:MindSearch 的一般工作流程由两个关键组件组成:WebPlanner 和 WebSearcher。WebPlanner 负责与多个 WebSearchers 一起安排推理步骤,它充当顶级规划器。

image.png

图形构建过程:图形构建是将用户查询分解为原子子查询,以图形中的节点表示。这使得编写复杂查询和管理长上下文变得容易。WebSearcher 通过引擎上的关键字执行分层搜索,并产生有价值的结果,供另一个机器人收集,然后是 WebPlanner。MindSearch 将推理和检索过程拆分为专门的代理,以便整个框架也可以并行从单个网页中搜索更多信息。

MindSearch 建立在 JADE 之上,为高性能搜索引擎信息搜索和集成系统中的多代理应用程序提供了一个易于使用的框架。这种明确的上下文管理和角色分配使 MindSearch 能够在短时间内从多个网页收集和整合信息。这种架构设计使 MindSearch 能够与专有 AI 搜索引擎竞争;从而为即将到来的研究和开发提供了一个令人鼓舞的解决方案。

MindSearch 中使用的技术和方法

以下是构建最终 MindSearch 模型所使用的人工智能和机器学习技术:

  • 分层信息检索:使用分层信息检索来了解搜索引擎的工作原理,从搜索引擎中提取相关有价值的信息放入WebPlanner中。
  • 检索-增强-生成 (RAG):MindSearch 在 LLM 中采用基于 RAG 的搜索,将最新信息的检索与强大的解决方案生成相结合。
  • 代码生成:MindSearch 使用代码生成与图形交互并执行搜索,从而允许模型将复杂问题不断分解为可执行查询。
  • 有向无环图(DAG):这种表示形式传达了确定最佳执行路径的挑战,并且它通过具有易于理解的 LLM 性质的 DAG 正式表示。
  • Python解释器:MindSearch使用python解释器来解释和执行代码,为规划器实现多样化的搜索结果,从而可以通过统一调用与图形进行交互。
  • 零样本学习:MindSearch 在零样本设置下工作,这意味着即使在部署阶段没有使用下游(目标)任务的数据,它也可以应用于新任务或领域。
  • 长上下文管理:为了应对长上下文任务,MindSearch 使用上下文管理机制来帮助模型关注关键细节并减少噪音。

除上述内容外,前面几节已经介绍了一些内容,例如 LLM 的使用、图形构造、多智能体框架。所有这些技术和方法都真正提高了游戏水平,提供了比其他模型更好的响应质量和准确性。

绩效评估

上述过程是在 MindSearch 模型上执行的,它与其他模型 ChatGPT-Web、Perplexity.ai Pro 进行了竞争。深度、广度和事实性:对于下图所示的三种 2D 格式模型(没有任何知识掩码),MindSearch 与这些模型相比具有优越的性能。这一点很明显,因为 MindSearch 针对精细搜索生成详细的响应,而这些响应显然比其他模型更好。image.png

除了开放集 QA 任务外,MindSearch 还在一些封闭集 QA 任务(Bamboogle、Musique 和 HotpotQA)上进行了测试。总体而言,如下表所示,MindSearch 在这些任务上的表现明显优于其他模型,包括 ReAct Search 和没有搜索引擎的原始 LLM。不同 LLM 后端(例如 GPT-4o 和 InternLM2.5–7b-chat)的 perflist 相似。这些结果证明 MindSearch 在回答查询的复杂问题方面表现非常出色。

image.png

总体而言,性能测试表明,MindSearch 在响应质量和准确性方面优于其他模型。

如何访问和使用 MindSearch?

MindSearch 是 GitHub 上的一个开源项目。用户可以使用闭源 LLM(GPT、Claude)或开源 LLM(InternLM2.5–7b-chat)将其部署到自己的 perplexity.ai 风格搜索引擎中。该项目提供了有关设置 API、FastAPI 服务器和前端接口(React、Gradio、Streamlit、Terminal)的详细说明。许可结构为 Apache 2.0,可免费用于商业和非商业用途。

局限性和未来工作

虽然响应质量已经有了很大的改善,但 MindSearch 仍然有局限性。这里一个非常重要的问题是幻觉——在经过长时间的上下文对话后,模型可以得出任何与现实无关的答案。其次,搜索引擎可以并且经常会推广有偏见或过时的信息。虽然多代理设计能够处理复杂的查询,但如果操作不当,它可能会在管理这些迁移的上下文方面出现问题。

未来的研究可能会涉及事实核查机制、更好的上下文管理以及探索除搜索引擎之外的其他类型的信息源等任务。重新审视这些限制将使 MindSearch 等先锋解决方案发展成为更强大、更可靠的网络信息搜索/集成解决方案。

结论

MindSeach 是网络信息搜索和集成领域的一大进步。由于它与人类认知过程相似,因此还解决了该领域的许多其他问题。它构建为一个开源平台,提供高水平的性能,因此受到研究人员和商业受众的青睐。MindSearch — 未来可期!随着所有即将到来的进步,人工智能驱动的信息检索的未来,Mindsearch 正在占据重要地位。

关注我,每天带你开发一个AI应用。每周二四六直播,欢迎大家多多交流。

image.png

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

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

相关文章

开放式耳机好用吗?开放式耳机推荐

开放式耳机好用吗? 开放式耳机确实在特定场景下表现出色,它们有着独特的优点,使得不少用户对其青睐有加。 首先,从舒适度来看,开放式耳机避免了入耳式耳机可能带来的耳道压迫感,长时间佩戴也能保持相对舒适…

开源力量,智领云KDP为大数据处理领域注入云原生活力

在数字化转型的浪潮中,大数据处理已成为企业挖掘价值、驱动决策的核心引擎。随着云原生技术的兴起,如何高效、灵活地管理和分析海量数据成为行业面临的新挑战。在此背景下,开源技术以其强大的社区支持、灵活性和可扩展性,正逐步成…

深入理解Java设计模式:23种模式的全面解析

深入理解Java设计模式:23种模式的全面解析 一、创建型模式1. 单例(Singleton)模式2. 原型(Prototype)模式3. 工厂方法(Factory Method)模式4. 抽象工厂(Abstract Factory&#xff09…

JavaWeb中的Servlet

本笔记基于【尚硅谷全新JavaWeb教程,企业主流javaweb技术栈】https://www.bilibili.com/video/BV1UN411x7xe?vd_sourcea91dafe0f846ad7bd19625e392cf76d8总结 Servlet Servlet简介 动态资源和静态资源 静态资源 无需在程序运行时通过代码运行生成的资源,在程序运…

Chapter 30 多态

欢迎大家订阅【Python从入门到精通】专栏,一起探索Python的无限可能! 文章目录 前言一、基本概念二、抽象类 前言 多态(Polymorphism)是面向对象编程中的核心概念,本章将详细讲解 Python 中多态的实现方式以及如何应用…

SQL Zoo 8.Using Null

以下数据均来自SQL Zoo 1.List the teachers who have NULL for their department.(列出所属部门为NULL的教师) select name from teacher where dept is null 2.Note the INNER JOIN misses the teachers with no department and the departments wit…

【Git】Git安装_配置

一、Git的安装 1. 下载Git 官方下载:访问Git的官方网站https://git-scm.com/,在首页找到下载链接。但需要注意的是,由于Git的服务器位于国外,直接下载可能会比较慢。镜像下载:推荐使用国内的镜像网站进行下载&#x…

【Canvas与艺术】蓝波纹白底黄星徽章

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>蓝波纹白底黄星徽章</title><style type"text/css&qu…

《系统架构设计师教程(第2版)》第13章-层次式架构设计理论与实践-04-数据访问层设计

文章目录 1. 五种数据访问模式1.1 在线访问1.2 DAO1.3 DTO1.4 离线数据模式1.5 对象/关系映射 (O/R Mapping) 2. 工厂方法模式在数据访问层应用3 ORM、Hibernate与CMP2.0设计思想3.1 ORM3.2 Hibernate1&#xff09;概述2&#xff09; Hibernate的架构&#xff08;2023年的考题&…

SpringBoot统一功能处理——统一数据返回格式

目录 一、简单使用 二、存在的问题描述 三、优点 一、简单使用 统一的数据返回格式使用 ControllerAdvice 和 ResponseBodyAdvice 的方式实现 ControllerAdvice 表示控制器通知类。 添加类 ResponseAdvice , 实现 ResponseBodyAdvice 接口&#xff0c;并在类上添加 …

【jQuery】入门学习篇

文章目录 一、前言&#x1f680;&#x1f680;&#x1f680;二、jQuery简介及使用详解&#xff1a;☀️☀️☀️2.1 jQuery简介2.2 引入jQuery① 第一种引入方式&#xff1a;直接路径引入② 第二种引入方式&#xff1a;使用第三方CDN 后序还在更新中~~~三、总结&#xff1a;&am…

C++_基本语法笔记_类和对象

对于有Java基础的思想不过多记录&#xff0c;仅看语法 创建和封装对象 类似Java中的set操作&#xff0c;可以写一个赋值操作用于给实例化对象赋属性值 三种权限&#xff1a;public &#xff0c; protect &#xff0c;private Class和Struct区别 Struct默认为public权限cla…

SpringBoot统一功能处理——拦截器

目录 一、什么是拦截器&#xff1f; 二、拦截器使用 2.1 定义拦截器 2.2 注册配置拦截器 三、拦截器详解 3.1 拦截器的拦截路径配置 3.2 拦截器执行流程 一、什么是拦截器&#xff1f; 拦截器是Spring框架提供的核心功能之一, 主要用来拦截用户的请求, 在指定方法前后,…

C语言 | Leetcode C语言题解之第332题重新安排行程

题目&#xff1a; 题解&#xff1a; char* id2str[26 * 26 * 26];int str2id(char* a) {int ret 0;for (int i 0; i < 3; i) {ret ret * 26 a[i] - A;}return ret; }int cmp(const void* _a, const void* _b) {int **a (int**)_a, **b (int**)_b;return (*b)[0] - (*…

python网络爬虫使用代理

Python网络爬虫使用代理的实用指南 在网络爬虫的开发过程中&#xff0c;使用代理是一个非常重要的环节。代理不仅可以帮助爬虫绕过反爬虫机制&#xff0c;还能保护开发者的隐私。本文将介绍如何在Python中使用代理进行网络爬虫&#xff0c;包括基本的设置和示例代码。 1. 代理…

手机短视频素材网站有哪些啊?手机视频素材库网站分享

在当今的数字时代&#xff0c;智能手机与社交媒体平台的融合推动了手机短视频的兴起。这种形式的媒体已经渗透到我们的日常生活中&#xff0c;无论是作为娱乐手段、教育工具还是商业推广手段&#xff0c;优质的短视频都具有极高的吸引力和广泛的应用价值。因此&#xff0c;选择…

『 C++ 』智能指针 ( 万字梳理 )

文章目录 智能指针概念内存泄漏的危害RAII与智能指针智能指针的赋值auto_ptr 管理权转移auto_ptr 的对象悬空问题 unique_ptr 防拷贝unique_ptr 简单实现 shared_ptr 引用计数shared_ptr 简单实现shared_ptr 的循环引用问题与 weak_ptr 智能指针的自定义删除器 智能指针概念 智…

【独家原创】基于NRBO-Transformer多特征分类预测【24年新算法】 (多输入单输出)Matlab代码

【独家原创】NRBO-Transformer分类 Matlab代码 基于牛顿拉夫逊优化算法优化Transformer的数据分类预测&#xff0c;Matlab代码&#xff0c;可直接运行&#xff0c;适合小白新手 NRBO优化的超参数为&#xff1a;自注意力机制中的头数、正则化系数、初始化学习率 1.程序已经调试…

《知识点扫盲 · Redis 分布式锁》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

数据库索引设计原则

1. 概述 索引是优化数据库性能最重要的工具之一。但是&#xff0c;创建过多的索引或索引错误的列也会对性能产生负面影响。因此&#xff0c;在设计索引时遵循一定的原则很重要。 2. 原则A - 根据工作负载创建索引 创建高效索引最重要的原则是根据您的工作负载而不是表结构创…