

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

# インポートしたモデルを呼び出す
<a name="invoke-imported-model"></a>

モデルのインポートジョブでは、[CreateModelImportJob](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_CreateModelImportJob.html) リクエストを送信した後、モデルがインポートされるまでに数分かかる場合があります。インポートジョブのステータスは、コンソールで確認するか、[GetModelImportJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelImportJob.html) オペレーションを呼び出してレスポンスの `Status`フィールドで確認できます。モデルのステータスが **Complete** の場合、インポートジョブは完了しています。

インポートしたモデルを Amazon Bedrock で利用できる状態になったら、オンデマンドスループットでそのモデルを使用できます。その場合は、[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) リクエストを送信して、モデルに対して推論呼び出しを行います。詳細については、「[InvokeModel で 1 つのプロンプトを送信する](inference-invoke.md)」を参照してください。

メッセージ形式を使用してインポートしたモデルとのインターフェイスを取るには、[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 を使用する場合](conversation-inference-call.md)」を参照してください。

**注記**  
Converse API は、Qwen2.5、Qwen2-VL, Qwen2.5-VL、および GPT-OSSモデルではサポートされていません。

## 拡張 API サポート: 複数の API 形式
<a name="enhanced-api-support"></a>

2025 年 11 月 17 日以降、Amazon Bedrock Custom Model Import は包括的な OpenAI 互換 API 形式をサポートし、カスタムモデルの統合とデプロイの方法を柔軟に実現します。2025 年 11 月 11 日以降にインポートされたすべてのモデルは、これらの拡張機能を自動的に活用でき、追加の設定は必要ありません。

カスタムモデルインポートが 3 つの API 形式をサポートするようになりました。
+ **BedrockCompletion (テキスト)** - 現在の Bedrock ワークフローと互換性があります
+ **OpenAICompletion (テキスト)** - OpenAI Completions スキーマの互換性
+ **OpenAIChatCompletion (テキストとイメージ)** - 会話型スキーマの完全互換性

これらの拡張機能には、JSON スキーマとパターンを適用するための構造化された出力、マルチイメージ処理によるビジョンのサポートの強化、モデル信頼度インサイトのログ確率、GPT-OSSモデルのツール呼び出し機能が含まれます。

API リファレンスドキュメントの詳細については、公式の OpenAI ドキュメントを参照してください。
+ 完了: [OpenAI Completions API](https://platform.openai.com/docs/api-reference/completions)
+ ChatCompletion: [OpenAI Chat API](https://platform.openai.com/docs/api-reference/chat)

### API 形式の例
<a name="api-format-examples"></a>

次の例は、インポートされたモデルでサポートされている 4 つの API 形式を使用する方法を示しています。

------
#### [ BedrockCompletion ]

**BedrockCompletion** 形式は現在の Bedrock ワークフローと互換性があり、テキストベースの推論リクエストをサポートしています。

リクエストの例:

```
import json
import boto3

client = boto3.client('bedrock-runtime', region_name='us-east-1')

payload = {
    "prompt": "How is the rainbow formed?",
    "max_gen_len": 100,
    "temperature": 0.5
}

response = client.invoke_model(
    modelId='your-model-arn',
    body=json.dumps(payload),
    accept='application/json',
    contentType='application/json'
)

response_body = json.loads(response['body'].read())
```

レスポンスの例:

```
{
    "generation": " – A scientific explanation\nA rainbow is a beautiful natural phenomenon that occurs when sunlight passes through water droplets in the air. It is formed through a process called refraction, which is the bending of light as it passes from one medium to another.\nHere's a step-by-step explanation of how a rainbow is formed:\n1. Sunlight enters the Earth's atmosphere: The first step in forming a rainbow is for sunlight to enter the Earth's atmosphere. This sunlight is made up of a spectrum of",
    "prompt_token_count": 7,
    "generation_token_count": 100,
    "stop_reason": "length",
    "logprobs": null
}
```

BedrockCompletion は`json_object`、 および `json_schema`タイプの `response_format`パラメータを使用した構造化出力をサポートします。

------
#### [ OpenAICompletion ]

**OpenAICompletion** 形式は、OpenAI Completions スキーマの互換性を提供します。この形式を使用するには、 の代わりに `max_tokens`パラメータを含めます`max_gen_len`。

リクエストの例:

```
import json
import boto3

client = boto3.client('bedrock-runtime', region_name='us-east-1')

payload = {
    "prompt": "How is the rainbow formed?",
    "max_tokens": 100,
    "temperature": 0.5
}

response = client.invoke_model(
    modelId='your-model-arn',
    body=json.dumps(payload),
    accept='application/json',
    contentType='application/json'
)

response_body = json.loads(response['body'].read())
```

レスポンスの例:

```
{
    "id": "cmpl-b09d5810bd64428f8a853be71c31f912",
    "object": "text_completion",
    "created": 1763166682,
    "choices": [
        {
            "index": 0,
            "text": " The formation of a rainbow is a complex process that involves the interaction of sunlight with water droplets in the air. Here's a simplified explanation: 1. Sunlight enters the Earth's atmosphere and is refracted, or bent, as it passes through the air. 2. When sunlight encounters a water droplet, such as a cloud, mist, or fog, it is refracted again and split into its individual colors, a process known as dispersion. 3. The refracted and",
            "finish_reason": "length"
        }
    ],
    "usage": {
        "prompt_tokens": 7,
        "total_tokens": 107,
        "completion_tokens": 100
    }
}
```

OpenAICompletion は、、`json`、`choice`、および `regex``structured_outputs`パラメータを使用した`grammar`制約を含む完全な構造化出力機能をサポートしています。

------
#### [ OpenAIChatCompletion ]

**OpenAIChatCompletion** 形式は、完全な会話型スキーマ互換性を提供し、テキスト入力と画像入力の両方をサポートします。

リクエストの例:

```
import json
import boto3

client = boto3.client('bedrock-runtime', region_name='us-east-1')

payload = {
    "messages": [
        {
            "role": "user",
            "content": "How is the rainbow formed?"
        }
    ],
    "max_tokens": 100,
    "temperature": 0.5
}

response = client.invoke_model(
    modelId='your-model-arn',
    body=json.dumps(payload),
    accept='application/json',
    contentType='application/json'
)

response_body = json.loads(response['body'].read())
```

レスポンスの例:

```
{
    "id": "chatcmpl-1d84ce1d3d61418e8c6d1973f87173db",
    "object": "chat.completion",
    "created": 1763166683,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "A rainbow is a beautiful natural phenomenon that occurs when sunlight passes through water droplets in the air. The process of forming a rainbow involves several steps:\n\n1. **Sunlight**: The first requirement for a rainbow is sunlight. The sun should be shining brightly, but not directly overhead.\n2. **Water droplets**: The second requirement is water droplets in the air..."
            },
            "finish_reason": "length"
        }
    ],
    "usage": {
        "prompt_tokens": 41,
        "completion_tokens": 100,
        "total_tokens": 141
    }
}
```

OpenAIChatCompletion は、 パラメータ`response_format`と `structured_outputs`パラメータの両方を使用した構造化出力をサポートします。ビジョン機能の場合は、base64 でエンコードされた画像データを使用して、コンテンツ配列に画像を含めます。

**注記**  
ChatCompletion 形式を使用するには、チャットテンプレートを の一部にする必要があります`tokenizer_config.json`。カスタムモデルインポートは、デフォルトのチャットテンプレートをリクエストに適用しません。

------

新しくインポートしたモデルに対して推論呼び出しを行うには、モデルの ARN が必要です。インポートジョブが正常に完了し、インポートしたモデルがアクティブになったら、そのモデルの ARN をコンソールで取得するか、または [ListImportedModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListImportedModels.html) リクエストを送信して取得できます。

`InvokeModel` または `InvokeModelWithStream` を使用してインポートしたモデルを呼び出す場合、リクエストが 5 分以内に処理されるか、`ModelNotReadyException` が発生する可能性があります。ModelNotReadyException を理解するには、次のセクションの ModelNotreadyException の処理手順に従ってください。

## よくある質問
<a name="api-format-faq"></a>

**Q: どの API 形式を使用する必要がありますか?**

A: さまざまな SDKs との互換性を最大限に高めるには、OpenAICompletion 形式または OpenAIChatCompletion 形式を使用することをお勧めします。これらは、さまざまなツールやライブラリで広くサポートされている OpenAI 互換スキーマを提供するためです。

**Q: GPT-OSS on Amazon Bedrock Custom Model Import は Converse API をサポートしていますか?**

A: いいえ。 GPT-OSSベースのカスタムモデルのインポートモデルは、Converse API または ConverseStream API をサポートしていません。GPT-OSS ベースのカスタムモデルを使用する場合は、OpenAI 互換スキーマで [InvokeModel](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModel.html) API を使用する必要があります。

**Q: ツール呼び出しをサポートするモデルは何ですか?**

A: GPT-OSSベースのカスタムモデルは、ツール呼び出し機能をサポートしています。ツール呼び出しにより、複雑なワークフローの関数呼び出しが可能になります。

**Q: 2025 年 11 月 11 日より前にインポートされたモデルについてはどうですか?**

A: 2025 年 11 月 11 日より前にインポートされたモデルは、既存の API 形式と機能でそのまま動作し続けます。

**Q: OpenAI ベースのモデル`generation_config.json`の場合はどうなりますか?**

A: などの OpenAI ベースのモデルをインポートするときは、正しい`generation_config.json`ファイルを含めることが重要ですGPT-OSS。[https://huggingface.co/openai/gpt-oss-20b/blob/main/generation\$1config.json](https://huggingface.co/openai/gpt-oss-20b/blob/main/generation_config.json) で利用可能な更新された設定ファイル (2024 年 8 月 13 日更新) を使用する必要があります。更新された設定には 3 end-of-sequenceトークン IDs (`[200002, 199999, 200012]`) が含まれていますが、古いバージョンには 2 つのトークン () のみが含まれていました`[200002, 199999]`。古い`generation_config.json`ファイルを使用すると、モデルの呼び出し中にランタイムエラーが発生します。このファイルは適切なモデル動作に不可欠であり、OpenAI ベースのモデルインポートに含める必要があります。

## ModelNotReadyException の処理
<a name="handle-model-not-ready-exception"></a>

Amazon Bedrock Custom Model Import は、アクティブでないモデルを削除することで、ハードウェア使用率を最適化します。削除されたモデルを呼び出そうとすると、`ModelNotReadyException` が発生します。モデルが削除された後、そのモデルを初めて呼び出すと、Custom Model Import はモデルの復元を開始します。復元時間は、オンデマンドフリートのサイズとモデルサイズによって異なります。

`InvokeModel` または `InvokeModelWithStream` リクエストから `ModelNotReadyException` が返された場合は、例外を処理する手順に従ってください。

1. 

**再試行を設定する**

   デフォルトでは、リクエストはエクスポネンシャルバックオフで自動的に再試行されます。再試行回数の上限を設定することができます。

   次のサンプルコードは、再試行の設定方法を示しています。*\$1\$1region-name\$1*、*\$1\$1model-arn\$1*、*10* は、それぞれ実際のリージョン、モデル ARN、最大試行回数に置き換えてください。

   ```
   import json
   import boto3
   from botocore.config import Config
   
   
   REGION_NAME = ${region-name}
   MODEL_ID= '${model-arn}'
   
   config = Config(
       retries={
           'total_max_attempts': 10, //customizable
           'mode': 'standard'
       }
   )
   message = "Hello"
   
   
   session = boto3.session.Session()
   br_runtime = session.client(service_name = 'bedrock-runtime', 
                                    region_name=REGION_NAME, 
                                    config=config)
       
   try:
       invoke_response = br_runtime.invoke_model(modelId=MODEL_ID, 
                                               body=json.dumps({'prompt': message}), 
                                               accept="application/json", 
                                               contentType="application/json")
       invoke_response["body"] = json.loads(invoke_response["body"].read().decode("utf-8"))
       print(json.dumps(invoke_response, indent=4))
   except Exception as e:
       print(e)
       print(e.__repr__())
   ```

1. 

**再試行中にレスポンスコードをモニタリングする**

   再試行のたびに、モデルの復元プロセスが開始されます。復元時間は、オンデマンドフリートの可用性とモデルサイズによって異なります。復元プロセスの進行中にレスポンスコードをモニタリングしてください。

   再試行が一貫して失敗する場合は、次の手順に進みます。

1. 

**モデルが正常にインポートされたことを確認する**

   モデルが正常にインポートされたかどうかは、コンソールでインポートジョブのステータスを確認するか、[GetModelImportJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelImportJob.html) オペレーションを呼び出すことで確認できます。レスポンスの `Status` フィールドを確認します。モデルのステータスが **Complete** の場合、インポートジョブは成功しています。

1. 

**詳細な調査サポートについては、 にお問い合わせください。**

   でチケットを開く サポート詳細については、[「サポートケースの作成](https://docs.aws.amazon.com//awssupport/latest/user/case-management.html)」を参照してください。

   サポートチケットにはモデル ID やタイムスタンプなどの関連する詳細を含めます。