

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

# Anthropic Claude Messages API
<a name="model-parameters-anthropic-claude-messages"></a>

このセクションでは、Anthropic Claude Messages API を使用するための推論パラメータとコード例を示します。

**Topics**
+ [Anthropic Claude Messages API overview](#model-parameters-anthropic-claude-messages-overview)
+ [ツール使用](model-parameters-anthropic-claude-messages-tool-use.md)
+ [拡張思考](claude-messages-extended-thinking.md)
+ [アダプティブシンキング](claude-messages-adaptive-thinking.md)
+ [思考の暗号化](claude-messages-thinking-encryption.md)
+ [モデルバージョン間の思考の差異](claude-messages-thinking-differences.md)
+ [圧縮](claude-messages-compaction.md)
+ [モデルから検証済みの JSON 結果を取得する](claude-messages-structured-outputs.md)
+ [リクエストとレスポンス](model-parameters-anthropic-claude-messages-request-response.md)
+ [コードの例](api-inference-examples-claude-messages-code-examples.md)
+ [サポートされているモデル](claude-messages-supported-models.md)

## Anthropic Claude Messages API overview
<a name="model-parameters-anthropic-claude-messages-overview"></a>

Messages API を使用すると、チャットボットまたは仮想アシスタントアプリケーションを作成できます。API は、ユーザーと Anthropic Claude モデル (アシスタント) 間で交わされた会話を管理します。

**注記**  
このトピックでは、基本的な推論オペレーション ([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)) で Anthropic Claude Message API を使用する方法について説明します。ただし、Converse API を使用してアプリケーションにメッセージを実装することが推奨されます。Converse API は、メッセージをサポートするすべてのモデルで機能する、統一されたパラメータ一式を提供します。詳細については、「[Converse API を使用した推論](conversation-inference.md)」を参照してください。
制限は、`InvokeModel`、、`InvokeModelWithResponseStream``Converse`、および のオペレーションに適用されます`ConverseStream`。詳細については、[「API の制限](inference-api-restrictions.md)」を参照してください。

Anthropic は Claude モデルをトレーニングして、ユーザーとアシスタントの会話ターンを交互に操作します。新しいメッセージを作成するときは、メッセージパラメータを使用して以前の会話ターンを指定します。その後、モデルは会話で次の Message を生成します。

各入力メッセージは、ロールとコンテンツを含むオブジェクトである必要があります。1 つのユーザーロールメッセージを指定するか、複数のユーザーメッセージとアシスタントメッセージを含めることができます。

Claude からのレスポンスを事前入力する手法を使用している場合 (最後のアシスタントロール Message を使用して Claude のレスポンスの文頭を入力)、Claude は中断した場所から応答します。この方法では、Claude はアシスタントロールでレスポンスを返します。

最終メッセージがアシスタントロールを使用する場合、レスポンスの内容はメッセージの内容直後から継続されます。これを使用して、モデルのレスポンスの一部を制限できます。

単一のユーザーメッセージの例:

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

複数の会話ターンの例:

```
[
  {"role": "user", "content": "Hello there."},
  {"role": "assistant", "content": "Hi, I'm Claude. How can I help you?"},
  {"role": "user", "content": "Can you explain LLMs in plain English?"},
]
```

Claude から部分的に入力されたレスポンスの例:

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

各入力メッセージの内容は、単一の文字列またはコンテンツブロックの配列のいずれかで、各ブロックには特定の型があります。文字列の使用は、「text」型の 1 つのコンテンツブロックの配列に短縮されます。次の入力メッセージは同等です。

```
{"role": "user", "content": "Hello, Claude"}
```

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

Anthropic Claude モデルのプロンプトの作成については、「Anthropic Claudeドキュメント」の「[プロンプトの概要](https://docs.anthropic.com/claude/docs/intro-to-prompting)」を参照してください。Message API に移行する既存の [[テキスト完了]](model-parameters-anthropic-claude-text-completion.md) プロンプトがある場合は、「[Text Completions からの移行](https://docs.anthropic.com/claude/reference/migrating-from-text-completions-to-messages)」を参照してください。

**重要**  
Anthropic Claude 3.7 Sonnet モデルと Claude 4 モデルへの推論呼び出しのタイムアウト期間は 60 分です。デフォルトでは、 AWS SDK クライアントは 1 分後にタイムアウトします。 AWS SDK クライアントの読み取りタイムアウト期間を少なくとも 60 分に延長することをお勧めします。例えば、 AWS Python botocore SDK では、[botocore.config](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#) の `read_timeout` フィールドの値を少なくとも 3600 に変更します。

### システムプロンプト
<a name="model-parameters-anthropic-claude-messages-system-prompts"></a>

リクエストにシステムプロンプトを含めることもできます。システムプロンプトを使用すると、特定の目標やロールを指定するなど、Anthropic Claude に、コンテキストと手順を提供できます。次の例に示すように、`system` フィールドにシステムプロンプトを指定します。

```
"system": "You are Claude, an AI assistant created by Anthropic to be helpful,
                harmless, and honest. Your goal is to provide informative and substantive responses
                to queries while avoiding potential harms."
```

詳細については、「Anthropic ドキュメント」の「[システムプロンプト](https://docs.anthropic.com/en/docs/system-prompts)」を参照してください。

### マルチモーダルプロンプト
<a name="model-parameters-anthropic-claude-messages-multimodal-prompts"></a>

マルチモーダルプロンプトは、複数のモダリティ (画像とテキスト) を 1 つのプロンプトにまとめます。`content` 入力フィールドにモダリティを指定します。次の例は、Anthropic Claude が提供されたイメージのコンテンツを説明するように指示する方法を示しています。サンプルコードについては、「[マルチモーダルコードの例](api-inference-examples-claude-messages-code-examples.md#api-inference-examples-claude-multimodal-code-example)」を参照してください。

```
{
    "anthropic_version": "bedrock-2023-05-31", 
    "max_tokens": 1024,
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/jpeg",
                        "data": "iVBORw..."
                    }
                },
                {
                    "type": "text",
                    "text": "What's in these images?"
                }
            ]
        }
    ]
}
```

リクエストに含める各イメージは、トークンの使用量としてカウントされます。詳細については、「Anthropic ドキュメント」の「[イメージのコスト](https://docs.anthropic.com/claude/docs/vision#image-costs)」を参照してください。