前言
技术公司积累了大量的专有文档 ,工程师尤其是新员工需要快速查询这些文档或吸收其中的新知识。然而,导航大量文档并理解其中的领域特定术语和缩略语 是一个巨大的挑战。传统的LLM微调方法计算成本高,对新知识的泛化能力差 ,且可能覆盖旧知识。RAG框架虽然灵活且可扩展,但在处理领域特定文档时,仍面临术语误解和上下文缺失的问题。文章要解决的问题是如何在工业知识库中高效地导航,克服传统LLM微调和RAG框架在领域特定术语和上下文解释方面的挑战。
现有的RAG技术在处理工业知识库中的领域特定查询时表现不佳。例如,传统的RAG方法在解释领域特定术语时容易出现幻觉现象,导致生成错误或无意义的信息 。现有方法如Corrective RAG和Self-RAG试图在检索后修改响应,但这些方法无法解决由于术语歧义或缺乏上下文导致的问题 。
因此,本文的方法主要是前处理部分,识别专有术语,增强上下文回答。
现有RAG
一、方法
- LLM驱动的文档增强 :首先,使用OCR 从公司原始文档中提取文本,并将其分割成较小的可管理片段进行处理。然后,利用LLM从领域专家的角度生成摘要,增强文档数据库。
LLM驱动的文档增强
关于文档解析可以看看《【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路》
文档智能结构化
- 识别术语 :使用LLM识别用户问题中的术语和缩写。设计一个提示模板,指导大型语言模型(LLM)从输入问题中提取并列出所有术语和缩略语。这个过程确保所有潜在的模糊术语都被识别出来,以便后续处理。在工作流程中,术语识别步骤表示为一个双向分支节点。如果识别出的术语列表为空,主程序沿“No”路径继续;否则,沿“Yes”路径继续。识别的术语列表被保存并用于后续的上下文识别和术语查询步骤。
- 识别上下文 :设计一个提示模板,该模板包含一系列预定义的上下文名称及其描述。提示模板的作用是引导LLM识别问题的上下文。将问题作为输入,使用提示模板引导LLM识别问题的上下文。通过使用CoT提示的少量示例来增强LLM的性能,指导LLM以指定的数据结构进行响应。
- 查询术语词典 :将步骤2中识别的术语列表插入到一个SQL查询模板中。这个查询模板用于从术语词典的SQL数据库中检索相关信息。处理SQL查询模板,从术语词典中检索相关的详细信息,包括扩展名称、详细描述和关于术语的任何相关注释。避免使用LLM生成SQL查询:选择不使用LLM直接生成SQL查询,因为这可能引入查询质量和安全性的不确定性,并增加推理成本。相反,采用基于代码的方法合成SQL查询,确保查询的安全性和可靠性。
- 增强问题 :将识别的上下文和术语定义整合到原始问题中,生成增强的问题。确保RAG框架能够检索到最相关的文档。
6. 查询未响应 :在某些情况下,系统可能无法在词典中找到某些术语的相关信息。
Golden-Retriever有一个回退机制 ,合成一个响应,指示数据库无法回答该问题。
- 术语不存在于词典中:有些术语可能在当前的术语词典中没有记录,导致查询返回空结果。
- 拼写错误:用户输入的术语可能存在拼写错误,导致无法正确匹配词典中的条目。
- 词典更新滞后:术语词典可能没有及时更新,导致最新的术语和缩略语未能收录。
二、实验
与vanilla LLM和RAG相比,Golden-Retriever显著提高了Meta-Llama-3-70B的总得分,分别提高了79.2%和40.7%。在所有测试的LLMs中,Golden-Retriever平均比Vanilla LLM提高57.3%,比RAG提高35.0%。
总结
论文提出Golden-Retriever,一种新颖的Agentic RAG系统,高效地导航庞大的工业知识库,并克服领域特定术语和上下文解释的挑战。
往期相关
【LLM & RAG】英伟达“ChatQA 2”训练策略概述
【LLM & KBQA】FlexKBQA:一种结合LLM的KBQA框架
【LLM & RAG & text2sql】大模型在知识图谱问答上的核心算法详细思路及实践
【开源分享】KBQA核心技术及结合大模型SPARQL查询生成问答实践
【文档智能 & RAG】RAG增强之路:增强PDF解析并结构化技术路线方案及思路
【文档智能 & LLM】LayoutLLM:一种多模态文档布局模型和大模型结合的框架
【文档智能】再谈基于Transformer架构的文档智能理解方法论和相关数据集
【文档智能】:GeoLayoutLM:一种用于视觉信息提取(VIE)的多模态预训练模型
【文档智能】符合人类阅读顺序的文档模型-LayoutReader及非官方权重开源
【文档智能】实践:基于Yolo三行代码极简的训练一个版式分析模型
【文档智能 & RAG】RAG增强之路-智能文档解析关键技术难点及PDF解析工具PDFlux