创建具有条件节点的工作流 - Amazon Bedrock

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

创建具有条件节点的工作流

下图显示了具有一个条件节点的工作流根据满足的条件返回的三个可能的值之一:

使用具有两个条件的条件节点的示例。
要在控制台中构建和测试此工作流,请执行以下操作:
  1. 按照中的说明创建流程在 Amazon Bedrock 中创建你的第一个流程

  2. 删除中间窗格中的 “提示” 节点。

  3. 执行以下操作,设置条件节点:

    1. Flow Builder 的左窗格中,选择 “节点” 选项卡。

    2. 将一个条件节点拖动到中间窗格的工作流中。

    3. Flow Builder 窗格中选择 “配置” 选项卡。

    4. 展开输入部分。按如下所示配置输入:

      名称 类型 Expression
      retailPrice 数字 $.data.retailPrice
      marketPrice 数字 $.data.marketPrice
      type 字符串 $.data.type

      该配置意味着条件节点需要一个包含 retailPricemarketPricetype 的 JSON 对象。

    5. 通过执行以下操作配置条件:

      1. 条件部分中,可以选择更改条件的名称。然后在条件文本框中添加以下条件:(retailPrice > 10) and (type == "produce")

      2. 选择添加条件,添加第二个条件。(可选)更改第二个条件的名称。然后在条件文本框中添加以下条件:(retailPrice < marketPrice)

  4. 选择工作流输入节点,然后选择配置选项卡。选择对象作为类型。这意味着工作流调用需要接收一个 JSON 对象。

  5. 添加工作流输出节点,这样总共有三个节点。在每个流程输出节点的 Flow Builder 窗格的 “配置” 选项卡中,按如下方式对其进行配置:

    1. 将第一个工作流输出节点的输入类型设为 String,表达式设为 $.data.action[0],以返回传入对象 action 字段中数组的第一个值。

    2. 将第二个工作流输出节点的输入类型设为 String,表达式设为 $.data.action[1],以返回传入对象 action 字段中数组的第一个值。

    3. 将第三个工作流输出节点的输入类型设为 String,表达式设为 $.data.action[2],以返回传入对象 action 字段中数组的第一个值。

  6. 将第一个条件连接到第一个工作流输出节点,将第二个条件连接到第二个工作流输出节点,将默认条件连接到第三个工作流输出节点。

  7. 通过执行以下操作来连接所有节点中的输入和输出,以完成工作流:

    1. 将连接从工作流输入节点的输出节点拖到条件节点中的 retailPrice 输入。

    2. 将连接从工作流输入节点的输出节点拖到条件节点中的 marketPrice 输入。

    3. 将连接从工作流输入节点的输出节点拖到条件节点中的 type 输入。

    4. 将连接从工作流输入节点的输出节点拖到三个输出节点中每个节点的 document 输入。

  8. 选择保存,保存您的工作流。现在,您的工作流应该可以进行测试了。

  9. 在右侧的 “测试流程” 窗格中输入以下 JSON 对象来测试您的流程。为每个输入选择运行

    1. 以下对象满足第一个条件(retailPrice 大于 10 且 type 为“produce”),并返回 action 中的第一个值(“don't buy”):

      { "retailPrice": 11, "marketPrice": 12, "type": "produce", "action": ["don't buy", "buy", "undecided"] }
      注意

      尽管第一个和第二个条件都已满足,但第一个条件优先,因为它排在第一位。

    2. 以下对象满足第二个条件(retailPrice 低于 marketPrice),并返回 action 中的第二个值(“buy”):

      { "retailPrice": 11, "marketPrice": 12, "type": "meat", "action": ["don't buy", "buy", "undecided"] }
    3. 以下对象既不满足第一个条件(retailPrice 大于 10,但 type 不是“produce”),也不满足第二个条件(retailPrice 不低于 marketPrice),因此返回 action 中的第三个值(“undecided”):

      { "retailPrice": 11, "marketPrice": 11, "type": "meat", "action": ["don't buy", "buy", "undecided"] }