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

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

在 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 [“猫”、“狗”]、[“兔子”、“马”、“老鼠”]]