Meta Llama モデル - Amazon Bedrock

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

Meta Llama モデル

このセクションでは、Meta Llama モデルのリクエストパラメータとレスポンスフィールドについて説明します。この情報を使用して、InvokeModel および InvokeModelWithResponseStream (ストリーミング) オペレーションで、Meta Llama モデルに推論呼び出しを実行します。このセクションでは、Meta Llama モデルを呼び出す方法を示す Python コード例も含まれています。推論オペレーションでモデルを使用するには、そのモデルのモデル ID が必要です。モデル ID を取得するには、「Amazon Bedrock でサポートされている基盤モデル」を参照してください。モデルによっては、Converse API でも動作します。Converse API が特定の Meta Llama モデルをサポートしているかどうかを確認するには、「サポートされているモデルとモデルの機能」を参照してください。コード例については、「AWS SDKsコード例」を参照してください。

Amazon Bedrock の基盤モデルは、モデルごとに異なる入出力モダリティをサポートしています。Meta Llama モデルがサポートするモダリティを確認するには、「Amazon Bedrock でサポートされている基盤モデル」を参照してください。Meta Llama モデルがサポートする Amazon Bedrock 機能を確認するには、「Amazon Bedrock でサポートされている基盤モデル」を参照してください。Meta Llama モデルが使用可能な AWS リージョンを確認するには、「Amazon Bedrock でサポートされている基盤モデル」を参照してください。

Meta Llama モデルで推論呼び出しを行う場合は、モデルのプロンプトを含めます。Amazon Bedrock がサポートするモデルのプロンプト作成に関する一般情報については、「プロンプトエンジニアリングの概念」を参照してください。Meta Llama 固有のプロンプト方法については、「MetaLlama プロンプトエンジニアリングガイド」を参照してください。

注記

Llama 3.2 Instruct モデルと Llama 3.3 Instruct モデルはジオフェンシングを使用します。つまり、これらのモデルは、リージョンテーブルにリストされているこれらのモデルで使用できる AWS リージョン外では使用できません。

このセクションでは、Meta から次のモデルを使用する方法について説明します。

  • Llama 3 Instruct

  • Llama 3.1 Instruct

  • Llama 3.2 Instruct

  • Llama 3.3 Instruct

  • Llama 4 Instruct

リクエストとレスポンス

リクエストボディは、InvokeModel または InvokeModelWithResponseStream へのリクエストの body フィールドに渡されます。

注記

InvokeModelWithResponseStream または ConverseStream (ストリーミング) オペレーションは、Llama 4 Instruct では使用できません。

Request

Llama 3 Instruct、Llama 3.1 Instruct、Llama 3.2 Instruct、Llama 4 Instruct モデルには、次の推論パラメータがあります。

{ "prompt": string, "temperature": float, "top_p": float, "max_gen_len": int }

注: Llama 3.2 以降のモデルは、リクエスト構造に images (文字列のリスト) を追加します。例:images: Optional[List[str]]

次の内容は必須パラメータです。

  • prompt – (必須) モデルに渡すプロンプト。最適な結果を得るには、次のテンプレートを使用して会話をフォーマットします。

    <|begin_of_text|><|start_header_id|>user<|end_header_id|> What can you help me with?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

    システムプロンプトを含むテンプレートの例

    以下は、システムプロンプトを含むプロンプトの例です。

    <|begin_of_text|><|start_header_id|>system<|end_header_id|> You are a helpful AI assistant for travel tips and recommendations<|eot_id|><|start_header_id|>user<|end_header_id|> What can you help me with?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

    マルチターンの会話の例

    以下は、マルチターンの会話のプロンプトの例です。

    <|begin_of_text|><|start_header_id|>user<|end_header_id|> What is the capital of France?<|eot_id|><|start_header_id|>assistant<|end_header_id|> The capital of France is Paris!<|eot_id|><|start_header_id|>user<|end_header_id|> What is the weather like in Paris?<|eot_id|><|start_header_id|>assistant<|end_header_id|>

    システムプロンプトを含むテンプレートの例

    詳細については、「MetaLlama 3」を参照してください。

オプションのパラメータを以下に示します。

  • temperature – 低い値を指定するとレスポンスのランダム性を減らすことができます。

    デフォルト値 最小値 最大値

    0.5

    0

    1

  • top_p – 低い値を指定すると、可能性の低い選択肢を無視します。0 または 1.0 に設定すると、このオプションは無効になります。

    デフォルト値 最小値 最大値

    0.9

    0

    1

  • max_gen_len – 生成されたレスポンスで使用するトークンの最大数を指定します。生成されたテキストの長さが max_gen_len を超えると、モデルはレスポンスを切り捨てます。

    デフォルト値 最小値 最大値

    512

    1

    2048

Response

Llama 3 Instruct モデルは、Text Completion 推論呼び出しに対して次のフィールドを返します。

{ "generation": "\n\n<response>", "prompt_token_count": int, "generation_token_count": int, "stop_reason" : string }

各フィールドの詳細は以下のとおりです。

  • generation – 生成されたテキスト。

  • prompt_token_count – プロンプト内のトークン数。

  • generation_token_count – 生成されたテキスト内のトークン数。

  • stop_reason – モデルがテキストの生成を停止した理由。可能な値は以下のとおりです。

    • 停止 - モデルは入力プロンプトのテキストの生成を終了しました。

    • 長さ - 生成されたテキストにおけるトークンの長さが InvokeModel (出力をストリーミングする場合は InvokeModelWithResponseStream) の呼び出しにおける max_gen_len の値を超えています。レスポンスは max_gen_len 個のトークンの長さに切り捨てられます。max_gen_len の値を大きくしてやり直すことを検討してください。

サンプルのコード

この例は、Llama 3 Instruct モデルを呼び出す方法を示しています。

# Use the native inference API to send a text message to Meta Llama 3. import boto3 import json from botocore.exceptions import ClientError # Create a Bedrock Runtime client in the AWS リージョン of your choice. client = boto3.client("bedrock-runtime", region_name="us-west-2") # Set the model ID, e.g., Llama 3 70b Instruct. model_id = "meta.llama3-70b-instruct-v1:0" # Define the prompt for the model. prompt = "Describe the purpose of a 'hello world' program in one line." # Embed the prompt in Llama 3's instruction format. formatted_prompt = f""" <|begin_of_text|><|start_header_id|>user<|end_header_id|> {prompt} <|eot_id|> <|start_header_id|>assistant<|end_header_id|> """ # Format the request payload using the model's native structure. native_request = { "prompt": formatted_prompt, "max_gen_len": 512, "temperature": 0.5, } # Convert the native request to JSON. request = json.dumps(native_request) try: # Invoke the model with the request. response = client.invoke_model(modelId=model_id, body=request) except (ClientError, Exception) as e: print(f"ERROR: Can't invoke '{model_id}'. Reason: {e}") exit(1) # Decode the response body. model_response = json.loads(response["body"].read()) # Extract and print the response text. response_text = model_response["generation"] print(response_text)

この例は、Llama 3 Instruct モデルを使用して生成長を制御する方法を示しています。詳細なレスポンスまたは概要を得るには、max_gen_len を調整し、プロンプトに特定の指示を含めます。