部署多云生成式 AI 检索增强生成 (RAG)

Oracle Cloud Infrastructure Generative AI 是一个全托管式服务,可将大型语言模型 (LLM) 无缝集成到各种用例中,包括写作帮助、汇总、分析和聊天。

在多云解决方案(例如 Oracle Cloud Infrastructure 和 Microsoft Azure)中使用 OCI Generative AIOracle Integration 来查询相关组织数据,并使用它来提供高度情境化的答案。

在 RAG 架构中,Oracle Integration 可以起到数据编排器的作用,确保所有相关数据源都可供检索。然后,Oracle Cloud Infrastructure Generative AI Agents 将接管这些数据,以提供上下文丰富的答案。

OCI GenAI 代理处理数据,通过嵌入检索到的文档并通过查询大型语言模型 (LLM) 来增强其生成的响应,从而提供上下文响应。

因此,虽然两者都参与了数据生命周期,但在构建多云 RAG 架构方面,它们的角色是独特但互补的。

这种多云 RAG 方法提供:

  • 多云灵活性:该架构集成了多个云平台(OCI 和 Azure),使其能够适应企业内部的数据环境。
  • 高性能连接:Oracle Interconnect for Microsoft Azure 可确保在云环境之间实现快速、安全、可靠的数据传输。
  • 动态内容生成:代理从不同来源提取最新信息,确保 LLM 响应准确且相关。
  • 嵌入式文档搜索:通过使用嵌入和语义搜索, OCI GenAI 代理可以基于上下文提供更深入的洞察,而不仅仅是关键字匹配。

体系结构

此多云解决方案可获取来自 Microsoft Azure 和 Oracle Cloud Infrastructure (OCI) 的数据,支持 Oracle Cloud Infrastructure Generative AI Agents 访问更广泛的最新信息。

OCI GenAI AgentsOracle Integration 共同支持检索、扩充和生成 (RAG) 服务,从而提供高度情境化的结果。

OCI GenAI 代理专注于使用生成式 AI 从知识库或文档检索相关信息以生成答案,从而响应用户查询。该代理利用高级 AI 技术、嵌入和文档分块来理解和生成相关内容,从而提供丰富的上下文感知响应:

  • 检索:从知识来源提取相关数据,通常通过高级混合搜索,结合词法和语义搜索。
  • 增强:使用检索到的数据为查询提供上下文,确保生成式 AI 模型具有必要的信息。
  • 生成:使用大型语言模型 (LLM) 生成用户问题的上下文响应,这些响应通常由在前面的步骤中检索的数据增强。

另一方面,Oracle Integration 提供了连接各种应用程序和系统的集成服务,允许跨多个环境编排数据流:

  • 检索:通过使用连接代理私下连接到 Azure 或其他超大规模程序上的各种数据源或服务(数据库、REST API、云存储等),促进从不同来源的数据检索。
  • 编排/扩充:编排工作流并集成多个来源的数据,通过预配置或动态转换扩充数据来增强流程。
  • 管理数据流:与 RAG 代理不同,Oracle Integration 不专注于从数据生成响应,而是支持在系统和应用程序之间顺利移动和转换数据,确保所有相关数据都可用于不同的服务。
功能区域 OCI GenAI 代理 Oracle Integration
用途 旨在通过检索数据、增强数据并使用 LLM 生成响应来提供 AI 驱动的响应。 旨在跨多个应用集成和编排数据,提供无缝的数据连接,但不提供 LLM 驱动的生成功能。
数据处理 使用数据以上下文感知方式生成自然语言响应。 处理应用程序之间的数据流,充当系统之间的桥梁,而不会像 LLM 那样生成内容。
生成功能 具有生成式 AI 功能,并使用 LLM 生成对话响应或其他输出。 它没有生成式 AI 功能,可用于跨服务连接、检索和转换数据。

下图说明了体系结构中的数据流:



多云 -genai-rag-process-oracle.zip

  1. 根据具体实施,用户可与 Oracle Digital AssistantOCI GenAI Agents 进行交互,以提供用户查询和提示。
  2. Oracle Integration 编排不同组件之间的调用:从数据源提取、处理文档摄取以及向下游传递用户提示。
  3. 数据源包括:
    • Oracle Interconnect for Microsoft Azure 为文档存储库、Oracle Database@Azure 等提供 OCI 与 Azure 之间的高带宽链接。
    • 本地文件资料档案库提供用于摄取的内部部署文件或本地文件。
    • OCI 服务,例如 Oracle Fusion Cloud Enterprise Resource Planning
    • 委派子网中的 Oracle Database@Azure ,用于在 Azure 上跨 Oracle 管理的服务共享数据。
  4. 文档摄取、分块和嵌入过程可以通过不同的方式实现:
    1. Oracle Integration (使用嵌入式 JavaScript 或定制库)执行分块并调用 OCI Generative AI 进行嵌入。
    2. OCI Functions 接收文档、对其进行分块,然后调用 OCI Generative AI 进行嵌入。
    3. Oracle Autonomous Database 23ai 使用向量功能执行分块和嵌入。

    标准结果是一组在多云环境中完全管理的块文本加向量嵌入。

  5. 向量和块存储在 Oracle Autonomous Database 23ai 中:
    • 典型的方法是将嵌入存储在 Oracle Autonomous Database 23ai 的向量索引中。
    • 块文本本身也可以直接存储在数据库 CLOB 中(用于快速检索),也可以作为指向 OCI Object Storage 或 Azure Data Lake 中块文本的引用。
    • 如果需要, OCI 对象存储可以存储原始文档,但如果在数据库中查询向量存储,则不必保留嵌入。
  6. 当用户提示问题时, OCI GenAI Agents (或数字助手)调用 Oracle Autonomous Database 23ai,使用用户提示符的嵌入来执行向量相似性搜索,以根据向量相似性分数确定最佳匹配块。
  7. OCI Generative AI 可为问题和文档块生成嵌入,并使用 LLM 模型生成响应,从而提供上下文丰富的答案。块检索和 LLM 响应还取决于实现:
    • 如果块文本存储在数据库中,则可以直接检索。
    • 如果仅存储引用,系统将快速从 OCI Object Storage 、Azure Data Lake 或其他存储库中提取实际的块内容。
    • 然后,相关块将与用户的原始提示一起馈送到 OCI Generative AI 中的 LLM,以生成上下文丰富的响应。
  8. 最终答案由 Oracle Digital AssistantOCI GenAI Agents 接口返回,具体取决于用户连接到的前端。

下图展示了体系结构:



多云 -genai-rag- 架构 -oracle.zip

Microsoft Azure 提供以下组件:
  • Microsoft Azure 区域

    Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。

    Azure 和 OCI 区域是本地化的地理区域。对于 Oracle Database@Azure,Azure 区域连接到 OCI 区域,Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (Availability Domain,AD)。选择 Azure 和 OCI 区域对以尽可能减少距离和延迟。

  • Microsoft Azure 可用性区域

    可用性区域是区域中的物理隔离数据中心,设计为具有高可用性和容错能力。可用性区域足够近,可以与其他可用性区域建立低延迟连接。

  • Microsoft Azure 虚拟网络

    Microsoft Azure Virtual Network (VNet) 是 Azure 中专用网络的基础构建块。VNet 支持多种类型的 Azure 资源,例如 Azure 虚拟机 (VM),可以安全地相互通信、互联网以及内部部署网络。

  • Microsoft Azure 委派子网

    通过子网委派,您可以将托管服务(尤其是平台即服务 (PaaS) 服务)直接注入到虚拟网络中。委托子网可以是虚拟网络内外部托管服务的主目录,以便外部服务充当虚拟网络资源,即使它是外部 PaaS 服务也是如此。

  • Microsoft Azure 数据湖存储

    Data Lake Storage 是一个基于云的企业级数据湖解决方案。它旨在以任何格式存储大量数据,并促进大数据分析工作负载。您可以使用它在一个位置捕获任何类型的数据和摄取速度,从而使用各种框架轻松访问和分析。

  • Microsoft Azure Synapse Analytics

    Azure Synapse Analytics 将用于数据存储和处理的集中式服务与可扩展的链接服务架构相结合,使您能够集成常用数据存储、处理平台和可视化工具。

Oracle Cloud Infrastructure 提供以下组件:

  • 区域

    Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。

  • 可用性域

    可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共用电源、冷却设施或内部可用性域网络等基础设施。因此,一个可用性域出现故障不会影响区域中的其他可用性域。

  • 虚拟云网络 (VCN) 和子网

    VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • 路由表

    虚拟路由表包含用于将流量从子网路由到 VCN 之外目的地的规则,通常是通过网关。

  • 安全列表

    对于每个子网,可以创建安全规则来指定必须允许进出子网的通信的源、目标和类型。

  • 生成式 AI

    Oracle Cloud Infrastructure Generative AI 是一个完全托管的 OCI 服务,它提供了一组先进、可定制的大型语言模型 (LLM),涵盖了文本生成、汇总、语义搜索等各种用例。使用游乐场来试用现成的预训练模型,或者根据您自己的数据在专用 AI 集群上创建和托管您自己的微调定制模型。

  • 集成

    Oracle Integration 是一个完全托管的预配置环境,允许您集成云和内部部署应用、实现业务流程自动化以及开发可视化应用。它使用符合 SFTP 标准的文件服务器来存储和检索文件,并允许您通过使用数百个适配器和配方组合来与 Oracle 和第三方应用进行连接,从而与企业对企业贸易合作伙伴交换文档。

  • 对象存储

    通过 OCI 对象存储,您可以快速访问任何内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据和丰富的内容,例如图像和视频。您可以直接从互联网或云平台安全地存储数据。您可以在不降低性能或服务可靠性的情况下扩展存储。

    将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。

  • 函数

    Oracle Cloud Infrastructure Functions 是一个完全托管的多租户、高度可扩展的按需函数即服务 (FaaS) 平台。它由 Fn Project 开源引擎提供支持。通过 OCI 函数,您可以部署代码,并直接调用代码或触发代码以响应事件。OCI Functions 使用 Oracle Cloud Infrastructure Registry 中托管的 Docker 容器。

  • 分析

    Oracle Analytics Cloud 是一项可扩展且安全的公有云服务,可为业务分析师提供基于 AI 的现代自助分析功能,以支持数据准备、可视化、企业报告、增强分析以及自然语言处理和生成。借助 Oracle Analytics Cloud ,您还可以获得灵活的服务管理功能,包括快速设置、轻松扩展和打补丁以及自动化生命周期管理。

  • 数字助手

    Oracle Digital Assistant 是一个支持您为用户创建和部署数字助手的平台。借助 Oracle Digital Assistant ,您可以通过文本、聊天和语音界面为业务应用创建 AI 驱动的界面(或聊天机器人)。每个数字助手都包含一个或多个专业技能,可帮助用户在自然语言对话中完成各种任务。例如,单个数字助手可能具有侧重于特定类型任务的技能,例如跟踪库存、提交工时记录卡和创建费用报表。

  • 自治数据库

    Oracle Autonomous Database 是一个完全托管的预配置数据库环境,可用于事务处理和数据仓库工作负载。您不需要配置或管理任何硬件,或者安装任何软件。Oracle Cloud Infrastructure 负责创建、备份、打补丁、升级和优化数据库。

确认

  • 授权者Michele Nicosia, Wei Han, Kailas Jawadekar
  • 贡献者Lyudmil Pelov, Juan Carlos Gonzalez Carrero, Robert Lies