Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Contextual Retrieval

上下文检索会在每个文本块前添加一段由 LLM 编写的说明,指出该文本块在文档中的位置,从而让嵌入和 BM25 找到正确段落。

上下文检索是一种用于检索增强生成(RAG)的索引技术:大型语言模型(LLM)会读取每份完整文档,并撰写一段简短说明(通常为 50 到 100 个令牌),以说明某个文本块在文档中的位置和作用。在嵌入该文本块并将其加入关键词索引之前,会先把说明附加到文本块前面,因此搜索可以匹配单靠该文本块无法表达的信息。Anthropic 于 2024 年 9 月推出了上下文检索。

它要解决的问题#

RAG 流水线会将文档拆分为文本块,使其既能精准嵌入,又能让多个文本块放入模型的上下文窗口中;但从文档中截取的文本块往往会丢失使其可被检索到的信息。Anthropic 举例说明,一份财务文件中的文本块写道:“该公司的收入较上一季度增长了 3%。”它既没有指出公司名称,也没有说明具体季度,因此,无论是嵌入还是关键词搜索,都无法将其与询问 ACME 公司 2023 年第二季度收入的问题匹配。上下文检索会将其保存为:“该文本块摘自一份关于 ACME 公司 2023 年第二季度表现的 SEC 文件;上一季度收入为 3.14 亿美元。该公司的收入较上一季度增长了 3%。”

目标裁剪会像文本块一样丢失上下文。Ultralytics 的目标裁剪解决方案会在图像或视频上运行 YOLO26,并将每个检测结果分别保存为文件,例如 crop_1.jpg、crop_2.jpg 等。因此,裁剪图像中虽然有卡车,却没有说明它来自哪个摄像头、地点或场景。为每个裁剪图像添加简短前缀,描述其来源帧,例如摄像头名称、时间,以及周围检测到的其他目标,就能恢复上下文,便于进行关键词和语义搜索。

上下文检索的工作方式#

对于每个文本块,LLM 都会接收完整文档和该文本块,并被要求“给出简短精炼的上下文说明,帮助确定该文本块在整个文档中的位置,以提高该文本块的搜索检索效果”。Anthropic 使用了带有提示缓存的 Claude 3 Haiku:每份文档只需处理一次,便可供其中所有文本块重复使用;一次性成本为每百万个文档令牌 1.02 美元。经过上下文化处理的文本块会进入嵌入索引(“上下文嵌入”)和 BM25关键词索引(“上下文 BM25”)。查询时,系统会搜索两个索引并合并结果,如同混合搜索,然后由重排序器为排名前 150 的候选结果评分,并将最佳的 20 个文本块放入提示中。

分别对带有和不带上下文的示例文本块进行嵌入,可以看出这对向量搜索的影响:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")

# Anthropic's example chunk and the context an LLM wrote for it from the full filing
chunk = "The company's revenue grew by 3% over the previous quarter."
context = "This chunk is from an SEC filing on ACME corp's performance in Q2 2023; the previous quarter's revenue was $314 million."
other = "Globex Corporation reported that Q2 2023 revenue fell 2% on weaker demand."

query = "How did ACME's revenue change in Q2 2023?"
candidates = {"plain chunk": chunk, "contextual chunk": f"{context} {chunk}", "Globex chunk": other}

# Cosine similarity of the query to each indexed text
scores = model.similarity(model.encode(query), model.encode(list(candidates.values())))[0]
for name, score in zip(candidates, scores):
    print(f"{name}: {score:.2f}")

不带上下文的文本块与问题的匹配分数为 0.49,与一段有关其他公司的文本块分数相同。添加上下文后,该文本块的分数升至 0.83,并以明显优势排名第一。

  • 延迟分块:通过嵌入模型的注意力机制,让每个分块的嵌入包含文档上下文,无需为每个分块单独调用 LLM。存储的分块文本保持不变,因此关键词搜索没有任何收益。
  • 语义分块:决定分块从哪里开始、在哪里结束。它可以与上下文检索结合使用,由上下文检索补充每个分块未明说的内容。
  • 标题和章节标题前缀:一种成本更低、历史更久的做法,即在每个分块前添加相同的文档标题或章节标题。上下文检索会为每个分块撰写不同的注释。
  • 上下文工程:一种更广泛的实践,旨在决定推理时哪些内容进入模型的上下文窗口。上下文检索在更早的环节发挥作用,决定哪些内容会被编入索引。

实测效果#

Anthropic 将检索失败率定义为 1 减去 recall@20,即相关分块未出现在前 20 条结果中的查询所占比例。基准流水线在 5.7% 的查询中失败。上下文嵌入将失败率降至 3.7%,降低了 35%;再加入上下文 BM25 后,失败率降至 2.9%,降低了 49%。对合并后的结果进行重排序后,失败率降至 1.9%,比基准降低了 67%。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉
航空影像计算机视觉
借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉
航空航天中的计算机视觉
使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉
安防领域的计算机视觉
使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉
机器人领域的计算机视觉
使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉
物流中的计算机视觉
借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉
零售中的计算机视觉
借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉
医疗领域的计算机视觉
借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉
制造业中的计算机视觉
利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉
汽车领域的计算机视觉
利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉
农业中的计算机视觉
借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉
体育领域的计算机视觉
了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉
航空影像计算机视觉
借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉
航空航天中的计算机视觉
使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉
安防领域的计算机视觉
使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉
机器人领域的计算机视觉
使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉
物流中的计算机视觉
借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉
零售中的计算机视觉
借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉
医疗领域的计算机视觉
借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉
制造业中的计算机视觉
利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉
汽车领域的计算机视觉
利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉
农业中的计算机视觉
借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来