面向实际应用的RAG系统工程:设计、开发与评估

——检索增强生成(RAG)系统正逐渐成为一种关键方法,它以外部知识为基础来约束大型语言模型(LLM),旨在解决其在事实准确性和上下文相关性方面的局限。然而,目前仍缺乏相关的实证研究,这些研究需要植根于真实的应用场景,通过普通用户的参与进行评估,并对开发过程中的经验教训进行系统性的记录。

本文介绍了五个针对特定领域开发的RAG应用,这些应用面向治理、网络安全、农业、工业研究和医疗诊断等真实场景。每个系统都集成了多语言光学字符识别(OCR)、基于向量嵌入的语义检索以及经过领域自适应的大型语言模型,并通过本地服务器或云API进行部署,以满足不同用户的特定需求。我们组织了一项共100名参与者参与的线上评估,从六个维度对这些系统进行了考量:(i) 易用性,(ii) 相关性,(iii) 透明度,(iv) 响应性,(v) 准确性,以及 (vi) 推荐可能性。

基于用户反馈和我们的开发经验,我们记录了十二条关键的经验教训,重点指出了在实践中影响RAG系统可靠性和可用性的技术、运营及伦理层面的挑战。

一、 论文的研究目标与背景

1. 研究目标与实际问题

论文的核心研究目标是:

通过在五个真实世界场景中设计、开发和评估RAG系统,系统性地回答“如何为现实世界的需求工程化RAG系统”这一问题,并总结出可供其他开发者借鉴的实践经验。

它旨在填补当前研究领域的一个显著空白:

尽管关于RAG的技术研究层出不穷,但

缺乏将RAG应用于真实世界、涉及普通用户评估、并系统记录经验教训的实证研究大多数研究都在干净的、以英语为中心的数据集上进行评估,很少探索领域特定、多语言或真实部署中的复杂情况。

简单来说,学术界的RAG研究和工业界的实际应用之间存在一条鸿沟。这篇论文的目标就是跨越这条鸿沟,为RAG系统的工程化提供一份来自一线的“战地报告”。

2. 论文的核心研究问题 (RQs)

为了实现其目标,论文提出了三个明确的研究问题(RQs):

  • RQ1: 如何设计和开发RAG系统以满足不同应用领域的实际需求?

  • RQ2: 在真实世界应用中,用户如何从易用性、相关性、透明度、响应性和准确性等方面评估领域特定的RAG系统?

  • RQ3: 从为现实世界应用工程化RAG系统的过程中,我们能学到哪些经验教训?

整篇论文的结构就是围绕这三个核心问题展开的。

3. 研究背景与意义

在治理、网络安全、农业、工业研究和医疗等知识密集型领域,准确、及时的信息获取至关重要。 传统的搜索方法难以处理多语言、上下文相关的复杂知识需求。 RAG技术通过将LLM的推理能力与外部知识库的实时信息相结合,为解决这一难题提供了理想的方案。 因此,探索其在真实场景下的工程化实践,具有重大的应用价值。

二、 论文的研究方法与系统设计

这篇论文的研究方法并非提出新算法,而是一套完整的实证软件工程研究方法论,分为三个清晰的阶段,贯穿了从开发到评估的全过程。

图片来源: 论文原文 Fig. L

1. 阶段一:五个真实世界RAG系统的实现

研究团队与五个不同领域的机构合作,为他们量身打造了RAG系统,以确保研究根植于真实需求。

  • 通用系统设计:所有系统都遵循一个两阶段的RAG架构

    1. 检索阶段 (Retrieval Phase):用户的查询被转换成向量(使用如text-embedding-ada-002模型),然后在向量数据库中通过相似性搜索找到最相关的文本“块”(chunks)。

    2. 生成阶段 (Generation Phase):将检索到的文本块与用户的原始查询合并,一起发送给一个大型语言模型(如GPT-4o, LLAMA 2等),生成一个有上下文依据的、事实性更强的回答。

  • 核心技术组件:每个系统都由以下几个核心部分构成

    • 数据源:包括网站、PDF、研究论文、临床指南等结构化和非结构化文档。

    • 预处理:使用PyMuPDFTesseract OCR从PDF和扫描件中提取文本,使用BeautifulSoup等工具进行网络爬取和数据清洗。

    • 向量数据库:根据不同系统的延迟和扩展性需求,选用了FAISSPineconeOpenAI's Vector Store

    • 语言模型:根据领域特性和隐私要求,选用了不同的LLM。

2. 阶段二:以用户为中心的系统评估

研究团队招募了

100名参与者进行了一项结构化的、基于网络的用户研究

  • 参与者:涵盖了研究人员(44%)、学生(20%)、领域专家(17%)和AI/ML从业者(16%)等不同角色,以确保评估视角的多样性。

  • 评估方法:参与者在与系统进行真实任务交互后,完成一份标准化问卷,该问卷围绕六个核心维度进行评估:

    1. 易用性 (Ease of Use)

    2. 信息相关性 (Relevance of Info)

    3. 透明度 (Transparency)

    4. 系统响应性 (System Responsiveness)

    5. 答案准确性 (Accuracy of Answers)

    6. 推荐意愿 (Recommendation)

  • 数据收集:通过李克特量表(1-5分)进行定量评分,并通过开放式问题收集定性反馈。

3. 阶段三:经验教训的综合与提炼

研究团队结合

开发过程中的笔记用户的开放式反馈,系统性地识别和总结了在技术、运营和伦理层面反复出现的挑战和问题,最终提炼出12条宝贵的经验教训

三、 五大RAG系统实例与评估结果

论文详细介绍了五个RAG系统的实现细节和用户评估结果,充分回答了RQ1和RQ2。

系统名称

领域

核心任务

技术栈亮点

Kankaanpää City AI

市政治理

提升政府记录的透明度,方便市民查询政策文件。

处理1000+芬兰语PDF,使用FAISS和

gpt-4o-mini

Disarm RAG

网络安全

提供关于网络攻防技术的实时洞察。

本地服务器部署

LLAMA 2-uncensored,确保数据隐私,并刻意隐藏了信源以保护敏感信息。

AgriHubi AI Assist

农业

连接农业政策与实践,为农民和研究者提供知识。

使用

芬兰语优化Poro-34B模型,支持多语言OCR,并用SQLite记录用户交互。

FEMMa Oracle

工业研究

优化电气化移动机械领域的工程研究知识检索。

使用

GPT-4oOpenAI's Vector Store,针对结构化工程文档进行快速检索。

Assist Doctor

医疗诊断

辅助医生进行动脉瘤诊断,提供临床指南和文献支持。

使用

GPT-4从同行评议文献中检索信息,支持风险分层和治疗方案比较。

用户评估亮点 (Figure 4):

  • 易用性和准确性广受好评:在所有五个系统中,易用性答案准确性是用户评分最高的两个维度。 例如,Kankaanpää City AI的易用性获得了81.8%的“容易”或“非常容易”评价,准确性获得了约91%的正面评价。

  • 透明度是关键,但需视情况而定:用户非常看重系统能否展示信息来源。 大多数系统都提供了信源参考,并获得了不错的透明度评分(如FEMMa Oracle为88.9%) 。 但在Disarm RAG中,由于安全原因刻意隐藏了信源,导致其透明度评分很低,这揭示了透明度设计的复杂性。

  • 用户信任是动态的:高达83%的参与者认为,他们是否更喜欢AI取决于具体的任务。 这表明用户对RAG系统的信任并非无条件的,而是与其在特定任务上的表现(如相关性、准确性)紧密相关。

四、 论文的贡献与业界影响

1. 核心贡献

  • 提供了端到端的工程路线图:详细展示了为多个真实领域开发和部署RAG系统的全过程,为后续的工程实践提供了宝贵的案例参考。

  • 进行了以用户为中心的实证评估:通过100名用户的实际使用和反馈,揭示了RAG系统在真实场景下的性能表现,超越了传统的基准测试。

  • 提炼了宝贵的实践经验:总结的12条经验教训是本文最有价值的产出之一,直接指导工程师如何设计和维护可靠、可用的RAG系统。

2. 对业界的潜在影响

  • 降低RAG系统开发门槛:这篇论文就像一本公开的“项目复盘报告”,详细列出了技术选型、开发流程和潜在陷阱,能帮助企业和开发者在构建自己的RAG系统时少走弯路。

  • 推动RAG在更多行业的应用:通过展示在政务、农业、医疗等多个领域的成功应用,论文证明了RAG技术的广泛适用性,将激励更多行业探索和采纳这项技术。

  • 确立了RAG系统评估的新标准:强调了除了算法指标外,易用性、透明度、响应性等用户中心指标的重要性,为如何全面评估一个RAG系统的好坏提供了新思路。

3. 作为工程师应关注的方面

  • 数据预处理的重要性“干净的数据能提升检索质量” 。OCR错误和重复数据是影响RAG性能的关键因素,投入资源进行数据清洗和预处理的回报率极高。

  • 分块策略的权衡“分块大小是速度和准确性的平衡” 。这是RAG工程中最核心的调优参数之一。论文的经验是200-500个token是比较实用的范围。

  • 领域适配是关键“领域特定的模型至关重要” 。通用模型在处理专业或非英语内容时表现不佳,选择或微调一个适合特定领域的模型是成功的先决条件。

  • 基础设施和环境管理“手动管理环境”

    “自托管以保证速度和合规” 这两条经验提醒我们,在生产环境中,依赖管理和基础设施选择是确保系统稳定和安全的基石。

五、 未来的研究方向与挑战

论文不仅总结了过去,也展望了未来。

  • 引入自动评估代理 (Evaluation Agent Model):这是论文提出的最重要的未来方向。 作者认为,仅靠用户反馈不足以发现所有事实性错误,特别是在高风险领域。 因此,他们建议在系统中内置一个“评估代理”,在将答案呈现给用户之前,由AI自己先对答案的准确性、相关性和完整性进行一轮检查。

  • 自适应反馈循环:这个评估代理可以触发第二轮检索提示词重构,当它发现初步答案存在缺陷时,系统可以自动进行修正和优化,形成一个智能的内部反馈循环。

  • 结构化评估机制:未来的研究需要超越简单的用户评分,建立更结构化、更自动化的评估框架,以提升RAG系统在关键应用中的可靠性和可信度。

六、 论文的不足与待验证之处 (Critical Thinking)

论文在“研究局限性”一章中非常坦诚地指出了自身的不足:

  1. 参与者构成的偏差:评估样本中约20%是学生,他们的反馈可能无法完全代表专业人士在工业环境中的使用体验。

  2. 系统曝光度的不均衡:并非所有100名参与者都使用了全部五个系统,每个系统的反馈数量不同,这可能影响了系统间评估结果的可比性。

  3. 经验教训的主观性:论文总结的12条经验教训主要基于作者团队的开发经验和观察,而非严格的量化实证分析。 尽管如此,这些来自一线的洞察对于实践者来说仍然极具价值。

  4. 技术栈的时效性:论文中使用的具体模型(如GPT-4o, FAISS)会随着技术发展而更新,但其背后的设计原则、工程挑战和经验教训具有更长的生命力。


–EOF–
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

No comments: