YOLO Vision 2026:
返回 Ultralytics 术语表

Contextual Retrieval

了解上下文检索如何通过文档感知分块、混合搜索和重排序改进 RAG,并探索 Ultralytics YOLO26 如何提供多模态视觉上下文。

上下文检索是一种预处理技术,通过在为每个数据块建立索引前添加简短的文档专属说明,改进检索增强生成(RAG)。该技术由Anthropic 2024 年上下文检索指南提出,可帮助搜索系统理解原本含义模糊的段落所属的位置,从而改进提供给大语言模型的证据。(anthropic.com

上下文检索的工作原理#

标准 RAG 会将文档拆分为数据块,并将其转换为嵌入。然而,诸如“收入增长了 3%”这样的数据块可能会遗漏公司、报告期间和文档类型等信息。上下文检索会使用完整文档生成简洁的前缀,例如“此段内容描述了 ACME 2025 年第二季度的财务结果”,然后再为组合后的文本建立索引。

典型工作流程包括:

  1. 语义分块 将文档划分为连贯的段落,使其符合检索和模型的限制。分块的主要目的是让大型来源可供搜索,同时不超出模型的上下文窗口
  2. 上下文生成: 使用模型总结每个数据块与其来源之间的关系,遵循类似于Claude 上下文嵌入教程的流程。
  3. 混合搜索 使用密集向量和BM25 关键词排序等词法方法,为已添加上下文的数据块建立索引。
  4. 重排序 在将最佳证据发送给生成器之前,使用更深入的查询与数据块比较来重新排列检索到的候选项。

Anthropic 报告称,在其测试中,上下文嵌入与上下文 BM25 结合使用后,将前 20 个结果的检索失败率降低了 49%;加入重排序后,降幅达到 67%。结果会因数据集而异,因此这些数字应被视为基准,而非保证。(anthropic.com

计算机视觉中的上下文检索#

多模态 RAG中,文档上下文可以包括检测到的对象、图像说明、时间戳、摄像头位置或周围的视频事件。下面的示例使用Ultralytics YOLO26为图像创建可搜索的上下文:

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
result = model("https://ultralytics.com/images/bus.jpg")[0]
labels = [model.names[int(cls)] for cls in result.boxes.cls.tolist()]
context = f"Street-scene image containing: {', '.join(labels)}."
print(context)

生成的文本可以在嵌入前添加到图像说明或元数据记录的开头。开发者可以探索相关的YOLO 预测工作流视觉相似性搜索

实际应用#

  • 企业与法律搜索 政策助手会保留文档名称、日期、部门和条款关系,减少由孤立段落导致的误导性回答。
  • 视觉维护系统 在系统检索维修手册或检查记录之前,检测到的机械设备、缺陷类型和设施位置会为图像提供上下文。
  • 个性化教育 学习代理可以结合学生对话与活动日志,检索与学习者当前任务相关的指导。

相关技术与最佳实践#

上下文检索不同于上下文工程,后者负责管理运行时提供给模型的全部信息。它也不同于延迟分块研究,后者会先嵌入完整文档,再将令牌表示汇聚成数据块。一项2025 年比较评估发现,上下文检索在保持语义连贯性方面表现有效,但计算成本更高。(arxiv.org

当前的最佳实践包括测试多种数据块大小、保留源元数据、结合密集检索与关键词检索,以及使用Microsoft 的 RAG 评估指南衡量召回率、精确率、基于事实的程度和响应完整性。较新的研究(如SAGE 精确检索)倾向于采用语义分割和动态数据块选择,而一项2026 年检索基准测试支持对复杂文本和表格文档使用混合检索与神经重排序。构建视觉知识系统的团队可以使用Ultralytics Platform来标注数据集、训练视觉模型、部署端点,并监控提供结构化视觉上下文的组件。

Explore solutions

让我们共同构建 AI 的未来!

开启你的机器学习未来之旅