使用 Step Functions 调用 Amazon Bedrock - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Step Functions 调用 Amazon Bedrock

Step Functions 可以直接从 Amazon States Language (ASL) 控制某些 Amazon 服务。要了解更多信息,请参阅使用其他服务将参数传递给服务 API

Amazon Bedrock 服务集成 API

要将 Amazon 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:以 Content-Type 请求标头中指定的格式指定输入数据。Body 包含特定于目标模型的参数。

    如果您使用 InvokeModel API,则必须指定 Body 参数。Step Functions 不会验证您在 Body 中提供的输入。

    当使用 Amazon Bedrock 优化的集成指定 Body 时,您可以指定最大 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.sync

创建微调作业以自定义基础模型。

CreateModelCustomizationJob

有关在与其他 Amazon 服务Step Functions一起使用时如何配置IAM权限的信息,请参阅集成服务的 IAM 策略

Amazon Bedrock 集成的 Task 状态定义

以下 Task 状态定义显示了如何在状态机中与 Amazon Bedrock 集成。此示例显示了一个 Task 状态,它提取了路径指定的模型调用的完整结果,result_one。这基于基础模型的推理参数。此示例使用 Cohere Command 大型语言模型 (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集成的状态机的示例 Amazon Web Services 账户,请参阅使用 Amazon Bedrock 执行 AI 提示链接