AI21 Labs Jamba モデル - Amazon Bedrock

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AI21 Labs Jamba モデル

このセクションでは、 を使用するための推論パラメータとコード例を示します。AI21 Labs Jamba モデル。

必須フィールド

AI21 Labs Jamba モデルは、次の必須フィールドをサポートしています。

  • メッセージ (messages) – このチャットの以前のメッセージで、最も古いメッセージ (インデックス 0) から最新のメッセージ。リストには、少なくとも 1 つのユーザーまたはアシスタントメッセージが必要です。ユーザー入力とシステムレスポンスの両方を含めます。リストの最大合計サイズは、約 256K000 トークンです。各メッセージには、次のメンバーが含まれます。

  • ロール (role) – メッセージ作成者のロール。次のいずれかの値になります。

    • ユーザー (user) – ユーザーによって提供される入力。プロンプトで指定された指示と競合するここで指定された指示は、systemプロンプトsystemの指示よりも優先されます。

    • アシスタント (assistant) – モデルによって生成されたレスポンス。

    • システム (system) – 生成されたメッセージのトーンと音声に関する一般的なガイダンスを提供するためにシステムに提供される初期手順。初期システムメッセージはオプションですが、チャットのトーンに関するガイダンスを提供するために推奨されます。例えば、「あなたは地球科学の背景と魅力的なフランス語のアクセントを持つ有用なチャットボットです」です。

  • コンテンツ (content) – メッセージの内容。

推論パラメータ

AI21 Labs Jamba モデルは、以下の推論パラメータをサポートしています。

ランダム性と多様性

AI21 Labs Jamba モデルは、レスポンスのランダム性と多様性を制御するために以下のパラメータをサポートしています。

  • 温度 (temperature) - 各回答に提供するバリエーション。この値を 0 に設定すると、毎回同じ質問に対して同じレスポンスが保証されます。値を大きく設定すると、バリエーションが増えます。トークンのサンプリング元のディストリビューションを変更します。デフォルト: 1.0、範囲: 0.0~2.0

  • 上位 P (top_p) – 各ステップの次のトークンのプールを、可能なトークンの上位 N パーセンタイルに制限します。1.0 は可能なすべてのトークンのプールを意味し、0.01 は最も可能性の高い次のトークンのプールのみを意味します。

長さ

AI21 Labs Jamba モデルは、生成されたレスポンスの長さを制御するために以下のパラメータをサポートしています。

  • 最大完了長 (max_tokens) – 生成された各レスポンスメッセージに許可するトークンの最大数。通常、出力長を制限する最善の方法は、システムプロンプトに長さ制限を指定することです (例:「回答を 3 つの文に制限する」)。デフォルト: 4096、範囲: 0~4096。

  • 停止シーケンス (stop) – モデルがこれらの文字列のいずれかを生成すると、メッセージは終了します。停止シーケンスは、生成されたメッセージに含まれません。各シーケンスは最大 64K の長さで、改行を \n 文字として含めることができます。

    例:

    • 単語とピリオドを含む単一の停止文字列:「モンキー」

    • 複数の停止文字列と改行: [「cat」、「dog」、「.」、「####」、「\n」〕

  • レスポンスの数 (n) – 生成するチャットレスポンスの数。ストリーミングレスポンスのメモ n は 1 である必要があります。n が 1 より大きい場合、すべての回答temperature=0が重複することが保証されるため、設定は常に失敗します。デフォルト: 1、範囲: 1~16

繰り返し

AI21 Labs Jamba モデルは、生成されたレスポンスの繰り返しを制御するために、次のパラメータをサポートしています。

  • 頻度ペナルティ (frequency_penalty) – この数を増やすことで、単一の応答メッセージ内で繰り返される単語の頻度を減らします。このペナルティは、レスポンス生成中に単語が表示される回数が多いほど徐々に増加します。を 2.0 に設定すると、単語が繰り返される場合、文字列は少数になります。

  • プレゼンスペナルティ (presence_penalty) – この数を増やすことで、1 つのメッセージ内で繰り返される単語の頻度を減らします。頻度ペナルティとは異なり、存在ペナルティは単語が何回出現しても同じです。

モデル呼び出しリクエストの body フィールド

を使用して InvokeModelまたは をInvokeModelWithResponseStream呼び出す場合 AI21 Labs モデルで、以下のオブジェクトに一致するJSONオブジェクトを body フィールドに入力します。[prompt] フィールドにプロンプトを入力します。

{ "messages": [ { "role":"system", // Non-printing contextual information for the model "content":"You are a helpful history teacher. You are kind and you respond with helpful content in a professional manner. Limit your answers to three sentences. Your listener is a high school student." }, { "role":"user", // The question we want answered. "content":"Who was the first emperor of rome?" } ], "n":1 // Limit response to one answer }

モデル呼び出しレスポンスの body フィールド

レスポンス内のbodyフィールドの形式の詳細については、https://docs.ai21.com/reference/jamba-instruct-api「#response-details」を参照してください。

コード例

この例では、 AI21 Labs Jamba-Instruct モデルを呼び出す方法を示しています。

invoke_model

import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.invoke_model( modelId='ai21.jamba-instruct-v1:0', body=json.dumps({ 'messages': [ { 'role': 'user', 'content': 'which llm are you?' } ], }) ) print(json.dumps(json.loads(response['body']), indent=4))

会話

import boto3 import json bedrock = session.client('bedrock-runtime', 'us-east-1') response = bedrock.converse( modelId='ai21.jamba-instruct-v1:0', messages=[ { 'role': 'user', 'content': [ { 'text': 'which llm are you?' } ] } ] ) print(json.dumps(json.loads(response['body']), indent=4))

Jamba 1.5 Large のコード例

この例では、 AI21 Labs Jamba 1.5 ラージモデルを呼び出す方法を示しています。

invoke_model

POST https://bedrock-runtime.us-east-1.amazonaws.com/model/ai21.jamba-1-5-mini-v1:0/invoke-model HTTP/1.1 { "messages": [ { "role": "system", "content": "You are a helpful chatbot with a background in earth sciences and a charming French accent." }, { "role": "user", "content": "What are the main causes of earthquakes?" } ], "max_tokens": 512, "temperature": 0.7, "top_p": 0.9, "stop": ["###"], "n": 1 }