

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

# 使用 Amazon Bedrock 构建人工智能文本摘要器应用程序
<a name="tutorial-conversational-bedrock"></a>

在本教程中，您将在 App Studio 中构建一个应用程序，该应用程序使用 Amazon Bedrock 来提供最终用户输入的文本的简明摘要。该应用程序包含一个简单的用户界面，用户可以在其中输入他们想要摘要的任何文本。这可能是会议记录、文章内容、研究结果或任何其他文字信息。用户输入文本后，他们可以按下按钮将文本发送到 Amazon Bedrock，Amazon Bedrock 将使用 Claude 3 Sonnet 模型对其进行处理并返回摘要版本。

**Contents**
+ [先决条件](#tutorial-conversational-bedrock-prerequisites)
+ [步骤 1：创建和配置 IAM 角色和 App Studio 连接器](#tutorial-conversational-bedrock-steps-create-role-connector)
+ [步骤 2：创建应用程序](#tutorial-conversational-bedrock-steps-create-application)
+ [步骤 3：创建和配置自动化](#tutorial-conversational-bedrock-steps-create-automation)
+ [步骤 4：创建页面和组件](#tutorial-conversational-bedrock-steps-user-interface)
  + [重命名默认页面](#tutorial-conversational-bedrock-steps-user-interface-create-page)
  + [向页面添加组件](#tutorial-conversational-bedrock-steps-user-interface-add-components)
  + [配置页面组件](#tutorial-conversational-bedrock-steps-user-interface-configure-components)
+ [步骤 5：将应用程序发布到**测试**环境](#tutorial-conversational-bedrock-steps-publish)
+ [（可选）清理](#tutorial-conversational-bedrock-steps-cleanup)

## 先决条件
<a name="tutorial-conversational-bedrock-prerequisites"></a>

在开始之前，请查看并完成以下先决条件：
+ 访问 AWS App Studio。请注意，您必须具有管理员角色才能在本教程中创建连接器。
+ 可选：查看[AWS 应用工作室的概念](concepts.md)并熟悉 App Studio 的重要概念。[教程：从一个空的应用程序开始构建](getting-started-tutorial-empty.md)

## 步骤 1：创建和配置 IAM 角色和 App Studio 连接器
<a name="tutorial-conversational-bedrock-steps-create-role-connector"></a>

要让 App Studio 访问亚马逊 Bedrock 型号，您必须：

1. 启用要在应用程序中使用的 Amazon Bedrock 模型。在本教程中，您将使用 **Claude 3 Sonnet**，因此请确保启用该模型。

1. 创建具有相应的 Amazon Bedrock 权限的 IAM 角色。

1. 使用将在您的应用程序中使用的 IAM 角色创建 App Studio 连接器。

[Connect 到 Amazon Bedrock](connectors-bedrock.md)有关详细说明，请在按照步骤操作并创建连接器后返回本教程。

## 步骤 2：创建应用程序
<a name="tutorial-conversational-bedrock-steps-create-application"></a>

使用以下步骤在 App Studio 中创建一个空应用程序，然后将其内置到文本摘要器应用程序中。

1. 登录 App Studio。

1. 导航到生成器中心，然后选择 **\$1 创建应用程序**。

1. 选择**从头开始**。

1. 在**应用程序名称**字段中，为您的应用程序提供一个名称，例如**Text Summarizer**。

1. 如果系统要求您选择数据源或连接器，请在本教程中选择 “**跳过**”。

1. 选择**下一步**以继续。

1. （可选）：观看视频教程，快速了解如何在 App Studio 中构建应用程序。

1. 选择 **“编辑应用程序”**，这将带您进入应用程序工作室。

## 步骤 3：创建和配置自动化
<a name="tutorial-conversational-bedrock-steps-create-automation"></a>

您可以在*自动化中定义 App Studio 应用程序的逻辑和行为。*自动化由称为*操作*的各个步骤、用于将数据从其他资源传递给操作的*参数*以及可供其他自动化或组件使用的*输出*组成。在此步骤中，您将创建一个自动化系统，通过以下方式处理与 Amazon Bedrock 的互动：
+ 输入：用于将用户输入的文本传递给自动化的参数。
+ 操作：一个 **GenAI 提示**操作，用于将文本输入发送到 Amazon Bedrock 并返回输出文本摘要。
+ 输出：由来自 Amazon Bedrock 的已处理摘要组成的自动化输出，可在您的应用程序中使用。

**创建和配置自动化，以便向 Amazon Bedrock 发送提示并处理和返回摘要**

1. 选择画布顶部的 “**自动化**” 选项卡。

1. 选择 **\$1 添加自动化**。

1. 在右侧面板中，选择 “**属性**”。

1. 通过选择铅笔图标来更新自动化名称。输入 **InvokeBedrock**，键入按 **Enter**。

1. 通过执行以下步骤，向自动化添加一个参数，该参数将用于将用户输入的文本提示传递到自动化中，以便在向 Amazon Bedrock 的请求中使用：

   1. 在画布的参数框中，选择 **\$1 添加**。

   1. 在**名称**中，输入 **input**。

   1. 在**描述**中，输入任何描述，例如**Text to be sent to Amazon Bedrock**。

   1. 在**类型**中，选择**字符串**。

   1. 选择 “**添加**” 以创建参数。

1. 通过执行以下步骤添加 **GenAI 提示**操作：

   1. 在右侧面板中，选择**动作**。

   1. 选择 **GenAI 提示**以添加操作。

1. 通过执行以下步骤来配置操作：

   1. 从画布中选择操作以打开右侧的 “**属性**” 菜单。

   1. **PromptBedrock**通过选择铅笔图标，输入名称并按 Enter 键将动作重命名为。

   1. 在**连接器**中，选择在中创建的连接器[步骤 1：创建和配置 IAM 角色和 App Studio 连接器](#tutorial-conversational-bedrock-steps-create-role-connector)。

   1. 在**模型**中，选择要用于处理提示的 Amazon Bedrock 型号。在本教程中，你将选择 **Claude 3.5 Sonn** et。

   1. 在**用户提示符**中，输入`{{params.input}}`。这表示您之前创建的`input`参数，并将包含您的应用程序用户输入的文本。

   1. 在**系统提示符**中，输入您要发送给 Amazon Bedrock 的系统提示符说明。在本教程中，输入以下内容：

      ```
      You are a highly efficient text summarizer. Provide a concise summary of the prompted text, capturing the key points and main ideas.
      ```

   1. 选择 “**请求设置”** 将其展开，然后更新以下字段：
      + 在**温度**中，输入`0`。温度在 0 到 10 的范围内决定输出的随机性或创造性。数字越高，回应就越有创意。
      + 在**最大代币**数中，输入`4096`以限制响应的长度。

1. 此自动化的输出将是摘要文本，但是，默认情况下，自动化不会创建输出。通过执行以下步骤配置自动化以创建自动化输出：

   1. 在左侧导航栏中，选择**InvokeBedrock**自动化。

   1. 在右侧的 “**属性**” 菜单的 “**输出**” 中，选择 **\$1 添加**。

   1. 在**输出中，输**入**\$1\$1results.PromptBedrock.text\$1\$1**。此表达式返回`processResults`操作的内容。

## 步骤 4：创建页面和组件
<a name="tutorial-conversational-bedrock-steps-user-interface"></a>

在 App Studio 中，每个页面都代表用户将与之交互的应用程序用户界面 (UI) 屏幕。在这些页面中，您可以添加各种组件，例如表格、表单、按钮等，以创建所需的布局和功能。

### 重命名默认页面
<a name="tutorial-conversational-bedrock-steps-user-interface-create-page"></a>

本教程中的文本摘要器应用程序将仅包含一页。新创建的应用程序带有默认页面，因此您可以重命名该页面，而不是添加一个页面。

**重命名默认页面**

1. 在顶部栏导航菜单中，选择**页面**。

1. 在左侧面板中，选择 **Page1**，然后在右侧面板中选择 “**属性**” 面板。

1. 选择铅笔图标，输入**TextSummarizationTool**，然后**按 Enter**。

1. 在**导航标签**中输入**TextSummarizationTool**。

### 向页面添加组件
<a name="tutorial-conversational-bedrock-steps-user-interface-add-components"></a>

在本教程中，文本摘要器应用程序有一个包含以下组件的页面：
+ 一种**文本输入**组件，最终用户使用它来输入要汇总的提示。
+ 用于向 Amazon Bedrock 发送提示的 B **ut** ton 组件。
+ 一个**文本区域**组件，用于显示来自 Amazon Bedrock 的摘要。

向页面添加**文本输入**组件，用户将使用该组件输入要汇总的文本提示。

**添加文本输入组件**

1. 在右侧的 “**组件**” 面板中，找到**文本输入**组件并将其拖到画布上。

1. 选择画布中的文本输入以将其选中。

1. 在右侧的 “**属性**” 面板中，更新以下设置：

   1. 选择铅笔图标将文本输入重命名为**inputPrompt**。

   1. 在**标签**中，输入**Prompt**。

   1. 在**占位符**中，输入**Enter text to be summarized**。

现在，添加一个 B **ut** ton 组件，用户可以选择将其发送到 Amazon Bedrock。

**添加按钮组件**

1. 在右侧的 “**组件**” 面板中，找到 B **ut** ton 组件并将其拖到画布上。

1. 在画布中选择按钮将其选中。

1. 在右侧的 “**属性**” 面板中，更新以下设置：

   1. 选择要将按钮重命名为的铅笔图标**sendButton**。

   1. 在 **“按钮标签”** 中，输入**Send**。

现在，添加一个**文本区域**组件，该组件将显示 Amazon Bedrock 返回的摘要。

**添加文本区域组件**

1. 在右侧的 “**组件**” 面板中，找到**文本区域**组件并将其拖到画布上。

1. 在画布中选择文本区域将其选中。

1. 在右侧的 “**属性**” 面板中，更新以下设置：

   1. 选择要将按钮重命名为的铅笔图标**textSummary**。

   1. 在**标签**中，输入**Summary**。

### 配置页面组件
<a name="tutorial-conversational-bedrock-steps-user-interface-configure-components"></a>

现在，该应用程序包含一个包含组件的页面，下一步是配置组件以执行适当的行为。要将组件（例如按钮）配置为在与之交互时执行操作，必须向其添加*触发器*。对于本教程中的应用程序，您将在`sendButton`按钮中添加两个触发器来执行以下操作：
+ 第一个触发器将`textPrompt`组件中的文本发送到 Amazon Bedrock 进行分析。
+ 第二个触发器在`textSummary`组件中显示从 Amazon Bedrock 返回的摘要。

**添加将提示发送到 Amazon Bedrock 的触发器**

1. 在画布中选择按钮将其选中。

1. 在右侧的 “**属性**” 面板的 “**触发器**” 部分，选择 **\$1 添加**。

1. 选择 “**调用自动化**”。

1. 选择为对其进行配置而创建的 **InvokeAutomation1** 触发器。

1. 在**操作名称**中，输入**invokeBedrockAutomation**。

1. 在 “**调用自动化**” 中，选择之前创建的**InvokeBedrock**自动化。

1. 在参数框中，在之前创建的**输入**参数中输入**\$1\$1ui.inputPrompt.value\$1\$1**，它会传递`inputPrompt`文本输入组件中的内容。

1. 选择面板顶部的左箭头返回到组件属性菜单。

现在，您已经配置了一个触发器，该触发器会在点击按钮时调用自动向 Amazon Bedrock 发送请求，下一步是配置第二个触发器，在组件中显示结果。`textSummary`

**添加在文本区域组件中显示 Amazon Bedrock 结果的触发器**

1. 在按钮右侧的 “**属性**” 面板的 “**触发器**” 部分，选择 **\$1 添加**。

1. 选择 “**运行组件操作”**。

1. 选择为对其进行配置而创建的 **Runcomponentaction1** 触发器。

1. 在**操作名称**中，输入**setTextSummary**。

1. 在**组件**中，选择**文本摘要**组件。

1. 在 “**操作**” 中，选择 “**设置值**”。

1. 在 **“将值设置为**” 中，输入**\$1\$1results.invokeBedrockAutomation\$1\$1**。

## 步骤 5：将应用程序发布到**测试**环境
<a name="tutorial-conversational-bedrock-steps-publish"></a>

通常，在构建应用程序时，最好先对其进行预览以查看其外观并对其功能进行初步测试。但是，由于应用程序在预览环境中不与外部服务交互，因此您可以将应用程序发布到测试环境，以便能够测试发送请求和接收来自 Amazon Bedrock 的响应。

**将您的应用程序发布到测试环境**

1. 在应用程序构建器的右上角，选择**发布**。

1. 为测试环境添加版本描述。

1. 查看并选中与 SLA 相关的复选框。

1. 选择**启动**。发布最多可能需要 15 分钟。

1. （可选）准备就绪后，您可以通过选择 “**共享**” 并按照提示向其他人授予访问权限。有关共享 App Studio 应用程序的更多信息，请参阅[共享已发布的应用程序](application-share.md)。

测试应用程序后，再次选择 **Publish** 以将该应用程序提升到生产环境。请注意，生产环境中的应用程序只有在共享后才可供最终用户使用。有关不同应用程序环境的更多信息，请参阅[应用程序环境](applications-publish.md#application-environments)。

## （可选）清理
<a name="tutorial-conversational-bedrock-steps-cleanup"></a>

现在，您已成功完成本教程，并使用 Amazon Bedrock 在 App Studio 中构建了一个文本摘要应用程序。您可以继续使用您的应用程序，也可以清理在本教程中创建的资源。以下列表包含要清理的资源列表：
+ 在 App Studio 中创建的亚马逊 Bedrock 连接器。有关更多信息，请参阅 [查看、编辑和删除连接器](viewing-deleting-connectors.md)。
+ App Studio 中的文本摘要器应用程序。有关更多信息，请参阅 [删除 应用程序](applications-delete.md)。
+ 在 IAM 控制台中创建的 IAM 角色。有关更多信息，请参阅*AWS Identity and Access Management 用户指南*中的[删除角色或实例配置文件](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html)。
+ *如果您请求模型访问权限以使用 Claude 3 Sonnet 并希望恢复访问权限，请参阅《亚马逊 Bedrock [用户指南》中的 “管理对亚马逊 Bedrock 基础模型](https://docs.aws.amazon.com/bedrock/latest/userguide/model-access.html)的访问权限”。*