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

检索增强生成 (RAG)

了解检索增强生成 (RAG) 如何通过集成实时、可靠的外部数据来增强 AI 模型,从而获得准确、最新的响应。

Retrieval Augmented Generation (RAG) 是一个先进的框架,旨在优化 大型语言模型 (LLM) 通过引用原始训练数据之外的权威知识库来优化大型语言模型(LLM)的输出。在标准的 生成式人工智能系统中,模型完全依赖于其在训练过程中学到的 在标准的生成式人工智能系统中,模型完全依赖于它在训练过程中学到的静态信息,这可能会导致过时的答案或被称为 "幻觉 "的事实错误。 幻觉。RAG 通过以下方式弥补了这一缺陷 从可信的外部来源检索相关的最新信息,并将其作为上下文输入模型,然后再生成响应。 在生成响应之前,将其作为上下文反馈给模型。这一过程可有效地为人工智能提供依据,确保其高度准确性和相关性,而无需 准确性和相关性,而不需要昂贵的 模型重新训练。

检索增强一代如何工作

RAG 工作流程集成了两个主要组件:检索系统和生成模型。这种协同作用改变了 如何 自然语言处理 (NLP) 任务的执行方式。

  1. 检索:当用户提交查询时,系统首先搜索一个专门的知识库。 知识库,通常存储在 矢量数据库。该数据库包含 嵌入--文本或数据的数字表示--可实现高效的语义搜索 数据的数字表示,从而实现高效的语义搜索。 检索器可识别与用户请求语义最相似的文档或数据片段。
  2. 增强:然后,利用提示工程技术将检索到的信息与用户的原始查询结合起来。 提示工程技术。这种 "增强 "提示为模型提供了最初缺乏的必要事实背景。
  3. 生成:最后,丰富的提示信息被传递给 LLM。该模型利用所提供的上下文 生成一个连贯且有事实根据的答案。像 LangChain等领先框架通常用于无缝协调这些步骤。

实际应用

对于数据变化频繁或精度要求较高的行业,RAG 是必不可少的。

  • 企业知识管理:企业利用 RAG 聊天机器人为员工提供帮助。例如,人力资源 助理可以从公司服务器检索最新的政策文件,回答有关福利的问题。这 确保人工智能遵守特定的公司协议,而不是通用的互联网知识。
  • 临床决策支持:在医疗领域、 医疗保健领域的人工智能可从 RAG。系统可以检索最新的医学研究论文或特定的病人病史记录,以帮助医生诊断,确保病人的健康。 医生进行诊断,确保 预测模型是基于最新的 而不是模型的截止日期。

计算机视觉中的 RAG

虽然 RAG 概念传统上以文本为基础,但正在扩展到 计算机视觉 (CV)。在一个 多模态模型中,系统可以检索 类似的图像或视觉元数据,以帮助进行对象检测或分类。 对象检测或分类。例如 例如,通过检索科学数据库中的参考图像来提高识别罕见生物标本的能力,以 等模型进行的视觉分析。 Ultralytics YOLO11.

RAG 与微调

必须将 RAG 与微调区分开来,因为它们解决的是不同的问题。 它们解决的是不同的问题:

  • RAG将模型与动态的外部事实连接起来。它最适合需要最新 信息和可验证性。它不会改变模型的内部参数。
  • 微调包括 微调包括在特定数据集上进一步训练模型,以调整其 模型权重。这非常适合向模型传授特定的风格 特定的风格、语调或专门的任务行为,但对于维护一个包含快速变化的事实的知识库来说,这种方法就不那么有效了。 但对于维护快速变化的事实知识库来说,这种方法就不那么有效了。通常,开发人员使用 迁移学习来结合这两种方法 以获得最佳性能。

示例:使用检测数据增强提示

在这个Python 示例中,我们模拟了一个基本的 RAG 工作流程,使用对象检测模型来 "检索 "图像的事实。 图像的相关事实。然后,这些事实会增强文本提示,使描述以经过验证的视觉数据为基础。

from ultralytics import YOLO

# Load the YOLO11 model acting as our 'retrieval' mechanism for visual facts
model = YOLO("yolo11n.pt")

# Run inference to retrieve content information from the image
results = model("https://ultralytics.com/images/bus.jpg")

# Extract detected classes to augment the prompt
detected_objects = [model.names[int(cls)] for cls in results[0].boxes.cls]
context_string = ", ".join(set(detected_objects))

# Construct the augmented prompt (RAG concept)
prompt = f"Based on the verified presence of {context_string} in the scene, describe the traffic situation."
print(f"Augmented Prompt: {prompt}")

加入Ultralytics 社区

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

立即加入