企业应用中的RAG技术:提升信息检索与生成

2 篇文章 0 订阅

        在探讨企业场景下语言学习模型(LLM)的高效应用时,我们聚焦于检索增强生成(RAG),这一技术正逐渐成为商业领域的关键应用。RAG不仅在提升大型语言模型的业务价值方面发挥着重要作用,而且对于理解其运作机制、适用性及其相关工具的认识也日益显得至关重要。

        RAG框架通过引入额外的相关数据来丰富模型的提示信息,确保了LLM的生成响应基于真实可靠的信息,从而显著提升了模型的效能。该技术使得用户能够便捷地将公司文档集成到矢量数据库中,进而使得大型语言模型能够针对这些文档提供精准的查询答复。

        特别是在2023年,大型语言模型在企业级应用中的运用呈现出显著的增长趋势,尤其是在RAG和信息检索技术方面。依据Retool的2023年度报告,当前有超过三分之一(36.2%)的企业LLM应用案例采纳了RAG技术。RAG技术通过将大型语言模型的功能扩展到结构化与非结构化数据的处理中,极大地提高了企业信息检索的效率和效果。

        我们下面会讨论什么是 RAG、RAG 与微调之间的权衡,以及简单和复杂 RAG 之间的区别,

RAG 是如何运作的?

如下图所示,典型的 RAG 流程包含大语言模型、企业文档集合以及用于改进信息检索和答案构建的支持基础设施。 RAG 管道在数据库中查找与所提出问题相似的概念和数据,从向量数据库中提取数据,并将数据重新表述为适合所提出问题的答案。 这使得 RAG 成为希望利用现有数据存储库来增强决策和信息访问的公司的强大工具。

        一个实际的大型RAG应用案例可以是Twitter/X的“探索相似推文”特性。该特性中,RAG系统负责将推文分割并存储于向量数据库。用户点击“探索相似推文”时,系统会执行查询以寻找并提取与原推文主题接近的其他推文,随后将这些信息传递给大型语言模型进行分析,以识别出与原推文最为相似的内容。这种方法利用了大型语言模型在理解语义和概念相似性方面的高级能力,避免了传统搜索技术如关键字搜索的局限性,后者往往无法充分考虑内容的相似度、深层含义、情感色彩以及拼写变异等因素。

        RAG技术为不同行业的多种应用场景提供了有效的解决方案。在法律和医疗保健行业中,RAG通过访问庞大的数据库,包括判例法、学术论文和临床指导方针,为专业人士提供精确的信息支持,从而辅助他们做出明智的决策。在客户服务领域,RAG支持复杂的聊天机器人和虚拟助理,确保它们能够提供既准确又符合上下文的用户查询响应。此外,RAG在个性化内容创作和推荐系统中的应用也十分关键,它通过分析用户的偏好和历史互动数据,帮助生成定制化的内容和推荐,提升用户体验。

RAG 与微调(Fine-Tuning)

                在与大型语言模型交互的两种主要方法——RAG和模型微调——之间存在竞争。尽管资源的分配需要权衡,但通常建议将这两种方法结合起来使用。它们之间的主要区别在于公司数据的存储位置、使用方式以及与模型的交互方式。微调涉及使用公司数据对现有的LLM进行再训练,并根据特定用例调整模型的配置。而RAG则是从外部存储的文档中检索信息,并将这些信息输入LLM以辅助生成响应。微调是一个资源密集且成本较高的过程,对于频繁更新的公司文档来说,它并不是一个理想的选择。尽管如此,微调后的模型在捕捉和响应语言风格和内容生成的细微差别方面表现出色,例如模仿特定历史人物的说话风格或匹配个人写作风格的能力。

        微调更适用于那些知识领域狭窄、定义明确且内容相对静态的场景。正如Ayscale所强调的,微调更多关注形式而非事实。例如,在品牌或创意写作领域,为了保持一致的风格和语调,微调模型能够确保输出内容与特定的语言风格或主题保持一致。

        相比之下,RAG在需要动态提取和处理大量最新数据的场合更为适用,如法律、客户服务和金融服务等行业。在这些环境中,RAG能够提供最准确和全面的响应。特别是在客户服务应用中,RAG能够迅速从广泛的知识库中提取特定信息,以提供最新的产品详情或公司政策。

        企业对于使用RAG系统来整理和理解其混乱、非结构化的内部文档表现出极大的兴趣。LLM技术的关键优势在于其处理大量非结构化内部文档的能力,这在传统上常常导致员工需要向他人询问信息,而不是直接从文档中获取。与此不同,客户服务中的聊天机器人通常已经习惯了通过呼叫中心或常见问题解答来提供信息。RAG系统通过改善信息的可访问性和可检索性,有助于企业更有效地管理和利用其内部知识资源。

来源:https://www.rungalileo.io/blog/optimizing-llm-performance-rag-vs-finetune-vs-both

RAG 的类型

当为组织设计RAG解决方案时,首要任务是识别和理解您希望RAG解决的问题类型,以及这些类型所对应的RAG系统需求。

RAG系统分为两种主要类别:基础型和复杂型。在实际应用中,您可能会发现,即使是相同的工作流程或用户,也可能同时面临需要基础型和复杂型RAG解决的问题。

基础型RAG系统适用于处理那些能够通过直接查询得到答案的简单问题。例如,在客户服务中,当被问到“你们的营业时间是什么?”时,机器人能够通过一次性的信息检索来提供答案。

相对而言,复杂型RAG系统设计用来应对需要综合多方面信息的复杂问题。这类系统通过多跳检索,即从多个数据源中提取并整合信息,以构建答案。这对于解答那些需要跨文档链接不同信息点的问题至关重要。

多跳检索过程赋予了RAG系统强大的能力,使其能够整合分散在不同数据点中的信息,从而提供全面的答案。以医学研究辅助工具为例,当用户询问“糖尿病的最新治疗方法及其副作用是什么?”时,系统首先需要从某个数据源中检索到最新的治疗手段,然后进一步检索其他数据源,以获取有关这些治疗方法副作用的详细信息。这种能力使得RAG系统在处理复杂查询时,能够提供更为深入和全面的答案。

资料来源:https://www.researchgate.net/figure/Answering-a-multi-hop-question-over-the-relation-graph-The-relations-are-constrained_fig1_350892243

在上图中,多跳推理系统必须回答几个子问题才能生成复杂问题的答案。 要回答这个问题,系统必须知道:

  1. 比尔·盖茨的妻子是谁?
  2. 比尔·盖茨的妻子创立了哪些组织?

设想在法律研究领域应用 RAG 系统的场景。假设有人向法律研究工具提出这样一个问题:“最近就业法的变动对远程工作政策产生了哪些影响?”在这种情况下,RAG 系统首先会搜索最新的就业法律变动信息,然后进行进一步的检索,以获取最新的远程工作政策指导。通过这种多阶段的检索过程,RAG 系统能够整合来自不同法律文件和案例的相关法律信息,并结合具体情境,提供详尽且具有法律相关性的答案。这样的答案能够深入分析就业法变动与远程工作政策之间的复杂联系,解决两者之间细微的法律差异。

推理和多跳检索是问答领域长期以来的考虑因素。 随着复杂 RAG 的日益普及,对该领域解决方案的需求将会不断增加。

那么你应该问自己什么问题呢?

当您考虑构建第一个 RAG 系统时,请考虑以下事项:

  1. 首先,具体说明您打算使用 RAG 实现自动化的工作流程。 这是您的客户服务工作流程吗? 或者您的执行团队是否经常喜欢问一组特定的 3 或 4 个问题?
  2. 其次,与目标用户组合作,了解他们会提出的问题类型。
  3. 第三,找出这些信息的存储位置。 这些问题是否已经在一个地方得到了简洁的回答,或者信息是否需要从多个来源拼凑在一起?

以下是一些关键点需要注意:
首先,特定行业和工作流程中的答案信息通常是独立编写和存储的。一个明显的例子是在法律工作流程中,由于合同的本质,你可能总是将协议和详细信息分成多个子文档,所有这些子文档都相互引用。从这个意义上说,由于法律文件的准备方式,许多法律问题都需要多跳推理。
其次,最初看似简单的问题实际上可能需要多跳推理。回到商店营业时间的例子,员工可能会合理地问:“在公共假期,芝加哥商店的营业时间是几点?”。关于公共假期如何影响营业时间的信息(“商店可能提前 1 小时关门”)可能与芝加哥商店营业时间(“芝加哥商店营业时间为上午 9 点至下午 5 点”)不在同一份文档中。
有人可能会说,这可能是企业内部糟糕的数据准备,但很难看出如何针对许多边缘问题以有组织的方式准备这些信息。事实上,RAG 的关键优势之一正是减轻了精心构建数据的需求,尤其是大规模数据。
第三,在学术环境中容易被忽视的一点是,即使是经验丰富的公司领导者,在实际场景中也会提出一系列结构不良的问题。从梅琳达·盖茨的例子中可以看出,如果提问者说“梅达·盖茨找到了哪家公司?”,那么这个问题可能是一个“简单”的 RAG 问题。不幸的是,这反映了这样一个事实:用户习惯于与其他人交谈,并且很容易忘记在问题中包含支持上下文。因此,需要多跳推理的措辞不当的查询比人们想象的更为常见。
一个潜在的解决方法是要求某些问题必须以某种方式表达。然而,正在寻找方便解决方案的用户不太可能记得这样做,或者觉得它很方便。如果没有具备多跳能力的 RAG 系统,那么 RAG 的采用可能会因错误的用户查询而动摇。
尽管更加复杂,但是从第一天开始建立具有多跳能力的 RAG 系统可能被证明是一项有价值的投资,以适应问题、数据源和用例的范围,这些问题、数据源和用例最终将随着越来越复杂的工作流被 LLM 和 RAG 自动化而出现。

  • 20
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值