

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

# 配置高级提示
<a name="configure-advanced-prompts"></a>

您可以在 AWS 管理控制台或通过 API 配置高级提示。

------
#### [ Console ]

在控制台中，您可以在创建代理后配置高级提示。您可以在编辑代理时进行配置。

**查看或编辑代理的高级提示**

1. 采用有权使用 Amazon Bedrock 控制台的 IAM 身份登录 AWS 管理控制台。然后，通过以下网址打开 Amazon Bedrock 控制台：[https://console.aws.amazon.com/bedrock](https://console.aws.amazon.com/bedrock)。

1. 在左侧导航窗格中，选择**代理**。然后，在**代理**部分选择一个代理。

1. 在代理详细信息页面上的**工作草稿**部分，选择**工作草稿**。

1. 在**工作草稿**页面的**编排策略**部分中，选择**编辑**。

1. 在**编排策略**页面的**编排策略详细信息**部分，确保已选择**默认编排**，然后选择与您要编辑的代理序列步骤相对应的选项卡。

1. 打开**覆盖模板默认设置**以启用模板编辑。在**覆盖模板默认设置**对话框中，选择**确认**。
**警告**  
如果关闭**覆盖模板默认设置**或更改模型，系统会使用 Amazon Bedrock 默认模板，并立即删除您的模板。要进行确认，请在文本框中输入 **confirm** 以确认出现的消息。

1. 要允许代理在生成响应时使用该模板，请打开**激活模板**。如果关闭此配置，代理将不会使用该模板。

1. 要修改示例提示模板，请使用**提示模板编辑器**。

1. 在**配置**中，您可以修改提示的推理参数。有关参数的定义，以及不同模型所支持参数的更多信息，请参阅[基础模型的推理请求参数和响应字段](model-parameters.md)。

1. （可选）要使用您定义的 Lambda 函数来解析原始基础模型输出，请执行以下操作：
**注意**  
所有提示模板均使用一个 Lambda 函数。

   1. 在**配置**部分，选择**使用 Lambda 函数进行解析**。如果清除此设置，代理将使用默认解析器来解析提示。

   1. 对于**解析器 Lambda 函数**，请从下拉菜单中选择一个 Lambda 函数。
**注意**  
您必须为代理附加权限，使其能够访问该 Lambda 函数。有关更多信息，请参阅 [基于资源的策略，允许 Amazon Bedrock 调用操作组 Lambda 函数](agents-permissions.md#agents-permissions-lambda)。

1. 要保存设置，请选择以下选项之一：

   1. 要保持在同一窗口中，以便在测试更新的代理时动态更新提示设置，请选择**保存**。

   1. 要保存设置并返回**工作草稿**页面，请选择**保存并退出**。

1. 要测试更新的设置，请在**测试**窗口中选择**准备**。

![\[在控制台中设置高级提示。\]](http://docs.aws.amazon.com/zh_cn/bedrock/latest/userguide/images/agents/advanced-prompts.png)


------
#### [ API ]

要使用 API 操作来配置高级提示，您可以发送 [UpdateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgent.html) 调用，并修改以下 `promptOverrideConfiguration` 对象。

```
"promptOverrideConfiguration": { 
    "overrideLambda": "string",
    "promptConfigurations": [ 
        { 
            "basePromptTemplate": "string",
            "inferenceConfiguration": { 
                "maximumLength": int,
                "stopSequences": [ "string" ],
                "temperature": float,
                "topK": float,
                "topP": float
            },
            "parserMode": "DEFAULT | OVERRIDDEN",
            "promptCreationMode": "DEFAULT | OVERRIDDEN",
            "promptState": "ENABLED | DISABLED",
            "promptType": "PRE_PROCESSING | ORCHESTRATION | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING | MEMORY_SUMMARIZATION"
        }
    ],
    promptCachingState: {
        cachingState: "ENABLED | DISABLED"
    }
}
```

1. 在 `promptConfigurations` 列表中，为要编辑的每个提示模板添加 `promptConfiguration` 对象。

1. 在 `promptType` 字段中指定要修改的提示。

1. 通过以下步骤修改提示模板：

   1. 使用提示模板指定 `basePromptTemplate` 字段。

   1. 在 `inferenceConfiguration` 对象中包含推理参数。有关推理配置的更多信息，请参阅[基础模型的推理请求参数和响应字段](model-parameters.md)。

1. 要启用提示模板，请将 `promptCreationMode` 设置为 `OVERRIDDEN`。

1. 要允许或阻止代理执行 `promptType` 字段中的步骤，请修改 `promptState` 值。该设置有助于对代理的行为进行故障排除。
   + 如果您将 `PRE_PROCESSING`、`KNOWLEDGE_BASE_RESPONSE_GENERATION` 或 `POST_PROCESSING` 步骤的 `promptState` 设置为 `DISABLED`，代理会跳过相应步骤。
   + 如果您将 `ORCHESTRATION` 步骤的 `promptState` 设置为 `DISABLED`，代理仅在编排步骤将用户输入发送给基础模型。此外，代理会按原样返回响应，不编排 API 操作和知识库之间的调用。
   + 默认情况下，`POST_PROCESSING` 步骤为 `DISABLED`。默认情况下，`PRE_PROCESSING`、`ORCHESTRATION`、和 `KNOWLEDGE_BASE_RESPONSE_GENERATION` 步骤为 `ENABLED`。
   + 默认情况下，如果启用了“记忆”，则 `ENABLED` 步骤为 `MEMORY_SUMMARIZATION`，如果禁用了“记忆”，则 `MEMORY_SUMMARIZATION` 步骤为 `DISABLED`。

1. 要使用您定义的 Lambda 函数来解析原始基础模型输出，请执行以下步骤：

   1. 对于要为其启用 Lambda 函数的每个提示模板，请将 `parserMode` 设置为 `OVERRIDDEN`。

   1. 在 `promptOverrideConfiguration` 对象的 `overrideLambda` 字段中指定 Lambda 函数的 Amazon 资源名称（ARN）。

------