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

号称世界上第一个开源实时翻译的 App,微软开源GraphRAG:极大增强大模型问答、摘要、推理,以及开源基于ChatGPT的超级文本代码智能体(附代码地址)

号称世界上第一个开源实时翻译的 App,微软开源GraphRAG:极大增强大模型问答、摘要、推理,以及开源基于ChatGPT的超级文本代码智能体(附代码地址)

在这里插入图片描述

在「端侧」上实现可离线的「实时同传」翻译,支持 29+ 语言的 RTranslator 开源 一天飙升 1700 Star - 号称世界上第一个开源实时翻译的 App

  • Onnxruntime 端侧运行,Meta 开源的 SOTA NLLB 跑翻译,Whisper 244M 做 TTS/STT
  • 3种模式解决快速、长对话、简单文本翻译

连接到拥有该应用程序的人,连接蓝牙耳机,将手机放入口袋中,然后您就可以像对方说您的语言一样进行对话。

在这里插入图片描述

对话模式
对话模式是RTranslator的主要功能。在此模式下,您可以与使用此应用程序的另一部手机连接。如果用户接受您的连接请求:

当您说话时,您的手机(或蓝牙耳机,如果已连接)将捕获音频。

捕获的音频将转换为文本并发送到对话者的手机上。

对话者的手机会将收到的文本翻译成他的语言。

对话者的手机会将翻译后的文本转换为音频,并从扬声器中再现它(或者通过对话者的蓝牙耳机,如果连接到他的手机)。

所有这一切都是双向的。

每个用户可以拥有多个已连接的电话,以便您可以翻译两个以上的人之间以及任意组合的对话。

对讲机模式
如果对话模式适用于与某人进行长时间对话,那么该模式则专为快速对话而设计,例如在街上询问信息或与店员交谈。

该模式只能翻译两个人之间的对话,不适用于蓝牙耳机,而且必须轮流说话。这不是真正的同声翻译,但它只能在一部手机上使用。

在此模式下,智能手机麦克风将同时以两种语言收听(可在对讲机模式的同一屏幕中选择)。

该应用程序将检测对话者使用哪种语言,将音频翻译成另一种语言,将文本转换为音频,然后从手机扬声器中再现。TTS 结束后,它将自动恢复收听。

文本翻译模式
这种模式只是一个经典的文本翻译器,但总是有用的。

一般的
RTranslator 使用 Meta 的 NLLB 进行翻译,使用 OpenAi 的 Whisper 进行语音识别,两者都是(几乎)开源且最先进的 AI,具有出色的质量并直接在手机上运行,确保绝对隐私,甚至可以在离线状态下使用 RTranslator。质量损失。

此外,RTranslator 甚至可以在后台运行、手机处于待机状态或使用其他应用程序时(仅当您使用对话或 WalkieTalkie 模式时)。然而,有些手机会限制后台的电量,因此在这种情况下,最好避免它并在屏幕打开的情况下保持应用程序打开。

项目链接
https://github.com/niedev/RTranslator


微软开源GraphRAG:极大增强大模型问答、摘要、推理

微软在官网开源了基于图的RAG(检索增强生成)——GraphRAG。

为了增强大模型的搜索、问答、摘要、推理等能力,RAG已经成为GPT-4、Qwen-2、文心一言、讯飞星火、Gemini等国内外知名大模型标配功能。

传统的RAG系统在处理外部数据源时,只是简单地将文档转换为文本,将其分割为片段,然后嵌入到向量空间中,使得相似的语义对应相近的位置。

但这种方法在处理需要全局理解的海量数据查询时存在局限,因为它过度依赖局部文本片段的检索,无法捕捉到整个数据集的全貌。

所以,微软在RAG基础之上通过“Graph”图的方式,例如,文本中的实体,人物、地点、概念等,构建了超大的知识图谱,帮助大模型更好地捕捉文本中的复杂联系和交互,来增强其生成、检索等能力。

开源地址:https://github.com/microsoft/graphrag?tab=readme-ov-file

在这里插入图片描述

Graph RAG架构简单介绍

Graph RAG的核心是通过两阶段构建基于图谱的文本索引:首先,从源文档中衍生出实体知识图谱;然后,针对所有紧密相关的实体群组预生成社区摘要。

所以,Graph RAG的第一步就是将源文档分割成较小的文本块,这些文本块随后被输入到大模型中以提取关键信息。

在这里插入图片描述

在这个过程中,大模型不仅要识别文本中的实体,还要识别实体之间的关系,包括它们之间的相互作用和联系,用来构建一个庞大的实体知识图谱,其中包含了数据集中所有重要实体和它们之间的关系。

简单来说,这个过程就像杀鸡一样,当一整只鸡(数据)拿上来后,我们就要把它分解成腿、翅膀、胸肉等更细小的组成部分,同时会关注这些部位之间的关系方便后续的处理。

在这里插入图片描述

接着,Graph RAG使用社区检测算法来识别图谱中的模块化社区。这些社区由相关的节点组成,它们之间的联系比与图中其他部分的联系更为紧密。通过这种方式,整个图谱被划分为更小、更易于管理的单元,每个单元都代表了数据集中的一个特定主题或概念。

在基于图的索引之上,Graph RAG进一步生成社区摘要。这些摘要是对社区内所有实体和关系的总结,它们提供了对数据集中特定部分的高层次理解。

然后要求大模型对每个答案进行打分,分数在0—100之间,得分过低的将被过滤掉,高分则留下。将剩余的中间答案按照得分高低排序,逐步添加至新的上下文窗口中,直至词数限制。

例如,当用户提问“如何进行有效减肥时?”,系统会利用与问题相关的社区摘要来生成部分答案。这些部分答案随后被汇总并精炼,以形成最终答案。

Graph RAG对大模型的好处

与传统RAG相比,Graph RAG的全局检索能力非常强,所以很擅长处理大规模数据集,以下是对大模型的主要帮助。

扩展上下文理解能力:通常大模型受限于其上下文窗口的大小,这限制了它们理解和生成基于长文本的能力。Graph RAG通过构建基于图的索引,将整个文本集合分解成更小、更易于管理的社区模块,从而扩展了模型的理解和生成能力。

增强全局查询:传统的RAG方法在处理全局数据的查询时表现不佳,因为依赖于局部文本片段的检索。Graph RAG通过生成社区摘要,使得模型能够从整个数据集中提取相关信息,生成更加全面和准确的答案。

提高摘要的质量和多样性:Graph RAG方法通过并行生成社区摘要,然后汇总这些摘要来生成最终答案,能帮助大模型从不同的角度和社区中提取信息,从而生成更丰富的摘要。

在这里插入图片描述

优化算力、资源利用率:在处理大规模文本数据集时,资源的有效利用至关重要。Graph RAG通过模块化处理,减少了对算力资源的需求。与传统的全文摘要方法相比,Graph RAG在生成高质量摘要的同时,显著降低了对token的需求。

提升信息检索和生成的协同:Graph RAG方法通过结合检索增强和生成任务,实现了两者之间的协同工作,提高了生成内容的准确性和相关性。

增强了对数据集结构的理解:通过构建知识图谱和社区结构,Graph RAG不仅帮助模型理解文本内容,还能理解数据集的内在结构。

提高对复杂问题的处理能力:在处理需要多步骤推理或多文档信息整合的复杂问题时,Graph RAG能够通过检索和摘要不同社区的信息,提升对问题更深层次的理解。尤其是在解读PDF、Word等文档时非常有用。

为了评估Graph RAG的性能,微软在一个100万tokens、超复杂结构的数据集上,包含娱乐、播客、商业、体育、技术、医疗等内容,进行了综合测试。

在这里插入图片描述

结果显示,全局检索方法在全面性和多样性测试上,超越了Naive RAG等方法。特别是,Graph RAG方法在播客转录和新闻文章数据集上都显示出了超高的水准,多样性也非常全面,是目前最佳的RAG方法之一。

同时Graph RAG对tokens的需求很低,也就是说可以帮助开发者节省大量成本。


微软开源基于ChatGPT的,超级文本代码智能体

随着ChatGPT等生成式AI产品的出现,大语言模型在应用、商业化落地等方面获得了巨大进展。但在处理数据分析时表现不佳,例如,像DataFrame这类复杂的数据格式很难直接用文本的方式表示出来,无法灵活地满足不同用户需求。

为了解决这些难题,微软的研究人员提出了“Code-First”的技术概念,并基于ChatGPT(GPT-3.5以上版本,作者推荐使用GPT-4)开发了超级代码智能体——TaskWeaver。

TaskWeaver可以将用户的自然语言文本请求转化为Python代码在后台运行,并且这些代码可以任意调用功能插件,完成数据读取、分析、模型训练等专业任务。

开源地址:https://github.com/microsoft/TaskWeaver

论文地址:https://arxiv.org/abs/2311.17541

在这里插入图片描述

简单来说,通过TaskWeaver一些没有编程能力的人员,也能执行专业的代码任务。例如,我们想做一个数据分析的项目,数据库里存放了一大堆时间序列数据,需要写程序从数据库里把数据取出来,并检查里面有没有异常值。

在这里插入图片描述

但是根本不会编程,借助TaskWeaver框架只需要向其用文本说明你的意图,智能体就能帮你完成那些繁琐的代码,并生成可视化图表。

规划器

首先,用户提出数据分析等需求,会被送到TaskWeaver的规划器模块进行拆解。规划器就像一位总指挥,主要为整个任务制定执行计划。

会考量需求的复杂程度,把任务分解为简单直接的子步骤。比如从数据库取数据、画出结果图表等,还会分析步骤间的逻辑关联,标注出执行顺序。主要流程如下:

在这里插入图片描述

1)接收用户的文本查询,使用自身知识或增强示例生成初始执行计划,标明必要的子任务步骤。

2)优化初始计划,合并彼此依赖的子任务,减少调用次数,提高效率。最终形成执行计划。

3)遍历计划中的各个子任务,向代码生成器发送询问,获取执行代码。

4)观察代码执行结果,如有需要修改原计划,要求用户提供更多信息等。

5)重复第三和第四步,直到完成全部子任务。最后用自然语言响应用户的查询。

代码生成器

当规划完成后,计划中每个子步骤就会逐一送到代码生成器这里,由其汇报对应执行代码。代码生成器就像一位万能的“程序员”。

根据规划器下达的指令,自动设计出整个代码的执行逻辑并进行编写代码。为了减少重复轮子,还内置了插件、示例、代码校验、自动错误纠正等模块。

在这里插入图片描述

同时封装了数据读取、模型训练等常见功能,生成代码时就可以直接调用。

代码执行器

代码编写完成后,会将信息传输到代码执行器模块中。代码执行器主要负责加载代码并执行。插件在这一步也会发挥作用,使外部功能得以连接。执行器会详细记录这个过程的状态,例如变量值、编码日志、中间结果等,以方便进行多轮深度交互。

如果代码在执行过程中出现失败,会将错误信息报告给代码生成器进行自动修正,然后再次自动生成正确的代码。

在这里插入图片描述

在代码执行器执行完一轮任务后,会将结果发送给规划器,完成一次子步骤。再由规划器决定触发下一子步骤的执行任务,并重复以上流程。

相关文章:

号称世界上第一个开源实时翻译的 App,微软开源GraphRAG:极大增强大模型问答、摘要、推理,以及开源基于ChatGPT的超级文本代码智能体(附代码地址)

号称世界上第一个开源实时翻译的 App,微软开源GraphRAG:极大增强大模型问答、摘要、推理,以及开源基于ChatGPT的超级文本代码智能体(附代码地址) 在「端侧」上实现可离线的「实时同传」翻译,支持 29 语言的…...

PyTorch 2-深度学习-模块

PyTorch 2-深度学习-模块 一: pytorch1> pytorch 介绍2> pytorch 作用3> pytorch 优点4> pytorch 流程二:pytorch 模块1> torch.Tensor 模块2> torch.nn模块3> torch.nn.function模块4> torch.random模块5> torch.onnx模块6> torch.sparse模块7…...

【MyBatis】MyBatis 理论 40 问(二)

《MyBatis 理论 40 问》包含以下 2 篇文章: MyBatis 理论 40 问(一)MyBatis 理论 40 问(二) MyBatis 理论 40 问(二) 21.如何获取生成的主键?22.当实体类中的属性名和表中的字段名不…...

数据分析——Python网络爬虫(三){爬虫基本原理}

爬虫基本原理 爬虫基本流程拉取什么数据JavaScript渲染页面cookies爬虫代理检查robots.txt爬虫的攻与防 爬虫基本流程 • 获取网页源代码:通过库来实现,urllib,requests等实现http请求    • 提取信息:分析网页源代码&#xff0…...

Linux 忘记root密码,通过单用户模式修改

银河麒麟桌面操作系统 V10(sp1)”忘记用户密码,需要修改用户密码所写,可用于 X86 架构和 arm 架构。 2. 选择第一项,在上图界面按“e”键进行编辑修改。 3. 在以 linux 开头这行的行末,添加“init/bin/bas…...

安卓热门面试题二

什么是AndroidManifest.xml文件?它包含了哪些重要信息? AndroidManifest.xml文件是Android应用程序的全局配置文件,每个Android应用程序的根目录中都必须包含一个AndroidManifest.xml文件,且文件名不能修改。这个文件对于Android…...

agents 分类

一、分类 自动agent、半自动agent、领域、自定义sop和支持人为干预的agent。 先泼个冷水,目前这些agent项目都是实验品,发展还没有做知识库问答相关开源项目那么成熟, 二、全自动agent autoGPT、loopGPT、babyAGI 全自动agent就是人类不可…...

【期末考试复习】概率论与数理统计(知识点模式 - 复习题2)

题目&#xff1a; 设随机变量 X X X 的概率密度函数为 f ( x ) a b x f(x) a bx f(x)abx&#xff0c;其中 0 < x ≤ 1 0 < x \leq 1 0<x≤1&#xff1b; f ( x ) 0 f(x) 0 f(x)0&#xff0c;在其他情况下。已知 P ( X ≤ 1 / 2 ) 3 / 8 P(X \leq 1/2) 3/…...

Jetpack Compose实现一个简单的微信UI

https://blog.csdn.net/News53231323/article/details/128509048 https://franzliszt1847.blog.csdn.net/article/details/129344822...

myeclipse开发ssm框架项目图书管理系统 mysql数据库web计算机毕业设计项目

摘 要 随着计算机的广泛应用&#xff0c;其逐步成为现代化的标志。图书馆的信息量也会越来越大&#xff0c;因此需要对图书信息、借书信息、还书信息等进行管理&#xff0c;及时了解各个环节中信息的变更&#xff0c;要对因此而产生的单据进行及时的处理&#xff0c;为了提高高…...

网络安全防御 -- 防火墙安全策略用户认证综合实验

实验拓扑&#xff1a; 实验目的&#xff1a; 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网。 3、办公区设备10.0.2.10不允许访问DM…...

捷配笔记-PCB阻焊颜色对产品有什么影响?

阻焊层也称为阻焊层或阻焊剂。它是一种薄的聚合物层&#xff0c;应用于&#xff08;PCB&#xff09;。阻焊层的目的是保护PCB表面&#xff0c;并有助于防止焊桥。焊桥是两个导体之间的无意连接&#xff0c;通常是由于存在一小块焊料。需要注意的是&#xff0c;阻焊层被视为其单…...

网信大数据信用报告查询怎么查?网信大数据有什么作用?

随着互联网的快速发展&#xff0c;大数据技术已经广泛应用于各行各业。其中&#xff0c;网信大数据信用报告查询成为了许多人关注的焦点。那么&#xff0c;如何查询网信大数据信用报告呢?网信大数据又有哪些作用呢?本文将为您一一解答。 一、如何查询网信大数据信用报告? 要…...

【Vue】vue-element-admin组件化功能

1. 组件的封装 在vue-element-admin中&#xff0c;每个功能区域或UI元素都被封装成一个或多个Vue组件。这些组件可以是简单的按钮、输入框&#xff0c;也可以是复杂的表格、表单或页面布局。每个组件都包含了其模板&#xff08;HTML结构&#xff09;、逻辑&#xff08;JavaScr…...

[论文笔记]涨点近5%! 以内容中心的检索增强生成可扩展的级联框架:Pistis-RAG

引言 今天带来一篇较新RAG的论文笔记&#xff1a;Pistis-RAG: A Scalable Cascading Framework Towards Content-Centric Retrieval-Augmented Generation。 在希腊神话中&#xff0c;Pistis象征着诚信、信任和可靠性。受到这些原则的启发&#xff0c;Pistis-RAG是一个可扩展…...

时钟系统框图(时钟树)解析

时钟系统框图&#xff08;时钟树&#xff09;解析 文章目录 时钟系统框图&#xff08;时钟树&#xff09;解析1、时钟树2、 4个时钟源&#xff1a;HSI、HSE、LSI、LSE3、PLL锁相环倍频输出4、系统时钟的来源5、Enable CSS&#xff08;时钟监视系统&#xff09;6、几个重要的时钟…...

DNS缓存详解

目录 一、缓存分类 1. 客户端缓存&#xff08;以浏览器缓存为列&#xff09; 2. 操作系统缓存 3.本地hosts文件静态映射 二、DNS查找优先顺序 1.浏览器查找顺序 2.cmd ping查找顺序&#xff08;非浏览器&#xff09; 一、缓存分类 在一台终端上&#xff0c;DNS缓存可以…...

一款好用的特殊字符处理工具

跟mybatis代码的时候&#xff0c;偶然发现的一款特殊字符处理工具java.lang.StringTokenizer。平常&#xff0c;我们看到的mybatis mapper.xml里面各种换行各种缩进&#xff0c;但日志文件里面的sql都是整整齐齐的。没有换行符&#xff0c;缩进等。就是利用该工具做的格式化处理…...

双重锁定:零信任沙箱 完美的安全保障

在当今数字化的世界中&#xff0c;企业的数据安全已成为至关重要的一环。随着云计算、移动互联和物联网等新技术的不断发展&#xff0c;传统的安全边界逐渐模糊&#xff0c;访问控制模式的局限性也日益凸显。为了应对这些挑战&#xff0c;零信任安全模型和苏州深信达的SDC沙盒技…...

【小沐学Python】在线web数据可视化Python库:Bokeh

文章目录 1、简介2、安装3、测试3.1 创建折线图3.2 添加和自定义渲染器3.3 添加图例、文本和批注3.4 自定义您的绘图3.5 矢量化字形属性3.6 合并绘图3.7 显示和导出3.8 提供和筛选数据3.9 使用小部件3.10 嵌入Bokeh图表到Flask应用程序 结语 1、简介 https://bokeh.org/ https…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

基础测试工具使用经验

背景 vtune&#xff0c;perf, nsight system等基础测试工具&#xff0c;都是用过的&#xff0c;但是没有记录&#xff0c;都逐渐忘了。所以写这篇博客总结记录一下&#xff0c;只要以后发现新的用法&#xff0c;就记得来编辑补充一下 perf 比较基础的用法&#xff1a; 先改这…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...