

# Amazon Nova の理解モデルの呼び出し
<a name="invoke"></a>

**注記**  
このドキュメントは Amazon Nova バージョン 1 を対象としています。Amazon Nova 2 にリクエストを送信する方法については、「[コア推論](https://docs.aws.amazon.com/nova/latest/nova2-userguide/core-inference.html)」(Core inference) を参照してください。

Amazon Nova のマルチモーダル理解モデルは、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)) および 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)) を介した推論に使用できます。会話アプリケーションを作成するには、「[Converse API オペレーションで会話を実行する](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html)」を参照してください。両方の API 方法 (Invoke および Converse) は、以下で説明する非常に類似したリクエストパターンに従います。

Invoke API および Converse API の主な違いは次のとおりです。
+ topK などの推論パラメータは Converse ではサポートされていないため、`additionalModelRequestFields` で渡す必要があります。Invoke API では、推論パラメータで直接渡すことができます。
+ ドキュメントサポートは Converse API のみに制限されており、Invoke API ではサポートされていません。
+ レスポンス解析形式は、Invoke API コンストラクトと Convserse API コンストラクトで異なります。
+ レスポンスストリーミングは `ConverseStream` と `InvokeModelWithStreaming` で異なります。

Amazon Nova モデルを呼び出すには、モデルを使用する予定のすべてのリージョンで [Amazon Bedrock 基盤モデルへのアクセスをリクエスト](https://docs.aws.amazon.com/bedrock/latest/userguide/getting-started.html#getting-started-model-access)する必要があります。

**Topics**
+ [Messages API overview](#messages-api-overview)
+ [システムプロンプトの使用](#utilizing-system-prompt)
+ [Converse API の使用](using-converse-api.md)
+ [Invoke API の使用](using-invoke-api.md)
+ [完全なリクエストスキーマ](complete-request-schema.md)

## Messages API overview
<a name="messages-api-overview"></a>

Amazon Nova の理解モデルは Messages API を使用し、テキスト、画像、動画、ドキュメントを含む入力メッセージの構造化リストを送信できます。その後、モデルは会話で次のメッセージを生成します。Messages API は、単一クエリおよびステートレスマルチターン会話の両方をサポートしているため、チャットボットや仮想アシスタントアプリケーションの作成を実現します。API は、ユーザーと Amazon Nova モデル (アシスタント) 間で交わされる会話を管理します。

Amazon Nova モデルは交互ユーザーおよびアシスタントの会話ターンに対応するようにトレーニングされています。新しいメッセージを作成するときは、メッセージパラメータを使用して以前の会話ターンを指定します。その後、モデルは会話で次のメッセージを生成します。

各入力メッセージは、ロールおよびコンテンツを含むオブジェクトである必要があります。ユーザーはユーザーロールで 1 つのメッセージを指定するか、ユーザーロールおよびアシスタントロールの両方で複数のメッセージを含めることができます。ただし、最初のメッセージは必ずユーザーロールを使用する必要があります。Amazon Nova からレスポンスを事前入力する手法が使用されている場合 (アシスタントロールに最終メッセージを含める)、モデルは提供されたコンテンツからレスポンスを続行します。この手法では、アシスタントロールでのレスポンスが引き続き返されます。

次の内容は、1 つのユーザーメッセージを表します。

```
[{
  "role": "user",
  "content": [{"text":"Hello, Nova"}]
}]
```

 複数の会話ターンの例を紹介します。

```
[
  {"role": "user", "content": [{"text": "Hello there."}]},
  {"role": "assistant", "content": [{"text": "Hi, I'm Chatbot trained to answer your questions. How can I help you?"}]},
  {"role": "user", "content": [{"text": "Can you explain LLMs in plain English?"}]}
]
```

Amazon Nova による部分的に入力されたレスポンスを含む例を紹介します。

```
[
  {"role": "user", "content": [{"text":"Please describe yourself using only JSON"}]},
  {"role": "assistant", "content": [{"text":"Here is my JSON description:\n{"}]}
]
```

Amazon Nova モデルのプロンプトの作成に関する情報については、「[テキスト理解のプロンプトのベストプラクティス](prompting-text-understanding.md)」を参照してください。

## システムプロンプトの使用
<a name="utilizing-system-prompt"></a>

リクエストにシステムプロンプトを含めることができます。システムプロンプトを使用すると、Amazon Nova にコンテキストおよび指示 (特定の目標やロールの指定など) を与えることができます。次の例で示しているように、`system` フィールドにシステムプロンプトを指定します。

```
[
   {"text": "You are an expert SaS analyst......"}
]
```

システムプロンプトを含める方法の例については、次のセクションを参照してください。
+ [Converse API の使用](https://docs.aws.amazon.com/nova/latest/userguide/using-converse-api.html)
+ [Invoke API の使用](https://docs.aws.amazon.com/nova/latest/userguide/using-invoke-api.html)
+ [完全なリクエストスキーマ](https://docs.aws.amazon.com/nova/latest/userguide/complete-request-schema.html)