深圳Yolo 视觉
深圳
立即加入
词汇表

检索增强生成 (RAG)

探索检索增强生成(RAG)如何通过实时数据优化大型语言模型(LLM)。学习Ultralytics 构建多模态管道,实现视觉检索增强生成。

检索增强生成(RAG)是人工智能领域的一项先进技术,通过调用训练数据之外的权威知识库来优化大型语言模型(LLM)的输出结果。传统生成模型仅依赖初始训练阶段获取的静态信息,这可能导致答案过时或产生被称为"幻觉"的自信错误。 RAG通过从外部来源(如企业数据库、实时新闻或技术手册)检索相关且最新的信息,并在生成响应前将其作为上下文输入模型,从而弥补了这一缺陷。该过程确保人工智能的输出不仅在语言上连贯,更具备事实准确性并基于具体数据。

RAG系统如何运作

RAG系统的架构通常包含两个主要阶段:检索和生成。该工作流使开发者能够在无需频繁进行高成本重新训练的情况下维护基础模型

  1. 检索:当用户提交查询时,系统首先在称为向量数据库的专用存储系统中执行语义搜索。该数据库包含已转换为数值表示形式的数据(称为嵌入),使系统能够查找概念相似的信息,而非仅匹配关键词。
  2. 生成阶段:检索过程中发现的相关文档或数据片段将与用户的原始问题相结合。 随后,这个经过增强的提示被发送至生成模型。模型利用提供的上下文合成答案, 确保响应基于检索到的事实。若需深入了解具体机制, IBM 提供了关于 RAG 工作流的全面指南

视觉RAG:计算机视觉的融合

虽然RAG传统上基于文本,但多模态学习的兴起催生了"视觉RAG"。在此场景中,计算机视觉模型充当检索机制,通过分析图像或视频流提取结构化文本数据——例如物体名称、数量或活动信息——随后将这些数据输入大型语言模型(LLM)以解答关于视觉场景的问题。

例如,开发者可以使用YOLO26在图像中detect ,并将物体列表传递给文本模型以生成描述性报告。

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正通过使人工智能代理能够安全访问专有或实时数据,推动各行业转型。

  • 企业知识库:企业利用RAG技术构建内部聊天机器人,用于解答员工关于人力资源政策或技术文档的疑问。通过将大型语言模型与实时文档库相连接,该系统可避免提供过时的政策信息。有关企业级应用的更多详情,Google Vertex AI中对RAGGoogle 概述
  • 临床决策支持: 在医疗健康领域的人工智能应用中,RAG系统能够检索患者病史及最新医学研究论文,协助医生进行诊断,确保所提供的建议充分考虑了最前沿的临床研究成果。
  • 智能零售助手: 零售领域的人工智能应用通过RAG技术实时查询库存数据库。当顾客询问聊天机器人"这款跑鞋有10码吗?"时,模型会先检索实时库存数据再作答,避免因缺货引发的顾客失望。

RAG 与微调

区分RAG与微调至关重要,因为 它们解决的是不同的问题。

  • RAG(检索增强生成):最适合访问动态、频繁变化的数据(例如股价、新闻)或公共训练集中不存在的私有数据。其核心在于运行时提供新信息
  • 微调:最适合调整模型的行为、风格或术语。该过程涉及在特定数据集上更新模型权重。虽然微调能帮助模型学习特定语言模式(如医学术语),但无法获取实时事实。有关决策框架,请参阅OpenAI关于微调与RAG的指南。

相关概念

  • LangChain一款广受欢迎的开源框架, 专为简化RAG应用程序的创建而设计,通过串联检索器和 大型语言模型实现功能。
  • 知识图谱一种结构化的数据表示方式,可作为检索来源,相较于简单的向量相似性,能提供更丰富的上下文关联关系。
  • 提示工程 引导模型进行输入设计的艺术。 RAG本质上是提示工程的自动化形式,其中 "提示"通过程序化检索数据实现增强。
  • Ultralytics 虽然RAG负责文本生成环节,但此类平台对于管理数据预处理和视觉模型训练至关重要,这些模型将视觉数据输入多模态RAG管道。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入