使用 Step Functions 呼叫 Amazon Bedrock - AWS Step Functions

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

使用 Step Functions 呼叫 Amazon Bedrock

Step Functions 可以直接從Amazon States Language(ASL)控制某些 AWS 服務。如需了解詳細資訊,請參閱 使用其他 服務將參數傳遞至服務 API

Amazon Bedrock服務整合 API

若要AWS Step Functions與整合Amazon Bedrock,您可以使用下列 API。這些 API 類似於對應的 Amazon Bedrock API,在傳遞的請求欄位中有些不同。

下表描述每個服務整合 API 與其對應 Amazon Bedrock API 之間的差異:

Amazon Bedrock服務整合 API 和對應的 Amazon Bedrock API
Amazon Bedrock服務整合 API 對應的 Amazon Bedrock API 差異

InvokeModel

叫用指定的Amazon Bedrock模型,使用您在要求主體中提供的輸入來執行推論。您可InvokeModel以用來執行文字模型、影像模型和嵌入模型的推論。

InvokeModel

Amazon Bedrock服務整合 API 要求主體包含下列其他參數。

  • Body— 以內容類型要求標頭中指定的格式指定輸入資料。 Body包含特定於目標模型的參數。

    如果您使用 InvokeModel API,則必須指定Body參數。 Step Functions不驗證您提供的輸入Body

    Body使用Amazon Bedrock最佳化整合指定時,您可以指定最大 256 KB 的承載。如果您的承載超過 256 KB,建議您使用Input

  • Input— 指定要從中擷取輸入資料的來源。此選用欄位專用於與之Amazon Bedrock最佳化的整合Step Functions。在此欄位中,您可以指定S3Uri.

    您可以在「參數」Body 中指定或指定Input,但不能同時指定兩者。

    如果Input未指定指定ContentType,則輸入資料來源的內容類型會成為的值ContentType

  • Output— 指定寫入 API 回應的目的地。此選用欄位專用於與之Amazon Bedrock最佳化的整合Step Functions。在此欄位中,您可以指定S3Uri.

    如果您指定此欄位,API 回應主體會取代為原始輸出Amazon S3位置的參照。

下面的例子顯示了用於Amazon Bedrock集成 InvokeModel API 的語法。

{ "ModelId": String, // required "Accept": String, // default: application/json "ContentType": String, // default: application/json "Input": { // not from Bedrock API "S3Uri": String }, "Output": { // not from Bedrock API "S3Uri": String } }

CreateModelCustomizationJob

建立微調工作以自訂基本模型。

CreateModelCustomizationJob

CreateModelCustomizationJob. 同步。

建立微調工作以自訂基本模型。

CreateModelCustomizationJob

如需Step Functions與其他 AWS 服務搭配使用時如何設定IAM權限的相關資訊,請參閱整合式服務的 IAM 政策

Amazon Bedrock整合的工作狀態定義

以下任務狀態定義顯示了如何在狀態機器Amazon Bedrock中進行集成。此範例顯示 Task 狀態,result_one該狀態會擷取路徑指定之模型呼叫的完整結果。這是以基礎模型的推論參數為基礎。這個例子使用 Cohere 命令大語言模型(LLM)。

{ "Type": "Task", "Resource": "arn:aws:states:::bedrock:invokeModel", "Parameters": { "ModelId": "cohere.command-text-v14", "Body": { "prompt.$": "$.prompt_one", "max_tokens": 250 }, "ContentType": "application/json", "Accept": "*/*" }, "ResultPath": "$.result_one", "ResultSelector": { "result_one.$": "$.Body.generations[0].text" }, "End": true }
提示

若要部署與Amazon Bedrock您整合的狀態機器的範例 AWS 帳戶,請參閱使用執行 AI 提示鏈結 Amazon Bedrock