AB
AiBoss
ニュース

AWS 博客介绍 LangChain 与 Amazon Bedrock 知识库的智能体检索

AWS 发布技术博客,介绍如何在 Amazon Bedrock 托管知识库上配合 LangChain 使用智能体检索:由服务把问题拆成子查询、多轮搜索并判断证据是否充分,与单次混合检索形成对比。

核心事实

AWS 在其机器学习博客发布一篇技术文章,介绍如何在 Amazon Bedrock 托管知识库(Amazon Bedrock Managed Knowledge Base)上,配合 LangChain 使用智能体检索(agentic retrieval)。文章称,该能力已在该托管知识库上提供,langchain-aws 包同时暴露智能体检索与标准检索两种方式,开发者可在 LangChain 应用中选用。

按文中描述,标准路径调用 Retrieve API,执行一次混合检索并返回带分数的文本块;智能体路径调用 AgenticRetrieveStream API,运行一个规划循环,把问题拆成子查询、逐个执行、判断证据是否充分,不足时再次检索,并以 trace 事件的形式流式返回步骤。文章以同一个多部分问题分别走两条路径,并读取规划器产生的 trace 事件。

背景与影响

文章指出,当用户要求比较两个产品在三个维度上的差异时,实际相当于同时提出六个问题;相似度检索用单个查询向量承载全部意图,返回的文本块虽然主题相关,但可能只覆盖问题的一部分。托管知识库把向量存储、嵌入与重排序模型从 RAG 架构中移除,用户只需配置数据源,分块、嵌入、存储与检索由服务处理;示例使用 Amazon S3 作为数据源。

权限方面,文章强调需要区分两个身份:知识库代入的服务角色负责读取文档并调用嵌入模型,应用侧则使用 AWS STS 调用者身份查询。文中提到 bedrock:AgenticRetrieveStream 与 bedrock:InvokeModelWithResponseStream 无法按知识库 ARN 限定范围,而 bedrock:Retrieve 与 bedrock:GetDocumentContent 可以;bedrock:GetDocumentContent 常在策略中被忽略,但智能体检索在 FullDocumentExpansion 步骤会调用它。

限制与来源

文章说明,示例使用美国东部(弗吉尼亚北部)区域(us-east-1),并提示查阅 AWS 文档了解其他区域的可用性与支持情况;代码依赖 Python 3.12 或更高版本,以及 langchain-aws>=1.6.3、langchain>=1.0、boto3>=1.43.32,其中 agentic_retrieve_stream 在 1.43.32 之前不存在。文章还提示运行该示例可能产生文档存储与摄取、检索调用以及基础模型推理费用,具体价格以 Amazon Bedrock 定价页面为准,并建议实验结束后删除资源。本文为技术教程,未给出性能或成本对比数字。

来源:AWS 机器学习博客《Agentic retrieval with LangChain and Amazon Bedrock Knowledge Bases》。