一种将RAG、KG、VS、TF结合增强领域LLM性能的框架
SMART-SLIC框架:旨在将RAG结合向量存储(Vector Stores)、知识图谱(Knowledge Graphs)和张量分解(Tensor Factorization)来增强特定领域的大型语言模型(LLMs)的性能。
SMART-SLIC系统框架
SMART-SLIC框架的关键组成部分和操作流程:包括构建特定领域的数据集、知识图谱本体论、向量存储以及检索增强生成(RAG)过程:
A. 特定领域的数据集:
- 项目从由主题专家(SMEs)选定的核心文档开始,这些文档代表了想要构建数据集的特定领域。
- 利用SCOPUS、Semantic Scholar和OSTI等授权API,通过引用和参考文献网络扩展数据集。
- 为了保持核心数据集的中心质量和主题一致性,采用了几种修剪策略来删除与核心文档无关的文档。
B. 降维:
- 通过非负张量分解从数据集中提取潜在结构,使用T-ELF工具进行文档聚类,并自动确定最佳聚类数量。
C. 知识图谱本体论:
- 将T-ELF提取的特征和文档元数据映射成一系列头、实体和尾关系,形成方向三元组,然后注入Neo4j知识图谱。
- 知识图谱包含了文档元数据以及从文档中提取的潜在特征。
D. 向量存储组装:
- 将文档向量化后存入Milvus向量数据库,以支持RAG过程。
- 文档的全文被分割成较小的段落,并且每个段落都被赋予一个整数ID,以指示其在原始文档中的位置。
E. 检索增强生成RAG:
- SMART-SLIC RAG实现:
SMART-SLIC框架中的RAG实现依赖于知识图谱(KG)和向量存储(VS)来提供结构化和非结构化的领域特定信息。
当用户提出问题时,LLM首先将查询转化为向量嵌入,然后与现有文本进行比较以找到最相似的文本。
检索到的信息被添加到原始查询中,LLM利用这些上下文信息生成相关答案。
最后,LLM以自然语言构建最终答案,向用户解释答案。
RAG流程图
- 问题路由流程:
SMART-SLIC采用问题路由流程来确定用户查询的类型,并根据查询类型选择相应的处理工具和流程。
问题分为“通用查询”和“特定文档查询”。通用查询调用ReAct Agent处理流程。
特定文档查询则调用检索查询或合成查询。
理解用户的问题对于将信息路由到适当的工具集和后续流程至关重要。
用户查询路由概览
- ReAct Agent处理流程:
ReAct Agent处理流程包括ReAct Agent、工具执行器和结束节点。
ReAct Agent负责收集输入、做出可操作的决策并解释结果。
工具执行器接收来自代理的工具名称和输入参数,调用相应的功能并返回输出。
结束节点标志着Reason-Act循环的完成,将最终输出返回给用户。
ReAct Agent的节点和工具
SMART-SLIC框架在实际应用中的表现,并提供了评估结果:
A. 数据集:
- 初始选择了30篇由主题专家(SME)挑选的、专注于大规模恶意软件分析和异常检测领域的文档作为核心文档。
- 通过引用和参考文献网络对数据集进行了两次扩展,最终得到8790篇科学出版物构成的数据集。
B. 潜在特征提取:
- 使用T-ELF对数据集进行张量分解,确定了25个主题聚类作为所有评估k值中的最佳划分。
- 分解过程使用了高性能计算资源,整个过程大约耗时2小时。
C. 向量存储:
- 将8790篇文档向量化后存入Milvus向量数据库。
- 其中22%的文档有全文文本,这些也被向量化并存入Milvus。
D. 知识图谱:
- 从T-ELF输出的25个聚类中,格式化数据为1,457,534个三元组,并注入知识图谱。
- 知识图谱中包含了321,122个节点和1,136,412条边关系。
知识图谱Schema
关键词“网络犯罪”的图形搜索。返回单个关键词(绿色)以及相关联的文档(浅蓝色)。文档还链接了附属机构(黄色)和机构所在的国家(红色)。
E. 问答验证:
- 使用文档特定问题和主题特定问题对系统进行了零样本条件下的问答测试。
- 比较了使用GPT-4-instruct模型在有无RAG框架的情况下的回答性能。
- 结果显示,使用RAG时,GPT-4-instruct模型回答问题的准确率达到97%,而没有使用RAG时,模型有40%的问题未回答,回答的问题准确率仅为20%。
F. 复杂问题解答:
- 还测试了更复杂的问题,这些问题需要通过各种检索方法进行彻底搜索。
- SME提出了几个问题,使用SMART-SLIC RAG流程得到的回答与SME选择的DOI一致,证明了代理在检索相关来源方面的准确性。
- 没有使用RAG时,LLM的回答不准确,存在编造答案的情况,且未提供DOI引用,降低了信息的可信度。
两种问题类型,文档和主题,展示了使用SMART-SLIC RAG和不使用RAG时,LLM的尝试百分比和正确百分比。
https://arxiv.org/pdf/2410.02721
Domain-Specific Retrieval-Augmented Generation
Using Vector Stores, Knowledge Graphs, and Tensor Factorization
本文转载自PaperAgent