View a markdown version of this page

使用回應 API 進行推論 - Amazon Bedrock

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

使用回應 API 進行推論

Amazon Bedrock 透過bedrock-mantle端點提供OpenAI回應 API,採用 Mantle,這是適用於大規模機器學習模型服務的分散式推論引擎。此端點可讓您使用熟悉的 OpenAI SDK 和工具搭配 Amazon Bedrock 模型,讓您以最少的程式碼變更遷移現有的應用程式,只需更新您的基本 URL 和 API 金鑰即可。 SDKs

重要

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

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 支援長時間執行的推論工作負載

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

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

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

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

支援的區域和端點

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

先決條件

使用 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-mantle.us-east-1.api.aws/v1)

模型 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回應文件

注意

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

Responses API 如何存放對話狀態

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

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

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

預設值是true符合 OpenAI Responses API 規格。不希望 Amazon Bedrock 保留對話資料的客戶應該在每個請求false上明確store地將 設定為 。存放的資料會保留在請求的來源區域中、靜態加密,並限定為呼叫 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 }'