View a markdown version of this page

推理连接器目标 - Amazon Bedrock AgentCore

推理连接器目标

推理连接器目标为支持的模型提供者提供了预先配置的设置。当您使用连接器时,网关会根据提供商 API 的内置知识自动处理操作、模型发现、模型 ID 转换和路径重写,因此您无需手动指定它们。

如果您想快速添加支持的模型提供程序,而无需手动配置端点、操作或模型映射,则建议使用连接器。

目标配置

推理连接器目标的目标配置使用以下结构:

{ "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }
  • C onnectorID(必填)-内置连接器的标识符。支持的值有bedrock-mantleopenaianthropic

每个连接器都提供等同于完全指定的提供程序配置的内置默认值。例如,bedrock-mantle连接器会自动配置:

  • 型号 ID 前缀剥离 — 客户可以省略型号 ID 中的提供商前缀(例如,使用claude-opus-4-7代替anthropic.claude-opus-4-7)。

  • 路径重写-入站推理请求路径映射到提供者的 API 路径。

  • 支持的操作-连接器公开的一组推理操作,例如聊天完成和消息。

创建连接器推理目标

以下示例显示了如何使用 Bedrock Mantle 连接器创建推理目标:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "bedrock-mantle", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "bedrock-mantle" } } } }, "credentialProviderConfigurations": [ {"credentialProviderType": "GATEWAY_IAM_ROLE"} ] }'

以下示例说明如何使用 OpenAI 连接器创建推理目标:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "openai", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "openai" } } } }, "credentialProviderConfigurations": [ { "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:token-vault/default/apikeycredentialprovider/openai-key", "credentialLocation": "HEADER", "credentialParameterName": "Authorization", "credentialPrefix": "Bearer " } } } ] }'

以下示例说明如何使用 Anthropic 连接器创建推理目标:

aws bedrock-agentcore-control create-gateway-target --cli-input-json '{ "gatewayIdentifier": "GATEWAY_ID", "name": "anthropic", "targetConfiguration": { "inference": { "connector": { "source": { "connectorId": "anthropic" } } } }, "credentialProviderConfigurations": [ { "credentialProviderType": "API_KEY", "credentialProvider": { "apiKeyCredentialProvider": { "providerArn": "arn:aws:bedrock-agentcore:us-west-2:111122223333:token-vault/default/apikeycredentialprovider/anthropic-key", "credentialLocation": "HEADER", "credentialParameterName": "x-api-key" } } } ] }'

调用连接器推理目标

要调用推理目标,请向网关的/inference路径发送请求。网关根据请求正文中的model字段将每个请求路由到正确的目标。该model值可以是普通模型 ID(例如gpt-5.5),也可以是表单中的目标限定模型 ID{targetName}/{modelId}(例如)。openai/gpt-5.5有关如何将该model值与目标匹配的详细信息,请参阅Model-based 路由

URL 格式如下:

https://{gatewayId}.gateway.bedrock-agentcore.{region}.amazonaws.com/inference/{path}

{path}替换为推理操作路径(例如v1/chat/completionsv1/responses、或v1/messages)。

使用 OpenAI 开发工具包

将网关的/inference/v1路径设置为base_url

from openai import OpenAI client = OpenAI( base_url="https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1", api_key="<gateway-auth-token>" ) response = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "Hello!"}] )

使用 Anthropic SDK

将网关的/inference路径设置为base_url

import anthropic client = anthropic.Anthropic( base_url="https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference", api_key="<gateway-auth-token>" ) response = client.messages.create( model="claude-sonnet-4-6", max_tokens=1024, messages=[{"role": "user", "content": "Hello!"}] )

使用 awscurl

awscurl --service bedrock-agentcore --region us-west-2 -X POST \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{"model": "gpt-5.5", "messages": [{"role": "user", "content": "Hello!"}]}'

列出可用型号

要发现所有推理目标中可用的模型,请调用列表模型端点:

awscurl --service bedrock-agentcore --region us-west-2 \ "https://<gateway-id>.gateway.bedrock-agentcore.us-west-2.amazonaws.com/inference/v1/models"

响应采用 OpenAI 的/v1/models格式,模型 ID 以目标名称为前缀:

{ "data": [ {"id": "bedrock-mantle/anthropic.claude-opus-4-7", "object": "model", "owned_by": "system"}, {"id": "openai/gpt-5.5", "object": "model", "owned_by": "openai"}, {"id": "anthropic/claude-sonnet-4-6", "object": "model", "owned_by": "anthropic"} ] }

owned_by字段表示模型的提供者。值为system表示由 Amazon Bedrock 托管的模型,而openaianthropic表示由这些提供商直接提供的模型。

Model-based 路由

网关根据请求正文中的model字段路由推理请求:

  1. 限定路由-如果模型 ID 包含/且前缀与目标名称匹配,则请求将路由到该目标(例如,到openai目标的openai/gpt-5.5路由)。

  2. 不合格路由-如果型号 ID 不包含/,则网关会将其与所有已配置的目标进行匹配。精确匹配优先于全局模式。如果恰好有一个目标匹配,则会将请求路由到该目标。

  3. 碰撞处理 — 当多个目标以相同特异性匹配同一个模型时,如果其中有一个目标在匹配目标中,则网关默认为 Amazon Bedrock 目标。否则,它会在每个请求中随机选择一个匹配的目标,因此对相同模型的请求可能会落在不同的目标上。要将请求固定到特定目标,请使用目标名称作为前缀来限定模型(例如,bedrock/claude-opus-4-7)。

流式传输

直播遵循OpenAI SSE惯例。"stream": true在请求正文中设置,网关无需转换即可通过来自提供商的 SSE 流:

stream = client.chat.completions.create( model="gpt-5.5", messages=[{"role": "user", "content": "Write a story."}], stream=True ) for chunk in stream: print(chunk.choices[0].delta.content, end="")

响应流限制

重要

AgentCore Gateway 不对响应流持续时间或响应大小强制规定最高服务级别。如果您未在网关目标上配置令牌限制策略,则每个请求都可以生成无限的流媒体响应。

如果没有配置的令牌限制策略,无限制的响应可能会导致以下问题:

  • 网关资源耗尽 — 网关在每次流式响应期间保持计算资源(内存、HTTP 连接池插槽和用于策略评估的 CPU)处于打开状态。大型并发流可能会耗尽网关任务资源。

  • 共享凭据的成本放大 — 所有通过同一目标的用户共享一组提供商凭证。发送高max_tokens请求的单个用户可能会消耗提供商为该目标的所有用户提供的每分钟令牌 (TPM) 配额。

  • 噪音邻居效应 — Requests-per-minute (RPM) 限制限制请求数,但不限制每个请求的成本。单个用户可以在 RPM 限制范围内生成成本最高的请求,从而降低其他用户的性能。

要降低这些风险,请在网关目标上配置令牌限制策略。有关更多信息,请参阅网关策略

出站授权

推理连接器目标支持以下出站授权类型:

  • IAM (Sigv4)GATEWAY_IAM_ROLE 适用于接受 IAM 身份验证的提供商(例如 Amazon Bedrock)。

  • API 密钥API_KEY 用于需要 API 密钥的提供商(例如 OpenAI 和 Anthropic)。网关将存储的 API 密钥注入到出站请求中。