Tree-RAG工作流程及实体树应用介绍

image.png

引言

T-RAG方法基于将检索增强生成(Retrieval-Augmented Generation,简称RAG)架构与开源经过微调的大型语言模型(Large Language Model,简称LLM)以及实体树向量数据库相结合。这种方法的重点在于上下文检索。

具体来说,T-RAG系统:

  • 首先利用RAG架构进行信息检索,这一架构通过结合检索到的文档片段和生成的文本来生成响应。
  • 通过在开源的LLM上进行微调,使得模型能够更好地理解和适应特定组织的需求和术语。

此外,T-RAG还包括了一个实体树向量数据库,这个数据库存储了组织内部实体的详细信息及其层级结构。在处理用户查询时,系统不仅会搜索相关的文档片段,还会检测查询中提到的任何组织相关实体,并将这些实体的详细信息整合到生成的上下文中。

本文分享了在私有文件上部署问答系统的LLM应用的经验,使用了一种名为Tree-RAG(T-RAG)的系统,该系统结合了实体层次结构以提高性能。

亮点

在论文中,研究人员开发了一个应用,该应用将检索增强生成(RAG)与微调后的开源大型语言模型(LLM)结合在一起,用于生成响应。这个模型是使用指令数据集进行训练的。

他们引入了一个新颖的评估指标,称为Correct-Verbose,旨在评估生成响应的质量。这个指标根据其正确性评估响应,同时考虑包含超出原始问题范围的额外相关信息。

T-RAG

以下是Tree-RAG(T-RAG)的工作流程:

image.png

对于给定的用户查询,搜索向量数据库以寻找相关的文档片段,这些片段作为LLM在上下文学习中的参考知识。

如果查询提到了有组织性的实体,那么将从实体树中提取关于这些实体的信息,并添加到上下文中。

最终使用微调的Llama-2 7B模型根据输入的数据生成响应。

T-RAG的一个特点是除了向量数据库用于上下文检索之外,还包括了一个实体树

实体树

T-RAG的一个显著特点是其结合了实体树和向量数据库来进行上下文检索。实体树存储了组织性的实体及其层级安排的详细信息。

这里所说的组织性是指:很多时候,一些概念本身是有组织的,比如一家公司的各个部门,会有一些层级关系。树中的每个节点代表一个实体,父节点表示其所属的一个更广义的实体,比如一个小组的父节点是其所属的部门。

在检索过程中,框架利用实体树来增强从向量数据库检索到的上下文。

实体树搜索和上下文生成的详细过程如下:

  1. 一个解析模块扫描用户查询,寻找与组织内实体名称相对应的关键词。
  2. 一旦识别出一个或多个匹配项,就从树中提取每个匹配实体的详细信息。
  3. 这些细节被转换成文本陈述,提供有关实体及其在组织层级中位置的信息。
  4. 随后,这些信息与从向量数据库检索到的文档片段合并,构建上下文。
  5. 由此,当用户询问有关实体时,模型可以获得有关实体及其在组织层级中的定位的相关信息。

例子

如下图所示:

image.png

这里使用了一个组织结构树,来展示如何执行树搜索和检索。

除了获取上下文文档外,还使用spaCy库和自定义规则来识别组织内的命名实体。

如果查询包含一个或多个这样的实体,将从树中提取有关实体层级位置的相关信息,并将其转换为文本陈述。然后,这些陈述被整合到上下文中,与检索到的文档一起使用。

然而,如果用户的查询没有提到任何实体,那么将省略树搜索过程,只使用从检索到的文档中获取的上下文以加速响应。

总结

这项研究结合了检索增强生成(RAG)和微调技术。同时,使用在本地部署的开源模型来解决数据隐私问题,。

此外,通过spaCy框架使用实体进行实体搜索和上下文生成也很有趣。通过这种方式,T-RAG能够在提供准确和相关响应的同时,保持对上下文的敏感性和对组织内部结构的理解。这种结合检索、生成和实体检测的方法,为构建高效、可靠的问答系统提供了一种有效的解决方案。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

001-NodeJs全局对象

概念 node是一个运行js的平台,在node中,用global对象取代了Window这个对象。 node中的repl环境可以执行js,通过命令node进入到repl环境。repl环境类似于Chrome的开发人员工具。 全局对象global 可以参考一下它的文档global全局对象 node版本介绍&am…

Tecplot导出流场Movie

本人最近想利用Tecplot导出流场计算的视频,找了以下两种方法:1、直接一次性打开所有文件,导出视频;2、利用脚本每次打开一个文件,导出其照片,最后合成视频。 方法一 对于文件内存少的情况,自然…

idea中输入法被锁定如何清除

今天遇到一个问题?idea中输入法被锁定了,无论怎么切换输入法,切换中英文,在idea中输出的均为英文内容,该如何解决呢?(idea官网:JetBrains: 软件开发者和团队的必备工具) …

【Java】SpringBoot快速整合mongoDB

目录 1.什么是mongoDB? 2.Docker安装mongoDB 3.SpringBoot整合mongoDB步骤 4.验证 1.什么是mongoDB? MongoDB是一种非关系型数据库,被广泛用于大型数据存储和分布式系统的构建。MongoDB支持的数据模型比传统的关系型数据库更加灵活&#x…

web自动化测试系列-selenium常用方法定位(五)

目录 1.selenium的定位方法 2.操作案例 3.实现代码 前面我们介绍了html页面元素主要是通过标签和属性来进行定位 ,只要满足唯一,无论是标签还是属性 ,都能进行定位 。当然 ,我们要通过selenium来进行定位 ,同样还是…

wpf下如何实现超低延迟的RTMP或RTSP播放

技术背景 我们在做Windows平台RTMP和RTSP播放模块对接的时候,有开发者需要在wpf下调用,如果要在wpf下使用,只需要参考C#的对接demo即可,唯一不同的是,视频流数据显示的话,要么通过控件模式,要么…

使用脚本部署openstack平台

两台虚拟机,compute和controller computer的节点,内存4G,硬盘50G,网络要在虚拟机设置这里添加一个网络适配器,第一个是主机模式192.168.10.0,第二个是NAT模式192.168.20.0,再进入网络编辑器里编…

多输入多输出 | Matlab实现XGboost多输入多输出预测

多输入多输出 | Matlab实现XGboost多输入多输出预测 目录 多输入多输出 | Matlab实现XGboost多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现XGboost多输入多输出预测 1.data为数据集,10个输入特征,3个输出变量…

【绘图案例-获取裁剪过后的图片 Objective-C语言】

一、获取裁剪过后的图片 1.就是,把一张方形的图片,变成一张圆形的图片,然后,把它保存在相册里边儿, 我们刚刚学了保存到沙盒,是吧,现在来学保存到相册, 我们新建一个项目, Name:11-获取裁剪过后的图片, 我们还是在ViewController里面, 把下面这个方法删掉, 在下…

算法刷题应用知识补充---数论

这里写目录标题 快速幂求a^k%p题结 快速幂求逆元题结 扩展欧几里得求逆元题结 排列组合题结二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 快速幂求a^k%p 题 结 主要用到a的k次方,可以用多个a的…

RX4901CE自带SPI接口,适合用在需高精度和快速响应的设备

传统的模拟温度补偿晶振采用热敏电阻等元器件来检测环境温度,将温度信息做相应变换后控制晶振的输出频率用来实现稳定输出,但是这种做法频率补偿精度有限。伴随目前电路计算频率越来越高,更多工业级的高时间精度和快速时间响应的应用出现&…

实验5 流程图和盒图ns图

一、实验目的 通过绘制流程图和盒图,熟练掌握流程图和盒图的基本原理。 能对简单问题进行流程图和盒图的分析,独立地完成流程图和盒图设计。 二、实验项目内容(实验题目) 1、用Microsoft Visio绘制下列程序的程序流程图。 若…

代码整洁之道【3】--注释

传统的印象里,良好的代码都是需要丰富的注释的。看完《代码整洁之道》注释这章之后,发现根本不是这个样子: 什么也比不上放置良好的注释有用。什么也不会比乱七八糟的注释更有本事搞乱一个模块。 什么也不会比陈旧的、提供错误信息的注释更有…

Unity DOTS 入门(2) SubScene和Bake

SubScene 由于Unity原本的Scene无法使用ECS,所以需要SubScene来存放ECS模式下的内容可以正常的像普通的开发模式一样,在SubScene里面来添加GameObject, MonoBehaviour然后Unity将这个SubScene里面的物体,全部baking(烘培)出来,转…

Windows服务器任务计划启动 Java 应用遇到的error:解决错误ERROR0x2331

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

vs2022启动cmake项目(qt+c++)

1.本工程,如图,1个cmakelist.txt3个文件 2.启动vs 3.选择文件夹 4.进入这个页面,就说明配置没问题 5.启动 6.最后会自己生成其他文件

crc编码流水传输

目标 首先我们要确定目标就是输入两位错的时候我们需要重新传输 这其中还分了地址回位,不显示输出,各位清零操作 我们再去看一下这个的详细封转 这么做是有问题的,没有将之前的数据清零 我们做完清零操作以后我们提交一下 发现只需要一…

从零开始学Spring Boot系列-SpringApplication

SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 : SpringBootApplicationpublic class SpringbootLearningApplication {public static void main(String[] args) …

透视 Insilico 英矽智能:AI 制药明星企业的飞跃、困境与破局

衰老,从古至今困扰了无数仁人志士。无论是千古一帝秦始皇,还是雄才大略汉武帝,亦或者挥斥方遒唐太宗,这些伟大的帝王无一例外的都留下了许多追求长生的故事。当时光的指针落在了 21 世纪的第二个十年,随着全球老龄化问…

中老年人高血糖预防需知:少碰两黄一白,四指标严格控制!

对于血糖不好的人来说,尤其是中老年人,饮食上的调整非常重要。 “少碰两黄一白”是一个很好的饮食原则,可以帮助稳定血糖,预防糖尿病及其并发症的发生。 “两黄”指的是油炸食物和含糖量高的食物,长期摄入会导致身体肥…