用户常提出涉及多部分、比较性和探索性的问题,这些问题可能跨越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用于复杂多部分问题。智能检索在基准测试中表现优异(详情略)。