構造化出力の作成
- Anthropic Messages API の 構造化出力(Structured Outputs)エンドポイント
output_formatでjson_schemaを指定し、モデルが schema に準拠した JSON を返すよう制約- リクエストヘッダー
anthropic-beta: structured-outputs-2025-11-13でこの機能を有効化 - 公式ドキュメント: Structured Outputs
Authorizations
Request Body
使用するモデルの ID。チャット API で利用可能なモデルはモデルエンドポイント互換性表を参照してください。
これまでの会話を構成するメッセージのリスト。Python コード例。
0 から 2 の間のサンプリング温度。高い値(例: 0.8)は出力をよりランダムに、低い値(例: 0.2)はより集中的で決定的にします。通常は top_p またはこちらのどちらか一方のみ変更することを推奨します。
温度に代わる核サンプリング。モデルは top_p の確率質量内のトークンを考慮します。0.1 は上位 10% の確率質量のみを意味します。通常は temperature またはこちらのどちらか一方のみ変更することを推奨します。
デフォルト 1
各入力メッセージに対して生成するチャット補完の選択肢数。
デフォルト false。設定すると ChatGPT と同様に部分メッセージの差分が SSE で送信され、data: [DONE] でストリームが終了します。Python コード例。
デフォルト null。API がこれ以上トークンを生成しない最大 4 シーケンス。
デフォルト inf
チャット補完で生成する最大トークン数。
入力トークンと生成トークンの合計長はモデルのコンテキスト長に制限されます。トークン数を数える Python コード例。
-2.0 から 2.0 の数値。正の値はこれまでに出現したかどうかに基づき新しいトークンをペナルティし、新しい話題に触れる可能性を高めます。頻度・存在ペナルティの詳細
デフォルト 0。-2.0 から 2.0 の数値。正の値はテキスト内の出現頻度に基づき新しいトークンをペナルティし、繰り返しを減らします。頻度・存在ペナルティの詳細。
指定トークンが補完に出現する確率を変更します。
トークナイザーのトークン ID を -100 から 100 のバイアス値にマッピングする JSON オブジェクトを受け付けます。サンプリング前に logit に加算され、効果はモデルにより異なります。-1 から 1 は選択確率を下げたり上げたり、-100 や 100 は無効化または排他的選択を意味します。
エンドユーザーを表す一意の識別子。OpenAI の監視・不正検出に役立ちます。詳細
モデルが出力しなければならない形式を指定するオブジェクト。{ "type": "json_object" } で JSON モードを有効にし、有効な JSON メッセージを保証します。重要: JSON モードではシステムまたはユーザーメッセージで JSON 生成を指示する必要があります。そうしないとトークン上限まで空白が続くことがあります。finish_reason="length" の場合、max_tokens またはコンテキスト長超過で内容が切り詰められることがあります。
ベータ機能。指定すると同じシードとパラメータの繰り返しリクエストで同じ結果を返すよう決定的サンプリングを試みます。保証はされません。system_fingerprint レスポンスパラメータでバックエンド変更を監視してください。
モデルが呼び出せるツールのリスト。現在は関数のみ。モデルが JSON 入力を生成できる関数を提供します。
モデルが呼び出す関数(あれば)を制御。none は関数呼び出しなしでメッセージのみ。auto はメッセージと関数の選択。{"type": "function", "function": {"name": "my_function"}} で関数を強制。関数がなければデフォルト none、あれば auto。
構造化出力の設定。type が json_schema のとき schema で返却 JSON を制約。