跳到主要内容
AI News HubLIVE
站内改写2 分钟阅读

面向Amazon Bedrock托管知识库的智能检索

文章摘要

经典检索在应对多部分、比较性和探索性问题时表现不佳,而智能检索通过规划循环分解查询、逐意图检索并评估充分性,提供更精准的结果。本文深入探讨智能检索的工作原理、API使用方法及适用场景。

来源AWS Machine Learning Blog作者: Omar Elkharbotly
面向Amazon Bedrock托管知识库的智能检索
报告错误

纠错通道尚未开通,可先复制下方文章信息留存。

查看更正说明
直接读正文

用户常提出涉及多部分、比较性和探索性的问题,这些问题可能跨越PDF、幻灯片、工单、记录和网页内容。经典的单一检索在面对这些问题时往往失效:答案遗漏上下文、支持工单升级、分析师浪费数小时重复搜索。Amazon Bedrock托管知识库的智能检索正是为解决此类问题而设计。

以一个实例说明差距:假设您已将25年的亚马逊股东信函摄入托管知识库。第一个直接问题:“文档中最重要的是什么?”标准Retrieve API按混合分数返回五个块。在我们的测试语料中,最高分块虽得分高但价值低——它涵盖了亚马逊标志配色方案。后续块涉及招聘、构建者和差异。检索器完成了工作,按与查询嵌入的相似度排序。但“最重要的是什么”很模糊,评分器没有衡量重要性的信号。

再考虑一个现实问题:“比较亚马逊在2020年与2023年如何谈论招聘、长期投资和客户至上。重点有何变化?”单次检索需用一个查询向量服务于三个意图和两个时间段。结果要么是松散相关的块,要么是由最强信号主导的紧密聚类。这都不是人类分析师会做的。

人类会分解问题:搜索2020年的招聘,再搜索2023年的招聘,然后搜索每一年投资理念。阅读结果,发现差距,完善搜索并再次运行。收集足够证据后,综合得出结论。智能检索通过API自动化了这一工作流程。

单次检索的不足包括:多部分问题嵌入不佳、比较推理需要针对每个项目检索、跨来源问题静态路由规则脆弱、缺乏充分性判断、无法根据首次结果迭代。团队已通过自定义代理框架解决,但带来了额外的复杂性、延迟和成本。

智能检索是Amazon Bedrock托管知识库中的一种新检索模式,通过AgenticRetrieveStream API提供。它不是一次相似性搜索,而是由基础模型驱动的规划循环:模型分解问题,对每个部分进行检索,判断证据是否充分,并根据需要迭代。默认在同一调用中生成有依据的响应。可设置generateResponse=False仅返回检索结果。

您能看到循环的每个步骤有序的跟踪事件流:SpeculativeRetrieval(初始检索)、Planning(分析查询、输出子查询)、Retrieval或FullDocumentExpansion(每次子查询执行)、Result(最终去重块)。去重仅在最终结果事件中应用,跟踪事件保留各步骤详情。

两个主要调优参数:maxAgentIteration(迭代次数上限,单知识库推荐3,多知识库或比较查询推荐4-5)和foundationModelType(服务托管模型或自定义模型)。定价方面,智能检索按次收费,托管模型每千次$4加底层Retrieve调用每千次$1。

API实践:单知识库时,发送请求并消费流,接收跟踪事件、生成响应块和最终结果。多知识库时,可注册最多五个托管KB检索器,并为每个附加自然语言描述,规划器据此路由子查询。选择Retrieve API用于简短明确的问题,选择AgenticRetrieveStream用于复杂多部分问题。智能检索在基准测试中表现优异(详情略)。

展开要点与分析

文章情报

工程师进阶

要点

  • 单次检索在多意图查询中难以有效工作。
  • 智能检索使用基础模型分解查询、迭代检索并判断是否足够。
  • AgenticRetrieveStream API支持多知识库,并生成带引用的响应。
  • 根据问题复杂度选择Retrieve或AgenticRetrieveStream API。

要点与分析由自动化流程生成,可能有误,请结合原始来源核实。