Retrieval Augmented Generation (RAG)
探索检索增强生成(RAG)如何利用实时数据优化 LLMs。了解如何使用 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."实际应用#
RAG 正在推动各行业转型,使AI 代理能够安全地访问专有数据或实时数据。
- **企业知识库:**企业使用 RAG 构建内部聊天机器人,回答员工有关 HR 政策或技术文档的问题。通过将 LLM 连接到实时文档存储库,系统可以避免提供过时的政策信息。如需了解更多企业实施案例,请参阅 Google Cloud 关于 Vertex AI 中 RAG 的概览。
- **临床决策支持:**在医疗保健领域的 AI中,RAG 系统可以检索患者病史和最新医学研究论文,协助医生进行诊断,确保建议考虑到最新的临床研究。
- **智能零售助手:**使用零售领域 AI的应用会利用 RAG 检查实时库存数据库。如果客户向聊天机器人询问:“你们有 10 码的这款跑鞋吗?”,模型会在回答前检索实时库存水平,避免因商品缺货而令客户失望。
RAG 与微调的对比#
区分 RAG 与微调至关重要,因为它们解决的是不同的问题。
- **RAG(检索增强生成):**最适合访问动态且频繁变化的数据(例如股价、新闻),或公共训练集中不存在的私有数据。它专注于在运行时提供新信息。
- **微调:**最适合调整模型的行为、风格或术语。它涉及在特定数据集上更新模型权重。虽然微调可以帮助模型学习特定的语言模式(例如医学术语),但它不会赋予模型访问实时事实的能力。有关决策框架,请参阅 OpenAI 关于微调与 RAG 对比的指南。
相关概念#
- **LangChain:**一种广受欢迎的开源框架,专门用于通过将检索器和 LLM 链接起来,简化 RAG 应用的创建。
- **知识图谱:**一种表示数据的结构化方式,可用作检索源,提供比简单向量相似度更丰富的上下文关系。
- **提示工程:**构造输入以引导模型的艺术。RAG 本质上是一种自动化的提示工程形式,其中“提示”会通过程序化方式注入检索到的数据,从而得到增强。
- **Ultralytics Platform:**RAG 负责文本生成,而像这样的平台对于管理数据预处理以及训练视觉模型至关重要,这些视觉模型会将视觉数据输入多模态 RAG 流程。









