本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon Bedrock Prompt 流程中提取整个输入的相关部分,使用表达式来定义输入
配置节点的输入时,必须将其与将进入该节点的整个输入相关。整个输入可以是字符串、数字、布尔值、数组或对象。要定义与整个输入相关的输入,您可以使用基于的支持的表达式子集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 |
名为的字段的值 name 在一个JSON物体中。 |
$.data.nubmers | [1、2、3、5、8] |
[int ] |
索引处的成员由指定 int 在一个数组中。 |
$.data.animals.reptiles [2] | 鬣蜥蜴 |
[int1 , int2 , ...] |
索引处的成员由每个成员指定 int 在一个数组中。 |
$.data.numbers [0, 3] | [1, 5] |
[int1 :int2 ] |
一个由介于两者之间的索引处的项目组成的数组 int1 (含)和 int2 (独家)在数组中。省略 int1 或者 int2 等效于标记数组的开头或结尾。 |
$.data.organms.mammals [1:] | [“马”,“鼠标”] |
* | 可以用来代替 a 的通配符 name 或者 int 。 如果有多个结果,则以数组形式返回结果。 |
$.data.*.mammals | [“猫”、“狗”]、[“兔子”、“马”、“老鼠”]] |