第 3 章 在数据科学项目中部署 RAG 堆栈
在 OpenShift AI 中部署 RAG 堆栈是一项开发人员预览功能。红帽不支持开发人员预览功能,且功能完整或生产就绪。不要将开发人员预览功能用于生产环境或业务关键型工作负载。开发人员预览功能在红帽产品产品中包括早期对功能的访问。客户可以使用这些功能在开发过程中测试并提供反馈。开发人员预览功能可能没有任何文档,可以随时更改或删除,并且已获得有限的测试。红帽可能会提供在没有相关 SLA 的情况下提交对开发人员预览功能的反馈。
有关红帽开发人员预览功能的支持范围的更多信息,请参阅 开发人员预览支持范围。
作为 OpenShift 集群管理员,您可以在 OpenShift AI 中部署 Retrieval-Augmented Generation (RAG)堆栈。此堆栈提供基础架构,包括 LLM inference、向量存储和检索数据科学家和 AI 工程师用来在其项目中构建对话工作流的服务。
要在数据科学项目中部署 RAG 堆栈,请完成以下任务:
- 在 OpenShift AI 中激活 Llama Stack Operator。
- 在 OpenShift 集群上启用 GPU 支持。此任务包括安装所需的 NVIDIA Operator。
- 部署 inference 模型,例如 llama-3.2-3b-instruct 模型。此任务包括创建存储连接和配置 GPU 分配。
-
创建一个
LlamaStackDistribution实例,以启用 RAG 功能。此操作将 LlamaStack 与 Milvus 向量存储一起部署,并将这两个组件连接到 inference 模型。 - 通过在数据科学管道或 Jupyter 笔记本中运行 Docling 将最旧的域数据放入 Milvus 中。此过程会使嵌入与源数据保持同步。
- 公开并保护模型端点。
3.1. RAG 概述 复制链接链接已复制到粘贴板!
OpenShift AI 中的检索生成(RAG)通过将域特定数据源直接集成到模型上下文中,增强了大型语言模型(LLM)。特定于域的数据源可以是结构化数据,如关系数据库表或非结构化数据,如 PDF 文档。
RAG 索引内容并构建嵌入式存储,数据科学家和 AI 工程师可以查询该存储。当数据科学家或 AI 工程师对 RAG chatbot 提出了一个问题时,RAG 管道会检索最重要的数据部分,将它们传递给 LLM 作为上下文,并生成反映提示和检索内容的响应。
通过实施 RAG,数据科学家和 AI 工程师可根据数据科学项目中自己的数据集,为复杂查询获取定制、准确且可验证的答案。
3.1.1. RAG 受众 复制链接链接已复制到粘贴板!
RAG 的目标受众是利用 OpenShift AI 基础架构构建 data-groundal AI 应用程序的人员。
- 对于数据科学家
- 数据科学家可以使用 RAG 来对数据源回答自然语言查询的模型,而无需管理低级嵌入管道或向量存储。它们可以专注于创建提示和评估模型输出,而不是构建检索基础架构。
- 对于 MLOps 工程师
- MLOps 工程师通常在生产环境中部署并运行 RAG 管道。在 OpenShift AI 中,它们管理 LLM 端点,监控性能,并确保同时检索和生成都可靠。RAG 将向量存储维护与服务层分离,使 MLOps 工程师能够将 CI/CD 工作流应用到不同的数据处理和模型部署。
- 对于数据工程师
- 数据工程师构建工作流,将数据加载到 OpenShift AI 索引的存储中。它们与源系统(如 S3 存储桶或关系表)保持同步,以确保 chatbot 响应准确。
- 对于 AI 工程师
- AI 工程师通过定义提示模板、检索方法和回退逻辑来构建 RAG chatbots。它们配置代理和添加特定于域的工具,如 OpenShift 作业触发器,从而启用快速迭代。