

# Amazon Nova 入门
<a name="getting-started"></a>

**注意**  
本文档适用于 Amazon Nova 版本 1。Amazon Nova 2 现已推出新的模型和增强功能。有关开始使用Amazon Nova 2 的信息，请参阅[开始使用 Amazon Nova 2](https://docs.aws.amazon.com/nova/latest/nova2-userguide/getting-started-nova-2.html)。

Amazon Nova 模型可以通过使用 Amazon Bedrock [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) 或 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) API 操作的 API 来调用，也可以通过 [Amazon Bedrock 聊天和文本演示平台](https://docs.aws.amazon.com/bedrock/latest/userguide/playgrounds.html)使用。

**重要**  
如果是 AWS 或 Amazon Bedrock 的新手用户，则必须先按照 [Amazon Bedrock 入门](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html)中的步骤设置 Amazon Bedrock。

用户也可以在不进入 Amazon Bedrock 的情况下，通过 [https://nova.amazon.com](https://nova.amazon.com/chat) 试用 Amazon Nova 模型。

选择一个主题，开始通过该方法使用 Amazon Nova。

**Topics**
+ [开始在 Amazon Bedrock 控制台中使用 Amazon Nova](getting-started-console.md)
+ [API 入门](getting-started-api.md)

# 开始在 Amazon Bedrock 控制台中使用 Amazon Nova
<a name="getting-started-console"></a>

**注意**  
本文档适用于 Amazon Nova 版本 1。Amazon Nova 2 现已推出新的模型和增强功能。有关如何开始使用 Amazon Nova 2 的信息，请访问[在 Amazon Bedrock 控制台中开始使用 Amazon Nova 2](https://docs.aws.amazon.com/nova/latest/nova2-userguide/getting-started-console.html)。

本部分将介绍如何在 AWS 管理控制台中使用演示平台向 Amazon Nova 模型提交文本提示，并生成文本或图像回复。在运行以下示例之前，应检查您是否满足了以下先决条件：

**先决条件**
+ 您拥有 AWS 账户并有权使用该账户中具有 Amazon Bedrock 必要权限的角色。否则，请按照 [Amazon Bedrock 入门](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html)中的步骤操作。
+ 您已请求访问 Amazon Nova 模型。否则，请按照 [Request access to an Amazon Bedrock foundation model](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html#getting-started-model-access) 中的步骤操作，然后请求访问 **Amazon Nova Lite** 和 **Amazon Nova Canvas**。
+ 您位于美国东部（弗吉尼亚州北部）（us-east-1）区域。要更改区域，请选择控制台右上角 IAM 角色旁边的“区域”名称。然后选择“美国东部（弗吉尼亚州北部）(us-east-1)”。

**Topics**
+ [请求模型访问权限](#getting-started-access)
+ [探索文本演示平台](#getting-started-text)
+ [探索图像演示平台](#getting-started-image)

## 请求模型访问权限
<a name="getting-started-access"></a>

完成以下步骤，请求访问 Amazon Nova 模型。

1. 通过以下网址打开 Amazon Bedrock 控制台：[https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/)。

1. 在左侧导航窗格中，从 **Bedrock 配置**下选择**模型访问权限**。

1. 在**什么是模型访问权限**中，选择**启用特定模型**。

1. 从**基础模型**列表中选择 **Nova Lite** 和 **Nova Canvas**。本节中的示例仅使用这两种模型，但您也可请求访问所有 Amazon Nova 模型。然后选择**下一个**

1. 在**审核并提交**页面上，选择**提交**。

1. 刷新**基础模型**表。如果看到 Amazon Nova 模型处于**已授予访问权限**状态，则可继续进行示例的后续部分。

请注意，您请求模型访问权限所在的区域是您唯一能够使用这些模型的区域。

## 探索文本演示平台
<a name="getting-started-text"></a>

以下示例演示了如何使用文本演示平台：

1. 通过以下网址打开 Amazon Bedrock 控制台：[https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/)。

1. 在左侧导航窗格中，从**演示平台**下选择**聊天/文本**。

1. 选择**选择模型**，然后选择提供商和模型。在本示例中，依次选择 **Amazon**、**Nova Lite**。然后选择**应用**。

1. 从文本面板下方选择默认提示，或者在文本面板中输入提示，例如 **Describe the purpose of a "hello world" program in one line**。

1. 要探索 Amazon Nova 的图像理解能力，您可以从计算机上传小于或等于 25 MB 的 JPEG、PNG、GIF 或 WEBP 格式的图像。上传图像后，您可以向 Amazon Nova 询问有关图像的信息。

1. 要探索 Amazon Nova 的文档理解能力，您可以上传小于或等于 4.5 MB 的 CSV、DOC、DOCX、HTML、MD、PDF、TXT、XLS 或 XLSX 格式的文档。上传文档后，您可以向 Amazon Nova 询问有关文档的信息。

1. 要探索 Amazon Nova 的视频理解能力，您可以从计算机上传小于或等于 25 MB 的 MKV、MOV 或 MP4 格式的视频。您可以使用 Amazon S3 来播放最大 1 GB 的视频。上传视频后，您可以向 Amazon Nova 询问有关视频的信息。

1. 选择**运行**对模型运行推理。生成的文本显示在文本面板的提示下方。

## 探索图像演示平台
<a name="getting-started-image"></a>

以下示例演示了如何使用图像演示平台。

1. 通过以下网址打开 Amazon Bedrock 控制台：[https://console.aws.amazon.com/bedrock/](https://console.aws.amazon.com/bedrock/)。

1. 在左侧导航窗格中，从**演示平台**下选择**图像/视频**。

1. 选择**选择模型**，然后选择提供商和模型。在本示例中，依次选择 **Amazon**、**Nova Canvas**。然后选择**应用**。

1. 从文本面板下方选择默认提示，或者在文本面板中输入提示，例如 **Generate an image of happy cats**。

1. 在**配置**窗格中，将**图像数量**更改为 **1**。

1. 选择**运行**对模型运行推理。生成的图像显示在提示上方。

# API 入门
<a name="getting-started-api"></a>

**注意**  
本文档适用于 Amazon Nova 版本 1。Amazon Nova 2 现已推出新的模型和增强功能。有关如何开始使用 Amazon Nova 2 的信息，请参阅[开始使用 API](https://docs.aws.amazon.com/nova/latest/nova2-userguide/getting-started-api.html)。

要开始使用 API，您需要获取凭证来授予编程访问权限。如果以下部分与您有关，请展开并按照说明操作。否则，请继续完成剩余部分。

## 我是 AWS 新用户
<a name="new-to-aws"></a>

如果您还没有，AWS 账户请完成以下步骤来创建一个。

**注册 AWS 账户**

1. 打开 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册 AWS 账户 时，系统将会创建一个。*AWS 账户根用户*根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

注册过程完成后，AWS 会向您发送一封确认电子邮件。在任何时候，您都可以通过转至 [https://aws.amazon.com/](https://aws.amazon.com/) 并选择**我的账户**来查看当前的账户活动并管理您的账户。

**保护您的 AWS 账户根用户**

1.  选择**根用户**并输入您的 AWS 账户 电子邮件地址，以账户拥有者身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅《IAM 用户指南》**中的[为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

## 我需要安装 AWS CLI 或 AWS SDK
<a name="api-cli-sdk-install"></a>

要安装 AWS CLI，请按照 [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 中的步骤操作。

要安装 AWS SDK，请在[用于在 AWS 上进行构建的工具](https://aws.amazon.com/developer/tools/)中选择与您要使用的编程语言相对应的选项卡。AWS 软件开发工具包（SDK）适用于许多常用编程语言。每个软件开发工具包都提供 API、代码示例和文档，使开发人员能够更轻松地以其首选语言构建应用程序。SDK 会自动为您执行有用的任务，例如：
+ 对服务请求进行加密签名
+ 重试请求
+ 处理错误响应

## 获取凭证来授予编程访问权限
<a name="grant-program-access"></a>

如果用户需要在 AWS 管理控制台之外与 AWS 交互，则需要编程式访问权限。授予编程式访问权限的方法取决于访问 AWS 的用户类型。

要向用户授予编程式访问权限，请选择以下选项之一。


****  

| 哪个主体需要编程访问权限？ | 目标 | 方式 | 
| --- | --- | --- | 
| IAM 用户 | 限制对 AWS CLI、AWS SDK 或 AWS API 的编程请求进行签名的长期凭证的有效时长。 |  按照您希望使用的界面的说明进行操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/nova/latest/userguide/getting-started-api.html)  | 
| IAM 角色 | 使用临时凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。 | 按照《IAM 用户指南》中[将临时凭证用于 AWS 资源](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html)中的说明进行操作。 | 
|  人力身份 （在 IAM Identity Center 中管理的用户）  | 使用临时凭证签署向 AWS CLI、AWS SDK 或 AWS API 发出的编程请求。 |  按照您希望使用的界面的说明进行操作。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/nova/latest/userguide/getting-started-api.html)  | 

## 如何为 IAM 用户创建访问密钥
<a name="create-user-time-bound"></a>

如果决定对 IAM 用户使用访问密钥，AWS 建议通过包含限制性内联策略来为 IAM 用户设置过期时间。

**重要**  
请注意以下警告：  
**不得**使用账户的根凭证来访问 AWS 资源。这些凭证可提供不受限的账户访问且难以撤销。
**不得**在应用程序文件中按字面输入访问密钥或凭证信息。如果您这样做，则在将项目上传到公共存储库或在其他情况下，会有意外暴露凭证的风险。
**不得**在项目区域中放入包含凭证的文件。
安全管理您的访问密钥。请不要向未经授权方提供访问密钥，即便是为了帮助[找到您的账户标识符](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)也不行。如果您这样做，可能会向某人提供对您的账户的永久访问权限。
请注意，共享 AWS 凭证文件中存储的所有凭证都以明文形式存储。

有关更多详细信息，请参阅《AWS 一般参考》中的 [Best practices for managing AWS access keys](https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html)。

**创建 IAM 用户**

1. 在 AWS 管理控制台主页上，选择 IAM 服务或导航到 IAM 控制台，网址为 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在导航窗格中，选择**用户**，然后选择**创建用户**。

1. 按照 IAM 控制台中的指南，设置一个（无权访问 AWS 管理控制台的）编程用户，并且不授予其任何权限。

**将用户访问权限限制在有限的时间段内**

您创建的任何 IAM 用户访问密钥都属于长期凭证。为了确保这些凭证在处理不当的情况下会过期，您可以创建内联策略来指定密钥失效的日期，从而限制这些凭证的使用时间。

1. 打开刚创建的 IAM 用户。在**权限**选项卡中，选择**添加权限**，然后选择**创建内联策略**。

1. 在 JSON 编辑器中，指定以下权限。要使用此策略，请将示例策略中的 `aws:CurrentTime` 时间戳值替换为自己的结束日期。
**注意**  
IAM 建议将访问密钥限制在 12 小时以内。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Action": "*",
         "Resource": "*",
         "Condition": {
           "DateGreaterThan": {
             "aws:CurrentTime": "2024-01-01T00:00:00Z"
           }
         }
       }
     ]
   }
   ```

------

**创建访问密钥**

1. 在**用户详细信息**页面上，选择**安全凭证**选项卡。在**访问密钥**部分，选择**创建访问密钥**。

1. 表明您计划将这些访问密钥用作**其他**，然后选择**创建访问密钥**。

1. 在 **Retrieve access keys**（检索访问密钥）页面上，选择 **Show**（显示）来显示用户的秘密访问密钥的值。您可以复制凭证或下载 .csv 文件。

**重要**  
如果不再需要此 IAM 用户，建议将其移除并遵循 [AWS 安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#lock-away-credentials)。建议要求人类用户在访问 AWS 时通过 [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) 使用临时凭证。

## 将 Amazon Bedrock 权限附加到用户或角色
<a name="br-permissions"></a>

在设置好编程访问凭证后，您需要为用户或 IAM 角色配置权限，以便其访问一组与 Amazon Bedrock 相关的操作。要设置这些权限，请执行以下操作：

1. 在 AWS 管理控制台主页上，选择 IAM 服务或导航到 IAM 控制台，网址为 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 选择**用户**或**角色**，然后选择您的用户或角色。

1. 在**权限**选项卡中，选择**添加权限**，然后选择**添加 AWS 托管式策略**。选择 [AmazonBedrockFullAccess]() AWS 托管式策略。

1. 要允许用户或角色订阅模型，请选择**创建内联策略**，然后在 JSON 编辑器中指定以下权限：

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Sid": "MarketplaceBedrock",
             "Effect": "Allow",
             "Action": [
                 "aws-marketplace:ViewSubscriptions",
                 "aws-marketplace:Unsubscribe",
                 "aws-marketplace:Subscribe"
             ],
             "Resource": "*"
         }
     ]
   }
   ```

------

## 请求访问 Amazon Nova 模型
<a name="request-access-nova"></a>

按照 [Request access to an Amazon Bedrock foundation model](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html#getting-started-model-access) 中的步骤，通过 Amazon Bedrock 控制台请求访问 Amazon Nova 模型。

## 使用 Amazon Nova 模型生成对文本提示的回复
<a name="try-nova"></a>

满足所有先决条件后，选择一个选项卡，测试如何通过 [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) 请求以及使用选项卡中指定的方法向 Amazon Nova 模型发出模型调用请求：

------
#### [ AWS CLI ]

要安装 AWS CLI，请按照 [Install or update to the latest version of the AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 中的步骤操作。按照[获取凭证来授予编程访问权限](#grant-program-access)中的步骤，验证是否已设置凭证来使用 Boto3。

要使用 AWS CLI 在 Amazon Nova Lite 中生成对文本提示的回复，请在终端中运行以下命令：

```
aws bedrock-runtime converse \
    --model-id us.amazon.nova-lite-v1:0 \
    --messages '[{"role": "user", "content": [{"text": "Write a short poem"}]}]'
```

------
#### [ Python (Boto3) ]

要安装 Boto3，请按照 Boto3 文档中 [Quickstart](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html) 中的步骤操作。按照[获取凭证来授予编程访问权限](#grant-program-access)中的步骤，验证是否已设置凭证来使用 Boto3。

要创建 Amazon Bedrock 运行时客户端并使用 Python SDK（Boto3）在 Amazon Nova Lite 中生成对文本提示的回复，请运行以下 Python 脚本：

```
import boto3
import json

client = boto3.client(service_name="bedrock-runtime")

messages = [
    {"role": "user", "content": [{"text": "Write a short poem"}]},
]

model_response = client.converse(
    modelId="us.amazon.nova-lite-v1:0", 
    messages=messages
)

print("\n[Full Response]")
print(json.dumps(model_response, indent=2))

print("\n[Response Content Text]")
print(model_response["output"]["message"]["content"][0]["text"])
```

------
#### [ LangChain ]

要安装适用于 AWS 的 LangChain，请按照 LangChain 文档中 [AWS](https://python.langchain.com/docs/integrations/providers/aws/) 部分的步骤操作。按照[获取凭证来授予编程访问权限](#grant-program-access)中的步骤，验证是否已设置凭证来使用 Boto3。

要使用 LangChain 在 Amazon Nova Lite 中生成对文本提示的回复，请运行以下脚本：

```
from langchain_aws import ChatBedrockConverse

llm = ChatBedrockConverse(model="us.amazon.nova-lite-v1:0")

messages = [
    ("user", "Write a short poem")
]

llm.invoke(messages)
```

------

熟悉 Amazon Nova 之后，即可继续执行更高级的任务：

1. 尝试向模型输入提示，描述一张图像或一个视频。有关更多信息，请参阅 [Amazon Nova 的多模态支持](modalities.md)。

1. 尝试使用 Amazon Nova Canvas 生成图像。有关更多信息，请参阅 [使用 Amazon Nova Canvas 生成图像](image-generation.md)。

1. 尝试使用 Amazon Nova Reel 生成视频。有关更多信息，请参阅 [使用 Amazon Nova Reel 生成视频](video-generation.md)。

1. 向模型发送一份文档，并询问有关文档内容的信息。有关更多信息，请参阅 [文档理解](modalities-document.md)。

1. 为模型提供工具，再通过输入提示来发出请求，查看模型对工具的使用情况。有关更多信息，请参阅 [Amazon Nova 的“工具使用”（函数调用）](tool-use.md)。