

# 核心推理
<a name="core-inference"></a>

推理是指向 Amazon Nova 模型发送请求并接收生成响应的过程。Amazon Nova 模型支持通过两种 API 方式进行推理：
+ **Converse API**（[Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html)、[ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html)）：提供适用于不同模型的统一接口，便于在模型间切换，或开发可兼容多款模型的应用程序。推荐用于大多数使用案例。
+ **Invoke API**（[InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html)、[InvokeModelWithResponseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html)）：请求有效载荷按各模型原生格式专门构建。使用请求正文中提供的提示词与推理参数执行推理。

这两种 API 都支持相同的核心功能，包括：
+  多回合对话 
+  多模态输入（文本、图像、视频、音频） 
+  工具使用 
+  护栏 
+  流式响应 

 这两种 API 的请求结构几乎相同，仅在字节数据（文档、图像、视频和音频）的编码方式上有所不同。对于 Amazon Nova 模型专属的请求参数（例如 `reasoningConfig` 和 `TopK`），需将其置于 `additionalModelRequestFields` 中的另一个 `inferenceConfig` 对象中。这些是 `InvokeModel` 和 `InvokeModelWithResponseStream` 的顶级参数。

**注意**  
 有关 Nova 2 模型的代码示例列表，请参阅“代码示例”和“故障排除”部分。

要使用 Amazon Nova 模型，请将 `modelId` 设置为以下任一值：


| 模型 | 模型 ID | 
| --- |--- |
| Nova 2 Lite |    global.amazon.nova-2-lite-v1:0   us.amazon.nova-2-lite-v1:0    | 
| Nova 2 Sonic |    global.amazon.nova-2-sonic-v1:0   us.amazon.nova-2-sonic-v1:0    | 
| Nova Multimodal Embeddings | amazon.nova-2-multimodal-embeddings-v1:0 | 

## 重要提示：超时配置
<a name="important-timeout-configuration"></a>

**重要**  
Amazon Nova 推理请求最长可能需要 60 分钟才能完成。请对客户端超时设置进行相应配置：  
 以下示例为 Python 代码。用户可以在该 SDK 的 API 文档中查看其首选 SDK 语言版本的文档。  

```
from botocore.config import Config

bedrock = boto3.client(
    'bedrock-runtime',
    region_name='us-east-1',
    config=Config(
        read_timeout=3600  # 60 minutes
    )
)
```

## 核心推理主题
<a name="core-inference-topics"></a>

 本节将讨论以下主题：
+  使用 Converse API：提供与大多数 Bedrock 模型兼容的统一接口 
+  使用 Invoke API：该接口为 Nova 模型专属，不兼容其他 Bedrock 模型 
+  流式响应：生成实时响应 
+  使用 Amazon Nova Embeddings：文本嵌入功能 
+  按需推理：按使用量付费的推理模型 