作为缺少特定域上下文的解决方法,检索增强生成按如下方式执行:
- 我们从包含最新产品目录的数据库(通常是带有矢量搜索的数据库)中获取最相关的产品描述
- 然后,我们将这些描述插入(增强)到 LLM 提示符中
- 最后,我们指示 LLM 在回答问题时“参考”这些最新的产品信息
以上需要考虑的三件事:
- 检索增强生成是一种纯粹的推理时间(无需重新训练)技术。 上述第 1-3 步都在推理时间内完成。无需对模型进行任何更改(例如 修改模型权重)。
- 检索增强生成非常适合 LLM 生成的实时自定义。 由于不涉及重新训练,并且一切都是通过上下文学习完成的,因此基于 RAG 的推理速度很快(低于 100 毫秒的延迟),并且非常适合在实时操作应用程序中使用。
- 检索增强生成使 LLM 生成更加准确和有用。 每次上下文更改时,LLM 都会生成不同的响应。 因此,RAG 使得 LLM 生成取决于检索到的任何上下文。
保持 RAG 的简单性,将其复杂性降到最低,但又能在一定规模上可靠地执行。
要实现高性能且复杂性最低的 RAG 架构,首先要选择正确的系统。 在为 RAG 实施选择系统或技术时,选择能够实现以下目标的多个系统或一个系统非常重要:
- 支持新的矢量数据需求,而不会给您的 IT 运营带来巨大的无序扩张、成本和复杂性。
- 确保构建的生成式人工智能体验能够以最低延迟访问实时数据。
- 能够灵活地适应新的数据和应用程序要求,并允许开发团队在此过程中保持敏捷。
- 最好让开发团队将整个人工智能生态系统与他们的数据结合起来,而不是相反。
选项范围从单一用途矢量数据库到具有本机矢量功能的文档和关系数据库,以及数据仓库和 Lakehouse。 但是,单一用途的矢量数据库将立即增加扩展性和复杂性。 数据仓库和 Lakehouse 本质上是为对历史数据进行长时间运行的分析类型查询而设计的,而不是 RAG 支持的 GenAI 应用程序的高容量、低延迟和新鲜数据要求。 此外,relational database 带来了严格的模式,限制了轻松添加新数据和应用程序需求的灵活性。 这使得文档数据库具有原生或内置的矢量功能。 特别是,MongoDB 建立在灵活的文档模型之上,并具有本机矢量搜索,使其成为 RAG 的矢量数据库以及适用于任何现代应用程序的行业领先数据库。
通过 RAG 实施中的附加功能,将法学硕士的力量提升到一个新的水平。
除了核心组件外,还可以在RAG实现中添加许多其他功能,以将LLM的强大功能提升到一个新的水平。 其中一些附加功能包括:
- 多模态:多模态 RAG 模型可以生成基于文本和非文本数据的文本,例如图像、视频和音频。 将这种多模态数据与实时操作数据并排存储使得 RAG 实施更易于设计和管理。
- 在矢量搜索查询中定义附加过滤器:在同一矢量查询中添加关键字搜索、地理空间搜索以及点和范围过滤器的功能,可提高向 LLM 提供的上下文的准确性和速度。
- 特定域:特定域的 RAG 模型可根据特定域(如医疗保健或金融)的数据进行训练。 这样,RAG 模型就能为该领域生成更准确、更相关的文本。
在进行全球化时,确保您的生成式人工智能应用程序安全、高效、可靠、可扩展。
在进行全球化时,可以采取多种措施来确保使用 RAG 构建的 GenAI 应用程序安全、高性能、可靠且可扩展。 其中包括:
- 使用安全且具有适当数据治理功能的平台:数据治理是一个广义的术语,包括为确保数据安全、私密、准确、可获取和可用所做的一切。 这包括围绕数据生命周期的流程、策略、措施、技术、工具和控制。 因此,平台默认情况下应是安全的,具有端到端加密功能,并达到最高级别的合规性。
- 使用基于云的平台:除了基于云的平台提供的安全性和可扩展性功能之外,主要的云提供商也是人工智能基础架构的一些领先创新者。 选择与云无关的平台使团队能够在任何地方利用人工智能创新。
- 使用可以将矢量工作负载基础架构与其他数据库基础架构隔离的平台:重要的是,常规 OLTP 工作负载和矢量工作负载不共享基础架构,以便这两个工作负载可以在针对各自优化的硬件上运行,并且不会争用资源,同时仍然能够利用相同的数据。
- 使用经过规模验证的平台:提供商声称自己可以扩展是一回事,但它是否有与全球企业客户合作的历史和跟踪记录? 它是否具有关键任务容错能力和水平扩展能力,能否用客户实例来证明?
遵循这些提示,就有可能利用 RAG 架构构建安全、高性能、可靠和可扩展的、由 GenAI 驱动的应用程序。
随着Atlas Vector Search的引入,MongoDB 领先的开发者数据平台为团队提供了矢量数据库,支持构建可大规模执行的复杂、高性能 RAG 架构。 所有这一切同时保持最高水平的安全性和云不可知论,最重要的是,不会增加复杂性和不必要的成本。