本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
开始使用示例提示流
本主题提供了一些示例流程,您可以尝试这些流程来开始使用 Amazon Bedrock Prompt 流程。展开一个示例,了解如何在 Amazon Bedrock 控制台中进行构建:
下图显示了一个由在节点中内联定义的单个提示组成的流程,该流程根据流派和要包含在播放列表中的歌曲数量来生成歌曲播放列表。
在控制台中构建和测试此流程
-
按照 “控制台” 选项卡中的 “创建流程” 下的步骤进行操作在 Amazon Bedrock 中创建提示流程。进入提示流程生成器。
-
通过执行以下操作来设置提示节点:
-
从 P rompt flow Builder 左侧窗格中,选择节点选项卡。
-
将 P romp t 节点拖到中间窗格的流程中。
-
在 “提示流生成器” 窗格中选择 “配置” 选项卡。
-
输入
MakePlaylist
作为节点名称。 -
选择在节点中定义。
-
为提示设置以下配置:
-
在 “选择模型” 下,选择要根据提示运行推理的模型。
-
在 “消息” 文本框中,输入
Make me a {{genre}} playlist consisting of the following number of songs: {{number}}.
。这将创建两个变量,这些变量将作为输入出现在节点中。 -
(可选)修改推理配置。
-
-
展开 “输入” 部分。输入的名称由提示消息中的变量预先填充。按如下方式配置输入:
名称 Type Expression 流派 String $.data.genre number 数字 $.data.number 此配置意味着提示节点需要一个JSON对象,该对象包含一个名为的字段
genre
,该字段将映射到genre
输入number
,一个名为的字段将映射到number
输入。 -
您无法修改输出。它将是来自模型的响应,以字符串形式返回。
-
-
选择 Flow 输入节点,然后选择 “配置” 选项卡。选择 “对象” 作为类型。这意味着 flow 调用将期望收到一个JSON对象。
-
通过执行以下操作连接您的节点以完成流程:
-
将连接从 Flow 输入节点的输出节点拖到MakePlaylist提示节点中的流派输入。
-
将连接从 Flow 输入节点的输出节点拖到MakePlaylist提示节点中的数字输入上。
-
将连接从MakePlaylist提示节点中输出的modelCompletion输出节点拖动到 Flow 输出节点中的文档输入。
-
-
选择 “保存” 以保存您的流程。现在,您的流程应该已经准备好进行测试了。
-
通过输入以下JSON对象来测试您的流程,即右侧的测试提示流程窗格。选择 Run,流程应返回模型响应。
{ "genre": "pop", "number": 3 }
下图显示了具有一个条件节点的流程根据满足的条件返回三个可能的值之一:
要在控制台中构建和测试此流程,请执行以下操作:
-
按照 “控制台” 选项卡中的 “创建流程” 下的步骤进行操作在 Amazon Bedrock 中创建提示流程。进入提示流程生成器。
-
通过执行以下操作来设置条件节点:
-
从 P rompt flow Builder 左侧窗格中,选择节点选项卡。
-
将条件节点拖到中间窗格的流程中。
-
在 “提示流生成器” 窗格中选择 “配置” 选项卡。
-
展开 “输入” 部分。按如下方式配置输入:
名称 Type Expression retailPrice 数字 $.data。 retailPrice marketPrice 数字 $.data。 marketPrice type String $.data.type 此配置意味着条件节点需要一个包含字段
retailPrice
marketPrice
、和的JSON对象type
。 -
通过执行以下操作来配置条件:
-
在条件部分中,可以选择更改条件的名称。然后在 “条件” 文本框中添加以下条件:
(retailPrice > 10) and (type == "produce")
。 -
通过选择添加条件来添加第二个条件。(可选)更改第二个条件的名称。然后在 “条件” 文本框中添加以下条件:
(retailPrice < marketPrice)
。
-
-
-
选择 Flow 输入节点,然后选择 “配置” 选项卡。选择 “对象” 作为类型。这意味着 flow 调用将期望收到一个JSON对象。
-
添加流输出节点,这样总共有三个节点。在每个流程输出节点的 P rompt flow Builder 窗格的 “配置” 选项卡中,按如下方式对其进行配置:
-
将第一个流输出节点的输入类型设置为
String
,$.data.action[0]
将表达式设置为在传入对象的action
字段中返回数组中的第一个值。 -
将第二个流输出节点的输入类型设置为
String
,$.data.action[1]
将表达式设置为在传入对象的action
字段中返回数组中的第二个值。 -
将第三个流输出节点的输入类型设置为
String
,$.data.action[2]
将表达式设置为在传入对象的action
字段中返回数组中的第三个值。
-
-
将第一个条件连接到第一个流输出节点,将第二个条件连接到第二个流程输出节点,将默认条件连接到第三个流程输出节点。
-
通过执行以下操作,连接所有节点中的输入和输出以完成流程:
-
将连接从 Flow 输入节点的输出节点拖到条件节点中的retailPrice输入。
-
将连接从 Flow 输入节点的输出节点拖到条件节点中的marketPrice输入。
-
将连接从 Flow 输入节点的输出节点拖到条件节点中的类型输入。
-
将连接从 Flow 输入节点的输出拖到三个输出节点中每个节点中的文档输入。
-
-
选择 “保存” 以保存您的流程。现在,您的流程应该已经准备好进行测试了。
-
在右侧的 “测试提示流程” 窗格中输入以下JSON对象来测试您的流程。为每个输入选择运行:
-
以下对象满足第一个条件(大于 10 且
retailPrice
type
为 “produce”),并返回action
(“不要购买”)中的第一个值:{ "retailPrice": 11, "marketPrice": 12, "type": "produce", "action": ["don't buy", "buy", "undecided"] }
注意
尽管第一个和第二个条件都得到满足,但第一个条件优先,因为它排在第一位。
-
以下对象满足第二个条件(小
retailPrice
于marketPrice
)并返回action
(“买入”)中的第二个值:{ "retailPrice": 11, "marketPrice": 12, "type": "meat", "action": ["don't buy", "buy", "undecided"] }
-
以下对象既不满足第一个条件(大于 10,但不
type
是 “产生”),也不满足第二个条件(retailPrice
不小于marketPrice
),因此返回action
(“未确定”)中的第三个值:retailPrice
{ "retailPrice": 11, "marketPrice": 11, "type": "meat", "action": ["don't buy", "buy", "undecided"] }
-