论文阅读:T-RAG: LESSONS FROM THE LLM TRENCHES

news/2024/6/29 21:00:48

T-RAG: LESSONS FROM THE LLM TRENCHES(https://arxiv.org/abs/2402.07483)

https://github.com/jiangnanboy/paper_read_note

一.概述

大型语言模型(llm)越来越多地应用于各个领域,包括对私有企业文档的问答,其中数据安全性和鲁棒性至关重要。检索增强生成(retrieve - augmented Generation, RAG)是构建此类应用程序的重要框架,但要确保其健壮性,需要对其进行广泛的定制。本研究分享了在私有组织文档上部署LLM应用程序的经验,该应用程序使用名为Tree-RAG (T-RAG)的系统,该系统包含实体层次结构以提高性能。评估证明了这种方法的有效性,为现实世界的llm应用提供了有价值的见解。

由于这些文档的敏感性,安全风险是一个主要问题,这使得在公开api上使用专有的LLM模型以避免数据泄漏风险变得不切实际。这就需要使用可以部署在内部的开源模型。此外,有限的计算资源和基于可用文档的较小的训练数据集也带来了挑战。此外,确保对用户查询的可靠和准确的响应增加了复杂性,需要在这种环境中部署健壮的应用程序时进行广泛的定制和决策。

研究人员开发了一个应用程序,该应用程序将检索增强生成(RAG)与一个经过微调的开源大型语言模型(LLM)集成在一起,用于生成响应。该模型使用来自组织文档的指令数据集进行训练。

他们引入了一种新的评估指标,称为Correct-Verbose,旨在评估生成的响应的质量。该指标根据答案的正确性对答案进行评估,同时还会考虑是否包含超出原问题范围的其他相关信息。

二.T-RAG框架

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

1.对于给定的用户查询,在向量数据库中搜索相关的文档块,该块作为LLM上下文学习的上下文参考。

2.如果查询提到任何与组织相关的实体,则从实体树中提取有关实体的信息并添加到上下文中。经过微调的lama- 27b模型根据呈现的数据生成响应。

三.实体树(Entities Tree)

T-RAG的一个显著特点是,它将实体树与用于上下文检索的矢量数据库结合在一起。实体树存储有关组织实体及其层次结构安排的详细信息。此树中的每个节点表示一个实体,父节点表示它们各自的组成员关系。在检索过程中,框架利用实体树来增强从矢量数据库检索到的上下文。

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

1.最初,解析器模块扫描用户查询,查找与组织内实体名称对应的关键字。

2.在识别一个或多个匹配后,从树中提取关于每个匹配实体的详细信息。

3.这些细节被转换成文本语句,提供有关实体及其在组织层次结构中的位置的信息。

4.随后,将此信息与从矢量数据库检索到的文档块合并以构建上下文。

5.通过采用这种方法,当用户查询实体及其在组织中的层次位置时,模型可以访问有关实体的相关信息。

考虑到上面的图像,上下文生成的检索过程包括使用来自组织结构图的说明性示例来演示如何执行树搜索和检索。除了获取上下文文档之外,还使用spaCy库和自定义规则来标识组织内的命名实体。

如果查询包含一个或多个这样的实体,则从树中提取有关实体层次结构位置的相关信息,并将其转换为文本语句。然后将这些语句与检索到的文档一起合并到上下文中。

但是,如果用户的查询没有提到任何实体,则省略树搜索,只使用检索到的文档中的上下文。

四.总结

该研究结合了RAG和微调。同时利用本地托管的开源模型来解决数据隐私问题,同时解决推理延迟、令牌使用成本以及区域和地理可用性。通过spaCy框架使用实体进行实体搜索和上下文生成的方式很有趣。事实上,这不仅仅是一项研究,而是基于构建用于实际使用的LLM应用程序的经验所获得的经验教训。

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

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

相关文章

论文阅读:UniMS-RAG: Unified Multi-Source RAG for Personalised Dialogue

UniMS-RAG: Unified Multi-Source RAG for Personalised Dialogue(https://arxiv.org/abs/2401.13256) https://github.com/jiangnanboy/paper_read_note一.概述本研究探讨如何分解RAG过程,加入多文件检索、记忆和个人信息等元素。大型语言模型(llm)在自然语言任务中表现出色…

Windows defender:威胁服务已经停止

前言 最近遇到了一件棘手的事情,Windows defender无法启动,Windows更新失败。 我是发现电脑的好多文件被劫持,图片,excel表格,pdf文档,好多文件后缀被改为.locked,想解锁得花费0.1bit,大概5万元。 网上的操作挺多的,又是命令行又是搞注册表的,没啥卵用。 环境 版本:…

学习记录

1. 用户注册用户可以通过注册功能创建自己的账户。注册信息包括以下内容: - 用户ID(学号) - 用户名(姓名) - 手机号码 - 用户单位(班级)首次注册后,用户的姓名将被记录,无需每次输入。2. 设定每周学习目标每周一,用户可以设定学习目标,包括具体的任务目标,如完成数…

redis——P2:对P1的思考

到P1结束,redis都已经是一个不错的服务了,具体体现在缓存应用程序需要的数据,甚至在内存爆满的条件下还可以提供服务,似乎目的已经达成。但是实际上可能会遇到一些极端的情况,比如宕机。如果redis宕机了怎么办?目前所有的数据都存储在内存当中,宕机意为着失去所有缓存的…

会议预约管理信息系统

1、项目背景: 会议是企业进行决策、协商的重要组织形式,是企业日常办公处理事务的重要手段,是办公流程中不可缺少的重要环节,作为企业,如何有效的进行会议组织,管理各种会议文档和会议资源,是关系到企业领导进行日常企业运作处理的大事。提高会议效率、发挥会议功能、规…

量化交易:Dual Thrust策略

哈喽,大家好,我是木头左!Dual Thrust策略起源于20世纪80年代,由美国著名交易员和金融作家Larry Williams首次提出。这一策略的核心思想是通过捕捉市场中的短期波动来实现盈利。Larry Williams通过多年的研究和实践,发现市场中存在一种周期性的波动模式,通过这种模式可以预…

解决VSCode中Debug和运行路径不一致

哈喽,大家好,我是木头左!当尝试调试程序时,程序的运行路径与预期不符。这通常会导致程序无法正确读取文件或访问资源,从而影响调试过程。为了解决这个问题,可以在launch.json文件中配置CWD参数,以确保Debug和运行路径一致。 配置launch.json文件 launch.json文件是VSCod…

redis——基础服务

博主自学redis所用,欢迎交流讨论首先为什么要做一个redis出来?数据库不够用了吗?考虑到原本的应用程序是客户端访问服务端,服务端访问业务数据需要去数据库去拿,而数据库是个持久化的应用程序,是需要磁盘IO的,这就导致了速度会慢,并且如果存在大量的访问,会导致数据库…