View a markdown version of this page

通过 Gate AgentCore way 连接到你的知识库 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过 Gate AgentCore way 连接到你的知识库

AgentCore Gateway 允许您使用模型上下文协议 (MCP) 将您的 Amazon Bedrock 托管知识库作为工具公开。将知识库目标添加到网关后,任何 MCP-compatible 客户端都可以将知识库作为标准 MCP 工具进行查询。连接器公开了两个工具:

  • AgenticRetrieveStream— 一种多步骤的流媒体代理检索,可规划、迭代检索和流式传输结果,还有一个可选的合成的、有引文支持的答案。

  • Retrieve— 单次搜索,返回最相关的段落和来源参考文献。

网关充当处理身份验证、参数注入和架构子集设置的中介。作为管理员,您可以绑定知识库并控制哪些参数向呼叫代理公开,哪些参数使用预先配置的默认值隐藏。

注意

只有托管知识库才支持知识库网关目标,并且仅支持 IAM-based 出站身份验证(GATEWAY_IAM_ROLE凭据提供者类型)。

先决条件

  • 托管知识库及其知识库 ID。

  • 一个 AgentCore 网关和一个有权从知识库(在知识库 ARN bedrock:Retrieve 上)进行检索的网关服务角色。

有关完整说明(包括使用 AWS SDK 或 AWS CLI 创建网关目标、配置网关服务角色和信任策略、控制代理可以设置的检索参数、调用工具以及完整的输入和响应架构),请参阅《Amazon Bedrock 开发者指南》中的 Amazon Bedrock 托管知识库作为连接器目标。 AgentCore

使用 Strands 特工调用

如果您有使用 Strands Agents SDK 和AgentCore入门工具包构建的现有代理,则可以通过将 MCP 客户端切换为对网关端点使用 Sigv4 身份验证将其连接到知识库网关目标。

安装 mcp-proxy-for-aws 包:

pip install mcp-proxy-for-aws

然后更新您的 MCP 客户端,使其指向使用 IAM 身份验证的网关 URL:

from mcp_proxy_for_aws.client import aws_iam_streamablehttp_client from strands.tools.mcp.mcp_client import MCPClient GATEWAY_URL = "https://your-gateway-url/mcp" def get_streamable_http_mcp_client() -> MCPClient: """Returns an MCP Client with SigV4 auth for AgentCore Gateway.""" return MCPClient(lambda: aws_iam_streamablehttp_client( endpoint=GATEWAY_URL, aws_region="us-west-2", aws_service="bedrock-agentcore", ))

与标准 MCP 客户端设置相比,主要的变化是:

  • mcp包裹streamablehttp_client中的内容替换为 f aws_iam_streamablehttp_client rom mcp-proxy-for-aws

  • 将设置endpoint为您的 AgentCore 网关 URL。

  • 指定aws_service="bedrock-agentcore"用于 Sigv4 签名。

连接后,知识库工具将通过自动发现tools/list并可供代理使用,无需额外配置。