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

引言

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)的工作流程:

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

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

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

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

实体树

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

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

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

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

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

例子

如下图所示:

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

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

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

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

总结

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

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

相关推荐
IT_Octopus7 分钟前
AI工程pytorch小白TorchServe部署模型服务
人工智能·pytorch·python
果冻人工智能12 分钟前
AI军备竞赛:我们是不是正在造一个无法控制的神?
人工智能
暴龙胡乱写博客18 分钟前
OpenCV---图像预处理(四)
人工智能·opencv·计算机视觉
CodeDevMaster23 分钟前
browser-use:AI驱动的浏览器自动化工具使用指南
python·llm
程序员辣条25 分钟前
深度测评 RAG 应用评估框架:指标最全面的 RAGas
人工智能·程序员
curdcv_po26 分钟前
字节跳动Trae:一款革命性的免费AI编程工具完全评测
人工智能·trae
程序员辣条27 分钟前
为什么需要提示词工程?什么是提示词工程(prompt engineering)?为什么需要提示词工程?收藏我这一篇就够了!
人工智能·程序员·产品经理
孔令飞31 分钟前
Go:终于有了处理未定义字段的实用方案
人工智能·云原生·go
清流君44 分钟前
【MySQL】数据库 Navicat 可视化工具与 MySQL 命令行基本操作
数据库·人工智能·笔记·mysql·ue5·数字孪生
Blossom.1181 小时前
人工智能在智能家居中的应用与发展
人工智能·深度学习·机器学习·智能家居·vr·虚拟现实·多模态融合