

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

# 使用提示管理器创建提示
<a name="prompt-management-create"></a>

创建提示时，您可以选择以下选项：
+ 编写提示消息，用作 FM 的输入以生成输出。
+ 使用双花括号在提示消息中包含一些变量（如 *\$1\$1variable\$1\$1*），这些变量可在调用提示时填充。
+ 选择要用于调用提示的模型；如果您计划将提示与代理结合使用，则无需指定模型。如果您选择模型，还可以修改要使用的推理配置。要查看不同模型的推理参数，请参阅[基础模型的推理请求参数和响应字段](model-parameters.md)。

所有提示都支持以下基本推理参数：
+ **MaxTokens** – 允许在生成的响应中使用的最大词元数。
+ **stopSequences** – 停止序列的列表。停止序列是一个字符序列，会使模型停止生成响应。
+ **temperature** – 模型在生成响应时选择更高概率选项的可能性。
+ **topP** – 模型为下一个词元考虑的最有可能的候选项所占百分比。

如果模型支持其他推理参数，则可以将它们指定为提示的*附加字段*。您可以在 JSON 对象中提供附加字段。以下示例展示了如何设置 `top_k`，该设置在 Anthropic Claude 模型中可用，但不是基本推理参数。

```
{
    "top_k": 200
}
```

有关模型推理参数的信息，请参阅[基础模型的推理请求参数和响应字段](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html)。

将基本推理参数设置为附加字段不会覆盖您在控制台中设置的值。

如果为提示选择的模型支持 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API（有关更多信息，请参阅[使用 Converse API 操作进行对话](conversation-inference.md)），则可以在构造提示时添加以下内容：
+ 用于向模型提供指令或上下文的系统提示。
+ 作为对话历史记录的先前提示（用户消息）和模型响应（助手消息），供模型在为最终用户消息生成响应时参考。
+ （如果模型支持）模型在生成响应时使用的[工具](tool-use.md)。
+ （如果模型支持）使用[提示缓存](prompt-caching.md)，通过缓存大型或常用提示来降低成本。根据模型，您可以缓存系统指令、工具和消息（用户和助手）。如果您的提示前缀总数达到了模型所需的最小词元数，则提示缓存会为提示创建缓存检查点。在提示中遇到已更改的变量时，提示缓存会创建一个新的缓存检查点（在输入词元的数量达到模型所需的最小值时）。

要了解如何使用提示管理器创建提示，请选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

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

**创建提示**

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

1. 从左侧导航窗格中选择**提示管理器**。然后，选择**创建提示**。

1. 为提示提供名称和可选描述。

1. 要使用客户自主管理型密钥加密提示，请在 **KMS 密钥选择**部分选择**自定义加密设置（高级）**。如果您忽略此字段，提示将使用 AWS 托管式密钥进行加密。有关更多信息，请参阅 [AWS KMS 密钥](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)。

1. 选择**创建提示**。提示已创建，您将进入新创建的提示的**提示生成器**，您可以在其中配置提示。

1. 您可以继续执行以下流程来配置提示，也可以稍后返回提示生成器。

**配置提示**

1. 如果您尚未进入提示生成器，请执行以下操作：

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

   1. 从左侧导航窗格中选择**提示管理器**。然后，在**提示**部分中选择一个提示。

   1. 在**提示草稿**部分中，选择**在提示生成器中编辑**。

1. 使用**提示**窗格来构造提示。在最后一个**用户消息**框中输入提示。如果模型支持 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API 或 [AnthropicClaude 消息 API](model-parameters-anthropic-claude-messages.md)，您还可以添加**系统提示**以及之前的**用户消息**和**助手消息**以提供上下文。

   在编写提示时，您可以用双花括号将变量括起（如 *\$1\$1variable\$1\$1*）。您添加的每个变量都显示在**测试变量**部分中。

1. （可选）您可以通过以下方式修改提示：
   + 在**配置**窗格中，执行以下操作：

     1. 选择用于运行推理的**生成式人工智能资源**。
**注意**  
如果您选择了代理，则只能在控制台中测试提示。要了解如何在 API 中使用代理测试提示，请参阅[使用提示管理器测试提示](prompt-management-test.md)。

     1. 在**推理参数**中，设置要使用的推理参数。

     1. 如果模型支持[推理](inference-reasoning.md)，请开启**推理**，在模型的响应中包含其推理过程。在**推理词元**中，您可以配置模型能够使用的推理词元的数量。

     1. 在**其他模型请求字段**中，选择**配置**以指定除**推理参数**中的参数之外的推理参数。

     1. 如果您选择的模型支持工具，请选择**配置工具**，将工具与提示结合使用。

     1. 如果您选择的模型支持[提示缓存](prompt-caching.md)，请选择以下选项之一（可用性因模型而异）：
        + **无**：不进行任何提示缓存。
        + **工具**：仅缓存提示中的工具。
        + **工具、系统指令**：缓存提示中的工具和系统指令。
        + **工具、系统指令和消息**：缓存提示中的工具、系统指令和消息（用户和助手）。
   + 要比较提示的不同变体，请选择**比较变体**。您可以在比较页面上执行以下操作：
     + 要添加变体，请选择加号。您最多可以添加三个变体。
     + 指定变体的详细信息后，您可以指定任何**测试变量**并选择**运行**来测试变体的输出。
     + 要删除变体，请选择三个点，然后选择**从比较中删除**。
     + 要替换工作草稿并退出比较模式，请选择**另存为草稿**。所有其他变体都将被删除。
     + 要退出比较模式，请选择**退出比较模式**。

1. 完成提示配置后，您可以选择以下选项：
   + 要保存提示，请选择**保存草稿**。有关草稿版本的更多信息，请参阅[使用提示管理器中的版本将提示部署到应用程序](prompt-management-deploy.md)。
   + 要删除提示，请选择**删除**。有关更多信息，请参阅 [在提示管理器中删除提示](prompt-management-delete.md)。
   + 要创建提示版本，请选择**创建版本**。有关提示版本控制的更多信息，请参阅[使用提示管理器中的版本将提示部署到应用程序](prompt-management-deploy.md)。

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

要创建提示，请使用 [Amazon Bedrock 代理构建时端点](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)发送 [CreatePrompt](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreatePrompt.html) 请求。

以下字段是必填字段：


****  

| 字段 | 简要描述 | 
| --- | --- | 
| 名称 | 提示的名称。 | 
| variants | 提示的不同配置列表（见下文）。 | 
| defaultVariant | 默认变体的名称。 | 

`variants` 列表中的每个变体都是具有以下一般结构的 [PromptVariant](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptVariant.html) 对象：

```
{
        "name": "string",
        # modelId or genAiResource (see below)
        "templateType": "TEXT",
        "templateConfiguration": # see below,
        "inferenceConfiguration": {
            "text": {
                "maxTokens": int,
                "stopSequences": ["string", ...],
                "temperature": float,
                "topP": float
            }
        },
        "additionalModelRequestFields": {
            "key": "value",
            ...
        },
        "metadata": [
            {
                "key": "string",
                "value": "string"
            },
            ...
        ]
}
```

按如下所示填写各字段：
+ name – 输入变体的名称。
+ 根据要使用的模型调用资源，提供以下字段之一：
  + modelId：要指定要与提示一起使用的[基础模型](models-supported.md)或[推理配置文件](cross-region-inference.md)，请输入其 ARN 或 ID。
  + genAiResource：要指定[代理](agents.md)，请输入其 ID 或 ARN。`genAiResource` 的值是格式如下的 JSON 对象：

    ```
    {
        "genAiResource": {
        "agent": {
            "agentIdentifier": "string"
        }   
    }
    ```
**注意**  
如果您添加了 `genAiResource` 字段，则只能在控制台中测试提示。要在 API 中使用代理测试提示，您必须直接将提示文本输入到 [https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) 请求的 `inputText` 字段。
+ templateType：输入 `TEXT` 或 `CHAT`。`CHAT` 仅兼容支持 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API 的模型。如果要使用提示缓存，则必须使用 `CHAT` 模板类型。
+ templateConfiguration：该值取决于您指定的模板类型：
  + 如果您指定 `TEXT` 作为模板类型，该值应该为 [TextPromptTemplateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_TextPromptTemplateConfiguration.html.html) JSON 对象。
  + 如果您指定了 `CHAT` 作为模板类型，该值应该为 [ChatPromptTemplateConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ChatPromptTemplateConfiguration.html.html) JSON 对象。
+ inferenceConfiguration – `text` 字段映射到 [PromptModelInferenceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptModelInferenceConfiguration.html.html)。此字段包含所有模型通用的推理参数。要了解有关推理参数的更多信息，请参阅[利用推理参数影响响应生成](inference-parameters.md)。
+ additionalModelRequestFields：使用此字段可指定特定于运行推理所用模型的推理参数。要详细了解特定于模型的推理参数，请参阅[基础模型的推理请求参数和响应字段](model-parameters.md)。
+ metadata – 要与提示变体关联的元数据。您可以将键值对附加到数组，以使用元数据标记提示变体。

以下字段是可选字段：


****  

| 字段 | 应用场景 | 
| --- | --- | 
| description | 为提示提供描述。 | 
| clientToken | 用于确保 API 请求仅完成一次。有关更多信息，请参阅[确保幂等性](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html)。 | 
| tags | 将标签与流相关联。有关更多信息，请参阅 [标记 Amazon Bedrock 资源](tagging.md)。 | 

响应将创建一个 `DRAFT` 版本并返回一个 ID 和 ARN，您可以将其用作其他与提示相关的 API 请求的提示标识符。

------