Amazon Nova の理解モデルの呼び出し - Amazon Nova

Amazon Nova の理解モデルの呼び出し

注記

このドキュメントは Amazon Nova バージョン 1 を対象としています。Amazon Nova 2 にリクエストを送信する方法については、「コア推論」(Core inference) を参照してください。

Amazon Nova のマルチモーダル理解モデルは、Invoke API (InvokeModelInvokeModelWithResponseStream) および Converse API (Converse および ConverseStream) を介した推論に使用できます。会話アプリケーションを作成するには、「Converse API オペレーションで会話を実行する」を参照してください。両方の API 方法 (Invoke および Converse) は、以下で説明する非常に類似したリクエストパターンに従います。

Invoke API および Converse API の主な違いは次のとおりです。

  • topK などの推論パラメータは Converse ではサポートされていないため、additionalModelRequestFields で渡す必要があります。Invoke API では、推論パラメータで直接渡すことができます。

  • ドキュメントサポートは Converse API のみに制限されており、Invoke API ではサポートされていません。

  • レスポンス解析形式は、Invoke API コンストラクトと Convserse API コンストラクトで異なります。

  • レスポンスストリーミングは ConverseStreamInvokeModelWithStreaming で異なります。

Amazon Nova モデルを呼び出すには、モデルを使用する予定のすべてのリージョンで Amazon Bedrock 基盤モデルへのアクセスをリクエストする必要があります。

Messages API overview

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 モデルのプロンプトの作成に関する情報については、「テキスト理解のプロンプトのベストプラクティス」を参照してください。

システムプロンプトの使用

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

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

システムプロンプトを含める方法の例については、次のセクションを参照してください。