在 Amazon Bedrock Flows 中提取整个输入的相关部分,使用表达式来定义输入 - Amazon Bedrock

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

在 Amazon Bedrock Flows 中提取整个输入的相关部分,使用表达式来定义输入

为节点配置输入时,您必须根据要进入该节点的整个输入来定义输入。整个输入可以是字符串、数字、布尔值、数组或对象。要定义与整个输入相关的输入,您可以使用基于的支持的表达式子集JsonPath。每个表达式都必须以 $.data 开头,它指的是整个输入。使用表达式时请注意以下几点:

  • 如果整个输入是字符串、数字或布尔值,则唯一可以用来定义单个输入的表达式是 $.data

  • 如果整个输入是一个数组或对象,则可以通过提取部分内容来定义单个输入。

举个了解如何使用表达式的示例,假设整个输入是以下JSON对象:

{ "animals": { "mammals": ["cat", "dog"], "reptiles": ["snake", "turtle", "iguana"] }, "organisms": { "mammals": ["rabbit", "horse", "mouse"], "flowers": ["lily", "daisy"] }, "numbers": [1, 2, 3, 5, 8] }

您可以使用以下表达式提取部分输入(示例指的是将从前一个JSON对象返回的内容):

Expression 含义 示例 示例结果
$.data 整个输入。 $.data 整个对象
.name 在JSON对象name中调用的字段的值。 $.data.numbers [1, 2, 3, 5, 8]
[int] 在数组int中由指定的索引处的成员。 $.data.animals.reptiles[2] iguana
[int1, int2, ...] 索引处的成员由数组int中每个成员指定。 $.data.numbers[0, 3] [1, 5]
[int1:int2] 一个数组,由数组中介于int1(含)和int2(不包括)之间的索引处的项目组成。省略int1或等同int2于标记数组的开头或结尾。 $.data.organisms.mammals[1:] ["horse", "mouse"]
* 可以用来代替nameint的通配符。如果有多个结果,则以数组形式返回。 $.data.*.mammals [["cat", "dog"], ["rabbit", "horse", "mouse"]]