View a markdown version of this page

bedrock-mantle 端點上的回應 API - Amazon Bedrock

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

bedrock-mantle 端點上的回應 API

Amazon Bedrock 會在 bedrock-runtimebedrock-mantle端點上提供OpenAI回應 API。API 可讓您將熟悉的 OpenAI SDK 和工具與 Amazon Bedrock 模型搭配使用,因此您可以使用最少的程式碼變更來遷移現有的應用程式,只需更新您的基本 URL 和 API 金鑰即可。 SDKs 對於新應用程式,我們建議使用 bedrock-runtime端點。

這兩個端點沒有相同的功能支援。上的請求bedrock-runtime一律為同步,無法使用伺服器端工具,且僅支援預設專案。如需完整比較,請參閱 Amazon Bedrock 支援的端點,如需每個差異的詳細資訊,請參閱 在 bedrock-runtime 端點上使用 Responses API

重要

搭配 Amazon Bedrock 使用 OpenAI SDK 時,您必須將其指向 Amazon Bedrock 端點,而不是OpenAI端點。設定下列環境變數,選擇您要端點的基本 URL:

# bedrock-runtime (recommended) OPENAI_BASE_URL="https://bedrock-runtime.<your-region>.amazonaws.com/openai/v1" # bedrock-mantle OPENAI_BASE_URL="https://bedrock-mantle.<your-region>.api.aws/v1" OPENAI_API_KEY="<your Bedrock API key>"

請勿使用您的 OpenAI API 金鑰或OpenAI基本 URL (https://api.openai.com/v1)。這些會OpenAI直接連線至 ,而不是 Amazon Bedrock。若要建立 Amazon Bedrock API 金鑰,請參閱 API 金鑰

主要優點包括:

  • 非同步推論 – 透過 Responses API 支援長時間執行的推論工作負載。bedrock-mantle 僅適用於 。

  • 具狀態對話管理 – 自動重建內容,無需在每個請求中手動傳遞對話歷史記錄

  • 簡化工具使用 – 簡化客服人員工作流程的整合

  • 彈性回應模式 – 支援串流和非串流回應

  • 輕鬆遷移 – 與現有的 OpenAI SDK 程式碼庫相容

每個端點都由自己的一組配額管理。對於 上的回應流量bedrock-runtime,模型的tokens-per-minute數和tokens-per-day數配額適用,並且它們與該端點上的其他推論 APIs 共用 — 請參閱 bedrock-runtime 端點的配額。若為 bedrock-mantle,請參閱bedrock-mantle 端點的配額

支援的區域和端點

bedrock-runtime端點上,回應 API 可用於該端點可用的每個 AWS 區域 ,包括 AWS GovCloud (US) 區域。如需清單,請參閱依端點的區域可用性。哪些模型支援每個端點上的 API,會列在 中依模型的端點可用性

bedrock-mantle 端點可在下列 AWS 區域使用:

區域名稱 區域 Endpoint
美國東部 (俄亥俄) us-east-2 bedrock-mantle.us-east-2.api.aws
美國東部 (維吉尼亞北部) us-east-1 bedrock-mantle.us-east-1.api.aws
美國西部 (奧勒岡) us-west-2 bedrock-mantle.us-west-2.api.aws
亞太地區 (雅加達) ap-southeast-3 bedrock-mantle.ap-southeast-3.api.aws
亞太區域 (孟買) ap-south-1 bedrock-mantle.ap-south-1.api.aws
亞太地區 (悉尼) ap-southeast-2 bedrock-mantle.ap-southeast-2.api.aws
亞太區域 (東京) ap-northeast-1 bedrock-mantle.ap-northeast-1.api.aws
歐洲 (法蘭克福) eu-central-1 bedrock-mantle.eu-central-1.api.aws
歐洲 (愛爾蘭) eu-west-1 bedrock-mantle.eu-west-1.api.aws
歐洲 (倫敦) eu-west-2 bedrock-mantle.eu-west-2.api.aws
歐洲 (米蘭) eu-south-1 bedrock-mantle.eu-south-1.api.aws
Europe (Stockholm) eu-north-1 bedrock-mantle.eu-north-1.api.aws
南美洲 (聖保羅) sa-east-1 bedrock-mantle.sa-east-1.api.aws
AWS GovCloud (US-West) us-gov-west-1 bedrock-mantle.us-gov-west-1.api.aws

先決條件

使用 OpenAI APIs之前,請確定您有下列項目:

  • 身分驗證 – 您可以使用下列方法進行身分驗證:

    • Amazon Bedrock API 金鑰 ( OpenAI SDK 需要)

    • AWS 登入資料 (HTTP 請求支援)

  • OpenAI SDK (選用) – 如果使用以 SDK 為基礎的請求,請安裝 OpenAI Python SDK。

  • 環境變數 – 設定下列環境變數:

    • OPENAI_API_KEY – 設定為您的 Amazon Bedrock API 金鑰

    • OPENAI_BASE_URL – 設定為您所在區域的 Amazon Bedrock 端點 (例如 https://bedrock-runtime.us-east-1.amazonaws.com/openai/v1https://bedrock-mantle.us-east-1.api.aws/v1)

  • 許可 – 您需要的動作取決於端點。在 上bedrock-mantle,推論會授權 bedrock-mantle:CreateInference。在 上bedrock-runtime,它會bedrock:InvokeModel同時授權推論目標和您帳戶的預設專案,而管理儲存的回應則會授權該專案bedrock:DeleteInvoke上的 bedrock:GetInvokebedrock:CancelInvoke、 和 。如需政策範例,請參閱執行模型推論的必要條件

模型 API

模型 API 可讓您在採用 Mantle 技術的 Amazon Bedrock 中探索可用的模型。使用此 API 可擷取可與 Responses API 搭配使用的模型清單。如需完整的 API 詳細資訊,請參閱OpenAI模型文件

列出可用的模型

若要列出可用的模型,請選擇您偏好方法的索引標籤,然後遵循下列步驟:

OpenAI SDK (Python)
# List all available models using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() models = client.models.list() for model in models.data: print(model.id)
HTTP request

向 提出 GET 請求/v1/models

# List all available models # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X GET $OPENAI_BASE_URL/models \ -H "Authorization: Bearer $OPENAI_API_KEY"

回應 API

Responses API 提供狀態對話管理,支援串流、背景處理和多迴轉互動。如需完整的 API 詳細資訊,請參閱OpenAI回應文件

注意

並非所有模型都支援 Responses API。若要查看哪些模型支援回應 API,請參閱 各模型的 API 相容性

Responses API 如何存放對話狀態

Responses API 可以使用預存狀態來啟用多轉對話,並讓您參考先前的 previous_response_id 參數轉彎。儲存預設為啟用,但可以透過 store 參數依請求停用。儲存的回應範圍依專案而定。一個專案的回應不能用作先前的回應或在第二個專案中讀取。如需專案的詳細資訊,請參閱 專案 (OpenAI 相容)

  • storetrue(預設值) 時,Amazon Bedrock 會保留回應 30 天,包括輸入和輸出。在此時段中,您可以透過在 GET /v1/responses/{id}、 或 GET /openai/v1/responses/{id}上使用 傳遞previous_response_id和擷取回應bedrock-mantle,來鏈結追蹤請求bedrock-runtime。30 天後,回應會自動刪除,且無法再擷取。

  • store為 時false,Amazon Bedrock 不會保留來自請求或回應的任何資料。previous_response_id 參數無法用於繼續對話。

預設值是true符合 OpenAI Responses API 規格。不希望 Amazon Bedrock 保留對話資料的客戶應該在每個請求false上明確store地將 設定為 ,或將帳戶的資料保留模式設定為 none,這會拒絕明確的store=true直截了當。如需詳細資訊,請參閱資料保留

儲存的資料會靜態加密,並限定在呼叫 AWS 帳戶的專案資源範圍內。資料僅存放於為您的請求提供服務,不會用於或保留任何其他用途。在 上bedrock-mantle,它會保留 AWS 區域 在傳送請求的 中。在 上bedrock-runtime,可以在另一個 中處理使用跨區域推論的請求 AWS 區域,並將回應儲存在處理它的區域中,因此使用全域推論描述檔的請求可以將資料存放在描述檔路由到的任何商業區域中。如果您有資料駐留需求,請使用地理推論描述檔,而不是全域推論描述檔。

基本請求

若要建立回應,請選擇您偏好方法的索引標籤,然後遵循下列步驟:

OpenAI SDK (Python)
# Create a basic response using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() response = client.responses.create( model="openai.gpt-oss-120b", input=[ {"role": "user", "content": "Hello! How can you help me today?"} ] ) print(response)
HTTP request

向 提出 POST 請求/v1/responses

# Create a basic response # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Hello! How can you help me today?"} ] }'

串流回應

若要逐步接收回應事件,請選擇您偏好方法的索引標籤,然後遵循下列步驟:

OpenAI SDK (Python)
# Stream response events incrementally using the OpenAI SDK # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables from openai import OpenAI client = OpenAI() stream = client.responses.create( model="openai.gpt-oss-120b", input=[{"role": "user", "content": "Tell me a story"}], stream=True ) for event in stream: print(event)
HTTP request

向 提出 POST 請求/v1/responses,並將 stream設定為 true

# Stream response events incrementally # Requires OPENAI_API_KEY and OPENAI_BASE_URL environment variables curl -X POST $OPENAI_BASE_URL/responses \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "openai.gpt-oss-120b", "input": [ {"role": "user", "content": "Tell me a story"} ], "stream": true }'

在 bedrock-runtime 端點上使用 Responses API

上的 Responses API bedrock-runtime使用與 相同的請求和回應格式bedrock-mantle,因此 OpenAI SDK 對任一種都有效。本節所述的基本 URL、模型 IDs、許可和少量行為有哪些變更。

基本 URL 和路徑

將您的基本 URL 設定為 https://bedrock-runtime.region.amazonaws.com/openai/v1。API 會在下列路徑上提供:

  • POST /openai/v1/responses – 建立回應。

  • GET /openai/v1/responses/{id} – 擷取儲存的回應。

  • POST /openai/v1/responses/{id}/cancel – 取消仍在進行中的回應。

  • DELETE /openai/v1/responses/{id} – 刪除儲存的回應。

模型 IDs

將跨區域推論設定檔命名為模型,而非基礎模型 ID。OpenAI GPT 模型使用商業區域中的 us.global. 設定檔,以及 AWS GovCloud (US) 區域中的 us-gov.設定檔,例如 us.openai.gpt-5.6-sol。區域內推論不適用於此端點上的這些模型。如需每個模型的設定檔 ID,請參閱 中的模型卡模型一目了然,如需路由的運作方式,請參閱 AWS 區域 使用跨區域推論跨 路由模型推論請求

許可

建立回應會像任何推論請求一樣授權推論目標上的兩個資源: bedrock:InvokeModel(或 bedrock:InvokeModelWithResponseStream),以及您bedrock:InvokeModel帳戶的預設專案。擷取、取消和刪除已儲存的回應bedrock:DeleteInvoke,分別授權 bedrock:CancelInvokebedrock:GetInvoke和 專案上的每個回應。個別回應 IDs 不是 IAM 資源。

兩個條件索引鍵可讓任一資源上的政策限制另一個資源。推論目標授權會攜帶 bedrock:ProjectArn,而專案授權會攜帶 bedrock:ModelArn,以您的請求名為 的推論設定檔或基礎模型為值,而不是跨區域設定檔路由的目標模型。如需政策範例,請參閱執行模型推論的必要條件

行為差異

  • 請求一律是同步的。 background=true 會因 400 錯誤而遭到拒絕。store 參數不受影響,並保持其預設值為 true,因此存放的多轉對話可正常運作。

  • model 需要每個請求,包括提供 的請求previous_response_id。這與 OpenAI Responses API 規格和 不同bedrock-mantle,其中可以省略模型,並從先前的回應繼承。模型是請求授權的一部分,因此必須在請求本身中命名。

  • 伺服器端工具使用和預先設定的工具無法使用,包括 Web 搜尋。用戶端工具可在兩個端點上使用。

  • 僅支援預設專案。OpenAI-Project 標頭僅接受作為default或作為您自己的預設專案 ARN;任何其他值都會被拒絕。請參閱 專案 (OpenAI 相容)

  • 不支援應用程式推論設定檔。將一個 命名為其推論目標的請求會被拒絕,並顯示 400 錯誤。系統、地理和全域推論設定檔正常運作。

  • 護欄不適用於回應 API。若要將護欄套用至此端點上的 GPT 模型,請改為呼叫 Converse API

  • 儲存的回應屬於 AWS 區域 提供它的 。擷取、取消或刪除它,以及繼續與 的對話previous_response_id,都由該區域處理。找不到的回應 ID — 因為它從未存在、屬於另一個帳戶或從未存放 — 在每個情況下都會傳回相同的 404 錯誤。

監控和成本

因為每個請求都是同步的,所以 CloudWatch 指標和模型調用日誌記錄適用於 Responses API,就像在此端點上的其他推論 APIs 一樣,包括串流請求。用量歸因於推論目標,就像 Converse 和 InvokeModel 一樣,預設專案永遠不會是帳單錨點。請參閱追蹤 Amazon Bedrock 中的用量和成本