Retrieval Augmented Generation (RAG)
探索检索增强生成 (RAG) 如何利用实时数据优化 LLM。学习使用 Ultralytics YOLO26 构建多模态流水线以进行视觉 RAG。
检索增强生成(RAG)是人工智能领域的一项高级技术,它通过引用其训练数据之外的权威知识库来优化 大型语言模型(LLM) 的输出。传统的生成模型完全依赖于其初始训练期间学习到的静态信息,这可能导致过时的答案或被称为 幻觉 的自信错误。RAG 通过从外部来源(例如公司数据库、实时新闻或技术手册)检索相关、最新的信息,并在生成响应之前将其作为上下文输入给模型,从而弥补了这一差距。此过程确保了 AI 的输出不仅在语言上连贯,而且在事实上准确并基于特定数据。
RAG 系统的工作原理#
RAG 系统的架构通常包含两个主要阶段:检索和生成。此工作流允许开发者维护 基础模型,而无需付出频繁重新训练的高昂代价。
-
**检索:**当用户提交查询时,系统首先在称为 向量数据库 的专用存储系统上执行 语义搜索。该数据库包含已转换为称为 嵌入 的数字表示形式的数据,使系统能够查找概念上相似的信息,而不仅仅是匹配关键词。
-
**生成:**在检索过程中找到的相关文档或数据片段与用户的原始问题相结合。然后,这个丰富的提示词将被发送给生成模型。模型利用提供的上下文来综合生成答案,确保响应依赖于检索到的事实。有关该机制的更深入探讨,请参阅 IBM 提供的关于 RAG 工作流的全面指南。
视觉 RAG:集成计算机视觉#
虽然 RAG 传统上是基于文本的,但 多模态学习 的兴起引入了“视觉 RAG”。在这种情况下,计算机视觉 模型充当检索机制。它们分析图像或视频流以提取结构化文本数据(例如对象名称、数量或活动),然后将其输入到 LLM 中以回答关于视觉场景的问题。
例如,开发者可以使用 YOLO26 检测图像中的对象,并将该对象列表传递给文本模型以生成描述性报告。
from ultralytics import YOLO
# Load the YOLO26 model for state-of-the-art detection
model = YOLO("yolo26n.pt")
# Perform inference to 'retrieve' visual facts from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract class names to build a text context for an LLM
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
context_string = f"The scene contains: {', '.join(detected_classes)}."
print(context_string)
# Output example: "The scene contains: bus, person, person, person."实际应用#
通过使 AI 代理 能够安全地访问专有或实时数据,RAG 正在改变各个行业。
- **企业知识库:**公司使用 RAG 构建内部聊天机器人,以回答员工关于 HR 政策或技术文档的问题。通过将 LLM 连接到实时文档存储库,系统避免了提供过时的政策信息。有关企业实施的更多信息,请参阅 Google Cloud 关于 Vertex AI 中 RAG 的概述。
- **临床决策支持:**在 医疗领域的 AI 中,RAG 系统可以检索患者病史和最近的医学研究论文以协助医生诊断,从而确保建议考虑了最新的临床研究。
- **智能零售助手:**使用 零售领域的 AI 的应用程序利用 RAG 检查实时库存数据库。如果客户问聊天机器人:“你们有 10 码的这款跑步鞋吗?”,模型会在回答前检索实时库存水平,从而防止因缺货而产生沮丧情绪。
RAG 与微调 (Fine-Tuning) 的对比#
至关重要的是要区分 RAG 与 微调,因为它们解决的是不同的问题。
- RAG (检索增强生成): 最适合访问动态、频繁变化的数据(例如股价、新闻)或公共训练集中不存在的私有数据。它侧重于在运行时提供 新信息。
- **微调:**最适合调整模型的行为、风格或术语。它涉及在特定数据集上更新 模型权重。虽然微调有助于模型学习特定的语言模式(如医学术语),但它不授予访问实时事实的权限。请参阅 OpenAI 关于微调与 RAG 的指南 以获取决策框架。
相关概念#
- **LangChain:**一个流行的开源框架,专门通过将检索器和 LLM 链接在一起,来简化 RAG 应用程序的创建。
- **知识图谱:**一种表示数据结构化方法,可用作检索源,提供比简单的向量相似性更丰富的上下文关系。
- **提示词工程:**设计输入以引导模型的艺术。RAG 本质上是提示词工程的一种自动化形式,其中的“提示词”通过程序检索到的数据进行了丰富。
- **Ultralytics 平台:**虽然 RAG 处理文本生成方面,但此类平台对于管理将视觉数据馈送到多模态 RAG 管道中的 数据预处理 和视觉模型训练至关重要。






