RAGOps实战指南:构建高效架构和操作层

发表时间: 2024-11-29 07:08

RAG 操作(来源:作者使用Dall-E 3生成的图像)

检索增强生成 (RAG) 是生成式 AI 和大型语言模型驱动应用程序领域应用最广泛的技术之一,这一点并不令人意外。事实上,根据 Databricks 的一份报告,超过 60% 的 LLM 驱动应用程序以某种形式使用 RAG。因此,在目前价值约 60 亿美元且年增长率接近 40% 的全球 LLM 市场中,RAG 无疑成为掌握的关键技术之一。

如今,构建 PoC RAG 管道并不太难。有很多现成的代码利用框架示例,例如LangChain或LlamaIndex以及无代码/低代码平台,例如RAGArch、HelloRAG等。

另一方面,生产级 RAG 系统由几个专门用于生成式 AI 应用的层组成,这些层是对标准软件架构的补充。所有这些层堆叠在一起并由技术基础设施支持,构成了强大的 RAG 系统设计。我们将其称为 RAG 的操作堆栈RAGOps 堆栈。

在在本篇博文中,我们将详细讨论 RAGOps 堆栈的组件。在深入讨论堆栈的各层之前,我们将构建一个上下文,简要介绍 RAG 和 RAG 系统的总体结构。本博文将包括以下部分:

  • 检索增强生成简介——本节将介绍 RAG 的含义和原因以及一些实际用例。
  • RAG 系统的解剖——在这里,我们将研究 RAG 管道的核心组件以及与 RAG 相关的一些挑战。
  • RAG Ops Stack:本节将介绍核心 RAG 管道之外的 Ops 堆栈。
  • 关键层:本节将讨论生产 RAG 系统的四个必需层。这些是数据层、模型层、部署层和应用程序编排层。
  • 基本层:本节介绍增强 RAG 系统性能、可靠性和安全性的重要层。这里的层包括提示层、缓存层、安全和隐私层以及评估和监控层。
  • 增强层:本节介绍一些根据业务需求定制的用例特定层,如人机交互、可解释性、个性化等。
  • 最佳实践:最后的讨论将集中于某些挑战以及克服这些挑战的最佳实践。

如果您已经熟悉 RAG 管道并且对 RAGOps 堆栈更感兴趣,则可以跳过前两节并从第 3 节开始阅读。我希望您觉得这篇文章和我研究和撰写这篇文章一样有趣。让我们开始吧。

检索增强生成简介

2022 年 11 月 23 日将被铭记为人工智能的分水岭。OpenAI 发布了 ChatGPT,全世界为之着迷。自那以后,我们已经快两年了,生成式人工智能、大型语言模型 (LLM)、Transformer 等术语获得了前所未有的普及。这要归功于 LLM 处理和生成自然语言(最初是文本,但现在甚至是图像和其他数据模式)的非凡能力。

LLM 是大型机器学习模型,利用一种称为 transformers 架构的架构对大量数据进行训练。我们鼓励您阅读更多有关 transformers 和 LLM 的信息。为了理解 RAG,重要的是要理解 LLM 旨在根据一系列单词预测下一个单词。

LLM 是给定一系列标记后下一个标记的预测器。上图显示了 LLM 的“仅解码器”方法。(来源:作者提供的图片)

LLM 的使用量激增。用户可以撰写电子邮件、为 Instagram 照片添加标题、使用 ChatGPT 进行随意交谈,甚至可以生成类似这样的博客。然而,随着使用量的增加,期望值也激增。从高层次来看,对任何 LLM 及其构建的应用程序都有三个期望。我们希望 LLM 是全面的,即了解一切;是最新的,即掌握最新信息,并且每次都是事实正确的。另一方面,LLM 的设计只是为了预测序列中的下一个单词。有三个主要限制阻碍了它们的全面性、时效性和准确性——

  • 知识截止日期:培训 LLM 既昂贵又耗时。它需要大量数据,培训 LLM 需要数周甚至数月的时间。因此,培训 LLM 所依据的数据并不总是最新的。在数据截止日期之后发生的任何事件都不适用于模型。
  • 训练数据集限制:正如我们已经读到的,LLM 已经接受了来自各种来源(包括开放互联网)的大量数据的训练。他们不了解任何非公开信息。LLM 尚未接受过非公开信息(如公司内部文件、客户信息、产品文档等)的训练。
  • 幻觉:通常,LLM 提供的答案在事实上是不正确的。尽管在事实上是错误的,但 LLM 的答案听起来非常自信和合法。这种“自信地撒谎”的特点被称为幻觉,已被证明是 LLM 最大的批评之一。

LLM的期望与现实(来源:作者提供的图片)

这是否意味着这项技术没有用?绝对不是——现在炒作已经平息了。由于LLM具有强大的语言理解能力,因此可以极其高效地获取和处理信息。如果你可以将LLM指向信息源,它就可以处理该信息以生成基于该源的准确结果。此信息源可以是你的公司文档、第三方数据库,甚至是互联网。

这是检索增强生成背后的主要思想,并且在 2024 年,它将成为生成式 AI 应用中最广泛使用的技术之一。

什么是 RAG?

简而言之,检索增强生成是一种技术,它为 LLM 提供 LLM 可能没有的信息,而这些信息对于响应用户的查询(或我们在生成式 AI 术语中称之为提示)是必要的。为了理解 RAG,让我们先了解“记忆”的两个概念——

  • 参数记忆:您可能知道,LLM 本身就是令人难以置信的知识库。它们根据训练数据存储事实信息。这种存储概念是 LLM 固有的,也称为“参数记忆”或存储在模型参数中的记忆。但我们一直在讨论,由于这三个限制,这种参数记忆是不够的。
  • 非参数记忆:为了使 LLM 更加有用,它们还需要未存储在参数记忆中的信息。这可以被认为是“非参数记忆”或未存储在模型参数中的记忆。

通过提供对外部非参数信息源的访问来美化 LLM 的参数 记忆,从而使 LLM 能够对用户查询生成准确的响应的技术称为检索增强生成。

从概念上讲,如果LLM能够访问非参数记忆,那么他就能得到全面、最新和正确的反应。这就是检索增强生成。

在某种程度上,RAG 可以用无限的外部非参数记忆补充 LLM 的内部知识。可以引用来自外部来源的数据以增加信任度和可靠性。事实证明,RAG 系统不太容易产生幻觉。让我们继续在此基础上进行构建,看看 RAG 是如何工作的。

它是如何工作的?

系统的核心仍然是 LLM(LLM 可以是大型的也可以是小型的、开源的也可以是专有的、基础的也可以是微调的)。我们都知道,当我们提示 LLM 时,它会生成响应。但我们一直在说,这些响应可能不是最优的,也不准确。如果我们能找到一种方法来搜索信息存储或知识库以获取准确的信息源,然后将此信息添加到提示中并将其传递给 LLM,我们可以期望 LLM 生成准确且植根于可验证来源的响应。

为了实现这种信息搜索和检索,系统引入了一个检索器组件。因此,现在该过程的三个步骤变为:

  • 检索准确的信息,
  • 使用检索到的信息增强用户提示,
  • 最后,使用 LLM 生成准确且具有上下文的响应。

检索增强生成分为三个步骤(来源:作者提供的图片)

RAG 的实际应用

RAG 不仅仅是一种理论练习。如今,RAG 系统为搜索引擎(例如 Perplexity、GoogleBing)、高级问答系统和对话代理(例如客户支持机器人)等应用程序提供支持。RAG 还支持 AI 生成内容的个性化,并用于教育工具和法律研究等领域。

RAG 系统在生产中的一些用例包括:

  1. 搜索引擎体验:传统的搜索结果以按相关性排序的页面链接列表显示。最近,Google Search、Perplexity、You.com都使用 RAG 以自然语言呈现连贯的文本,并附上来源引文。事实上,搜索引擎公司现在正在构建 LLM 优先搜索引擎,其中 RAG 是算法的基石。甚至ChatGPT 现在也有一个网络搜索模式。
  2. 对话agents:使用 RAG,LLM 可以定制为产品/服务手册、领域知识、指南等。agents还可以根据用户的查询将用户路由到更专业的agents。SearchUnify为其用户提供由 LLM+RAG 支持的对话agents
  3. 实时事件评论:想象一场体育赛事或新赛事。检索器可以通过 API 连接到实时更新/数据,并将此信息传递给 LLM 以创建虚拟评论员。这些可以通过文本转语音模型进一步增强。IBM在 2023 年美国公开赛期间利用该技术进行评论
  4. 内容生成: LLM 最广泛的用途可能是内容生成。使用 RAG,生成的内容可以根据读者进行个性化设置,融入实时趋势并符合语境。Yarnit是一个基于 AI 的内容营销平台,它使用 RAG 执行多项任务。
  5. 个性化推荐:推荐引擎是数字经济领域的重大变革。LLM能够推动内容推荐的下一次发展。
  6. 虚拟助理:Siri、Alexa等虚拟个人助理现在正在使用 LLM 来增强体验。再加上更多有关用户行为的背景信息,这些助理可以变得高度个性化。

那么,如何构建一个呢?

RAG 系统的剖析

要构建支持 RAG 的系统,需要组装多个组件。这包括为系统创建和维护非参数内存或知识库。另一个必需的过程是通过向 LLM 发送提示并接受其响应来促进实时交互,中间有检索和增强步骤。评估是另一个关键组件,可确保系统的有效性。系统的所有这些组件都需要由强大的服务基础设施支持。

RAG 管道概述

检索、增强和生成组件构成了用户实时交互的生成管道。生成管道从知识库中检索信息。因此,建立一个可以创建和维护知识库的流程至关重要。这是通过另一个称为索引管道的管道完成的。

索引管道

用于为 RAG 应用程序创建知识库的一组流程构成了索引管道。它是一个非实时管道,定期更新知识库。索引管道可以概括为五个步骤 -

步骤 1:连接到先前确定的外部源

第 2 步:提取文档并从这些文档中解析文本

步骤 3:将长文本分解为较小的可管理部分

步骤 4:将这些小块转换成合适的格式

步骤 5:存储此信息

生成管道

用于从知识库中搜索和检索信息以生成对用户查询的响应的一组流程构成了生成管道。它促进了与用户的实时交互。这也可以归纳为五个步骤。

步骤 1:用户向我们的系统提出问题

第 2 步:系统搜索与输入问题相关的信息

步骤 3:获取或检索与输入问题相关的信息,并将其添加到输入问题中

步骤 4:此问题 + 信息将传递给 LLM

第 5 步:LLM 给出上下文答案

下图说明了两个管道如何结合在一起形成 RAG 系统的核心。

索引管道和生成管道共同构成核心 RAG 系统(来源:作者提供的图片)

RAG 系统的关键组件

除了这两条管道之外,我们还可以考虑 RAG 系统中所需的其他某些组件。

RAG 系统的主要组件包括 -

  • 数据加载组件:连接外部源,提取和解析数据
  • 数据拆分组件:将大段文本分解为较小的可管理部分
  • 数据转换组件:将文本数据转换为更合适的格式
  • 存储组件:存储数据以创建系统知识库

上述四个组件构成了索引管道

索引管道的四个组成部分有助于创建知识库(来源:作者提供的图片)

  • 检索器:负责从存储中搜索和获取信息
  • LLM 设置:负责生成对输入的响应
  • 提示管理:可以将检索到的信息添加到原始输入中

这三个组件构成了生成流程

生成管道的三个组件使 RAG 系统的实时查询响应过程成为可能(来源:作者提供的图片)

  • 评估组件:测量部署前后系统的准确性和可靠性
  • 监控:跟踪支持 RAG 的系统的性能并帮助检测故障
  • 服务基础设施:除了方便部署和维护之外,还确保各种系统组件的无缝集成,以实现最佳性能。

其他组件包括缓存(有助于存储先前生成的响应以加快对类似查询的检索)、护栏(确保遵守政策、法规和社会责任)以及安全性(保护 LLM 免受诸如提示注入、数据中毒等漏洞的侵害)。

支持 RAG 的产品系统的高级组件(来源:作者提供的图片)

这种高级剖析是 RAG 强大运营堆栈背后的直觉。现在让我们更深入地研究 RAGOps 堆栈。

RAGOps 堆栈

标准软件应用程序堆栈可能包括数据库、运行时、前端框架、操作系统、中间件等层。RAG 系统包括其他组件。这些可能是向量存储和嵌入模型,它们是索引管道的基本组件。知识图谱正日益成为流行的索引结构。生成组件可以具有不同类型的语言模型。提示管理变得越来越复杂。

RAG 和 LLM 应用程序的生产生态系统仍在不断发展。早期的工具和设计模式已经出现。RAGOps(RAG 操作)是指在生产环境中部署、维护和优化 RAG 系统所涉及的操作实践、工具和流程

注意:RAG 与一般的生成式 AI 一样,是一项不断发展的技术,因此操作堆栈也在不断发展。您可能会发现不同的定义和结构。

RAGOps 堆栈可以分为三类:

  1. 关键层对于 RAG 系统的运行至关重要。如果任何一层缺失或不完整,RAG 系统都可能会失败。
  2. 对系统性能、可靠性和安全性至关重要的基本层。这些基本组件使系统达到为用户提供价值的标准。
  3. 增强层可提高系统的效率、可扩展性和可用性。这些组件用于改善 RAG 系统,并根据最终要求决定。

RAGOps 堆栈可分为三类层(来源:作者提供的图片)

现在让我们逐一讨论这些层。

RAGOps 堆栈:关键层

关键层支持 RAG 系统的两个核心管道——索引管道和生成管道。有四个层对堆栈至关重要。

数据层

数据层负责从源系统收集数据,将其转换为可用格式并存储以供高效检索。它可以包含三个组件 -

  1. 数据提取组件从源系统(如数据库、内容管理系统、文件系统、API、设备等)甚至互联网收集数据。
    数据提取工具:AWS Glue、Azure Data Factory、Google Cloud Dataflow、Fivetran、Apache NiFi、Apache Kafka、Airbyte 是可供使用的几种工具之一。对于快速原型设计和概念验证 (PoC),LangChain 和 LlamaIndex 等框架具有内置功能,可以帮助连接到某些来源并提取信息。
  2. 数据转换组件将提取的数据从原始形式转换为可用形式。分块、嵌入、清理、元数据创建等过程是此层的责任。
    数据转换工具:AWS Glue、Azure Data Factory、Google Cloud Dataflow、Fivetran、Apache NiFi、Apache Kafka、Airbyte、Apache Spark、dbt、Unstructured.io等。
  3. 数据存储组件以允许快速高效检索的方式存储转换后的数据。这包括文档存储、向量存储和图形存储。
    数据存储工具:Pinecone 是一种完全托管的云原生服务向量数据库服务。Milvus、Qdrant 和 Chroma 属于开源向量数据库。可以使用 redis、S3 等文档存储来存储原始文件。Neo4j是领先的图形数据存储。

数据层:通过从源系统提取、转换和加载 (ETL) 数据来创建知识库(来源:作者提供的图片)

强大的数据层是高效 RAG 系统的基础。当需要对模型进行微调时,数据层也会派上用场。

模型层

LLM、嵌入等基础模型支持生成式 AI 应用。这些模型可以是服务提供商提供的开源或专有模型。有些模型可以进行定制训练或微调。模型层的组件包括:

  1. 模型库包含为应用程序选择的模型列表。它可以包含预训练的 LLM(基础模型)、微调模型、嵌入模型和特定于任务的模型。
    模型:OpenAI、Google 的 Gemini、Voyage AI、Cohere 等提供商提供了各种嵌入模型选择,并且还可以通过 HuggingFace Transformers 使用大量开源嵌入模型。OpenAI 的 GPT 系列、Google 的 Gemini 系列、Anthropic 的 Claude 系列和 Cohere 的 Command R 系列是流行的专有 LLM。Meta 和 Mistral 的 Llama 系列是广受欢迎的开源模型
  2. 模型训练和微调组件负责构建自定义模型并在自定义数据上微调基础模型。这通常用于特定任务模型和领域自适应。
    模型训练和微调工具: HugginFace、AWS SageMaker、Azure ML 等。
  3. 推理优化组件负责快速且经济高效地生成响应。
    推理优化工具: ONNX 和 Nvidia TensorRT-LLM 是优化推理的流行框架。

模型层:模型库是应用程序选择的所有模型的存储,模型训练和微调与数据层交互以获取训练数据和训练自定义模型,而推理优化组件负责高效地提供模型(来源:作者提供的图片)

模型部署

模型部署负责使 RAG 系统可供应用层使用。它处理模型的基础架构。模型部署主要有四种方法 -

  1. 专有模型提供商可以提供完全托管的部署,其中模型部署、服务和扩展的所有基础设施均由这些提供商管理和优化。
    完全托管的服务提供商:OpenAI、Google、Anthropic、Cohere、AWS SageMaker、Google Vertex AI、Azure Machine Learning、HuggingFace、Amazon Bedrock。
  2. 自托管部署由云 VM 提供商支持。模型部署在私有云或本地,基础架构由应用程序开发人员管理。
    自托管解决方案: VM 提供商(如 AWS、GCP、Azure)和硬件提供商(如 Nvidia、KubernetesDocker,用于容器化)、Nvidia Triton Inference Server,用于推理优化。
  3. 本地/边缘部署涉及在本地硬件或边缘设备上运行优化版本的模型,确保数据隐私、减少延迟和离线功能。
    本地/边缘部署解决方案: ONNX、TensorFlow Lite、PyTorch Mobile、GGML、NVIDIA TensorRT、GPT4All。

模型部署层管理托管和部署的基础设施,以便高效地为 RAG 系统中的所有模型提供服务(来源:作者提供的图片)

有了数据层和模型层,RAG 系统的大部分基本组件就位了。现在我们需要一个层来管理数据和模型之间的协调。这是应用程序编排层的职责。

应用编排层

应用程序编排层就像一个音乐指挥家,带领着管弦乐队中的一群音乐家。它负责管理系统中其他层之间的交互。编排层的主要组件是 -

  1. 查询编排组件负责接收和编排用户查询。所有检索前的查询优化步骤(如查询分类、查询扩展、查询重写等)均由该组件编排。
  2. 检索协调组件承载各种检索逻辑。根据查询编排模块的输入,它将选择适当的检索方法(密集检索或混合检索等)并与数据层进行交互。
  3. 生成协调组件接收来自前几个组件的查询和上下文,并协调所有检索后步骤。其主要功能是与模型层交互并提示 LLM 生成输出
  4. 多代理编排组件用于代理 RAG,其中多个代理处理特定任务。
  5. 工作流自动化组件有时可用于管理不同组件之间的数据流和移动。

编排框架和工具:LangChain 和 LlamaIndex。微软的 AutoGen 和 CrewAI 是即将推出的多代理编排框架。Apache Airflow 和 Dagster 是用于工作流自动化的流行工具。

应用程序编排层接受来自应用层的用户查询,并将响应发送回应用层。(来源:作者提供的图片)

这四个关键层构成了核心 RAG 系统。该核心系统可以与终端软件应用层交互,后者充当 RAG 系统与用户之间的接口。应用层可以定制构建,也可以利用 Streamlit、Vercel 和 Heroku 等托管平台。

核心 RAGOps 堆栈,其中数据、模型、模型部署和应用程序编排层与源系统和托管服务提供商交互,并与应用程序层协调以与用户交互(来源:作者提供的图片)

下一组层可提高 RAG 系统的可靠性、性能和可用性

RAGOps 堆栈:基本层

关键层不会评估或监控系统。Web 应用程序也容易受到网络攻击。延迟和成本是生成 AI 领域日益关注的问题。为了应对这些挑战并使 RAG 系统可行,关键层会有所帮助。

提示工程

关键的应用程序编排层负责协调 RAG 系统的各个组件,还负责管理作为输入发送到 LLM 的提示(或指令)。虽然在小规模系统中,编排层可以独立管理这些提示,但在更复杂的系统中,提示的数量可能达到数百甚至数千。提示不当会导致幻觉和不完美的反应。因此,单独的层对于制作和管理提示至关重要。Azure Prompt Flow、LangChain Expression Language (LCEL)、Weights & Biases prompts、PromptLayer 等工具非常有用。

评估层

定期评估系统的检索准确性、上下文相关性、忠实度和答案相关性对于确保响应质量至关重要。TruLens by TruEra、Ragas、Weights & Biases 是常用的评估平台和框架。ARISE、RAGAS、ARES 是流行的评估框架。

监控层

虽然评估在系统开发过程中很有用,但持续监控可确保系统的长期健康。观察处理链的执行对于了解系统行为和识别故障点至关重要。除了常规系统指标跟踪(如资源利用率、延迟和错误率)之外,监控层还会对进入语言模型的信息进行评估。ARISE、RAGAS、ARES 是也用于监控的评估框架。TraceLoop、TruLens 和 Galileo 是提供监控服务的提供商的例子。

LLM 安全与隐私

软件安全是一个独立且广泛的领域。在 RAG 的背景下,会出现一些额外的考虑因素。RAG 系统需要遵守所有数据隐私法规。AI 模型容易受到操纵和毒害。提示注入是通过提示进行的恶意攻击,目的是检索敏感信息。应采用匿名化、加密、差异隐私等数据保护策略。这在安全和隐私层中维护。Lakera、OWASP、Lasso Security 等是可以利用的工具。

缓存层

生成式 AI 模型成本高昂,且存在固有延迟。语义缓存常见查询可在一定程度上控制此问题,因此是 RAGOps 堆栈的重要组成部分。

这些基本层与关键层堆叠在一起,创建了一个强大、准确且高性能的 RAG 系统。

在关键的 RAGOps 堆栈中添加必要的层,为用户应用程序构建强大的 RAG 系统奠定了基础(来源:作者提供的图片)

有了关键层和必要层,RAG 系统就可以运行了。但是,根据正在开发的应用程序的要求,可能还需要一些其他组件。

使用可选层增强 RAG 系统

增强层是 RAGOps 堆栈的一部分,是可选的,但根据用例环境,可以带来显著的收益。这些重点是系统的效率和可用性。

人机交互

提供关键监督以减少偏见和模拟幻觉。这在需要近乎完美准确性的用例中变得至关重要。

成本优化

该层有助于有效地管理资源,这对于大型系统尤为重要。

可解释性和可阐释性

这一层有助于为系统决策提供透明度,这对于需要问责的领域尤其重要。

合作与实验

这一层可提高生产力和迭代改进。Weights and Biases 是一个帮助跟踪实验的流行平台。

多模态层

RAG 应用程序不再仅限于文本。其他模态数据(尤其是图像)现在已成为 RAG 应用程序的常规功能。此层管理适配器,以将多模态数据整合到 RAG 系统中。

可以有更多这样的层来满足反馈、个性化、扩展等需求。这个想法是堆栈应该是模块化和可扩展的。

了解了关键层、基本层和增强层后,您应该准备好组合技术堆栈来构建您的 RAG 系统。

影响工具选择的因素

在开发 RAG 系统时,您可以使用多种服务提供商、工具和技术。在上面的讨论中,我们列出了这些示例。但如何评估选择哪种工具?根据您的要求,您应该考虑七个因素。

  1. 所需的可扩展性和性能:估计的数量和可接受的延迟水平应该决定自动扩展、矢量数据库和推理优化工具的选择。
  2. 与现有堆栈的集成:如果您的系统已经在 AWS、GCP 或 Azure 上运行,则使用与这些平台良好集成的服务可以简化开发和维护。
  3. 成本效益:即使采用即用即付模式,成本也会随着规模的扩大而迅速上升。选择模式和部署策略时,请牢记这一点。
  4. 领域适应性:系统所针对领域的特性将对嵌入和语言模型的选择产生重大影响。它还将决定是否需要自定义训练或微调。
  5. 供应商锁定限制:生成式人工智能是一个不断发展的领域,目前还没有明确的赢家。尽可能使用可互操作的技术。这有助于保持灵活性。
  6. 社区支持:访问资源、教程、故障排除和定期更新可以加速开发并减少调试时间。拥有活跃社区的工具(如 HuggingFace、LangChain 等)更有可能提供频繁更新、插件和第三方集成。

生产最佳实践

在开发或部署过程中,甚至部署后,不可避免地会出现一些问题。尽管 RAG 仍处于起步阶段,但一些常见失误和最佳实践的早期趋势已经出现。

解决延迟问题

由于预检索、检索、重新排序等,RAG 系统增加了 LLM 固有的延迟。查询分类、混合检索过滤、限制相似性搜索和缓存有助于管理此延迟。

减少幻觉

尽管 RAG 旨在减少幻觉,但幻觉永远无法完全消除。对于高风险应用,可能需要添加生成后验证和人工验证。

可扩展性策略

随着用户数量和知识库数据的增长,RAG 系统可能会面临可扩展性问题。如果预计使用量会快速增长,则应采用自动扩展矢量数据库和云解决方案。

处理隐私和安全

LLM 可能会暴露敏感数据和 PII。PII 屏蔽、数据编辑、隐私过滤器已开始在 RAGOps 堆栈中发挥重要作用。

整体 RAGOps 堆栈支持构建生产级 RAG 系统。从 RAG 简介开始,我们深入研究了 RAG 系统的结构,然后详细讨论了 RAGOps 堆栈的各层。该领域发展迅速,每周都会推出新技术和用例。挑战也是如此。因此,RAGOps 堆栈必将不断发展。