

# 推論連接器目標
<a name="gateway-target-inference-connector"></a>

推論連接器目標為支援的模型提供者提供預先設定的設定。當您使用連接器時，閘道會根據供應商 API 的內建知識，自動處理操作、模型探索、模型 ID 轉譯和路徑重寫，因此您不需要手動指定。

當您想要快速新增支援的模型提供者，而無需手動設定端點、操作或模型映射時，建議使用連接器。

**Topics**
+ [目標組態](#gateway-target-inference-connector-config)
+ [建立連接器推論目標](#gateway-target-inference-connector-create)
+ [叫用連接器推論目標](#gateway-target-inference-connector-invoke)
+ [列出可用的模型](#gateway-target-inference-connector-list-models)
+ [模型型路由](#gateway-target-inference-connector-routing)
+ [串流](#gateway-target-inference-connector-streaming)
+ [傳出授權](#gateway-target-inference-connector-auth)

## 目標組態
<a name="gateway-target-inference-connector-config"></a>

推論連接器目標的目標組態使用以下結構：

```
{
    "inference": {
        "connector": {
            "source": {
                "connectorId": "bedrock-mantle"
            }
        }
    }
}
```
+  **connectorId** （必要） – 內建連接器的識別符。支援的值為 `bedrock-mantle`、`openai` 和 `anthropic`。

每個連接器都提供等同於完整指定提供者組態的內建預設值。例如，`bedrock-mantle`連接器會自動設定：
+  **模型 ID 字首分割** – 用戶端可以從模型 IDs（例如，使用 `claude-opus-4-7`而不是 `anthropic.claude-opus-4-7`)。
+  **路徑重寫** – 傳入推論請求路徑會映射至提供者的 API 路徑。
+  **支援的操作** – 連接器公開的一組推論操作，例如聊天完成和訊息。

## 建立連接器推論目標
<a name="gateway-target-inference-connector-create"></a>

下列範例示範如何使用 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"
                }
            }
        }
    ]
}'
```

## 叫用連接器推論目標
<a name="gateway-target-inference-connector-invoke"></a>

若要叫用推論目標，請將請求傳送到閘道的`/inference`路徑。閘道會根據請求內文中的 `model` 欄位，將每個請求路由至正確的目標。`model` 值可以是純模型 ID （例如 `gpt-5.5`) 或以 格式顯示的目標合格模型 ID `{targetName}/{modelId}`（例如 `openai/gpt-5.5`)。如需 `model`值如何符合目標的詳細資訊，請參閱以[模型為基礎的路由](#gateway-target-inference-connector-routing)。

URL 格式為：

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

`{path}` 將 取代為推論操作路徑 （例如 `v1/chat/completions`、 `v1/responses`或 `v1/messages`)。

### 使用 OpenAI 開發套件
<a name="_using_the_openai_sdk"></a>

將閘道的`/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
<a name="_using_the_anthropic_sdk"></a>

將閘道的`/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
<a name="_using_awscurl"></a>

```
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!"}]}'
```

## 列出可用的模型
<a name="gateway-target-inference-connector-list-models"></a>

若要探索所有推論目標中可用的模型，請呼叫清單模型端點：

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

回應的`/v1/models`格式為 OpenAI，模型 IDs字首為目標名稱：

```
{
    "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 託管的模型，而 `openai`和 `anthropic`則表示這些提供者直接提供的模型。

## 模型型路由
<a name="gateway-target-inference-connector-routing"></a>

閘道會根據請求內文中的 `model` 欄位路由推論請求：

1.  **合格路由** – 如果模型 ID 包含 ，`/`且字首符合目標名稱，則請求會路由到該目標 （例如，`openai/gpt-5.5`路由到`openai`目標）。

1.  **不合格的路由** – 如果模型 ID 不包含 `/`，閘道會比對它與所有設定的目標。完全相符項目的優先順序高於 glob 模式。如果只有一個目標相符，請求會路由到該目標。

1.  **碰撞處理** – 當多個目標符合相同特異性的相同模型時，如果符合其中之一，閘道會預設為 Amazon Bedrock 目標。否則，它會在每個請求上隨機選取其中一個相符目標，因此對相同模型的請求可能會落在不同的目標上。若要鎖定對特定目標的請求，請將具有目標名稱的模型視為字首 （例如，`bedrock/claude-opus-4-7`)。

## 串流
<a name="gateway-target-inference-connector-streaming"></a>

串流遵循 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="")
```

### 回應串流限制
<a name="gateway-target-inference-connector-streaming-limits"></a>

**重要**  
AgentCore Gateway 不會對回應串流持續時間或回應大小強制執行服務層級上限。如果您未在閘道目標上設定權杖限制政策，則每個請求都可以產生不受限制的串流回應。

如果沒有設定的字符限制政策，未限制的回應可能會導致下列問題：
+  **閘道資源耗盡** – 閘道會在每次串流回應期間開啟運算資源 （記憶體、HTTP 連線集區插槽和 CPU 以進行政策評估）。大型並行串流可能會耗盡閘道任務資源。
+  **共用登入資料的成本擴增** – 透過相同目標路由的所有使用者都會共用一組提供者登入資料。傳送高請求`max_tokens`的單一使用者，可以對該目標的所有使用者使用供應商tokens-per-minute (TPM) 配額。
+  **雜訊鄰近效果** – Requests-per-minute(RPM) 限流限制請求計數，但不是每次請求成本。單一使用者可以在 RPM 限制內產生成本最高的請求，降低其他使用者的效能。

若要降低這些風險，請在閘道目標上設定字符限制政策。如需詳細資訊，請參閱[閘道政策](gateway-policies.html)。

## 傳出授權
<a name="gateway-target-inference-connector-auth"></a>

推論連接器目標支援下列傳出授權類型：
+  **IAM (SigV4)** – `GATEWAY_IAM_ROLE`用於接受 IAM 身分驗證 （例如 Amazon Bedrock) 的供應商。
+  **API 金鑰** – `API_KEY`用於需要 API 金鑰 （例如 OpenAI 和 Anthropic) 的提供者。閘道會將儲存的 API 金鑰注入傳出請求。