構造化出力用 JSON Schema ジェネレーター
サンプルJSONを貼り付けるとJSON Schemaが生成され、モデルにまさにその形を返させるAPIリクエストをコピーできます。すべてブラウザ内で動作します。
すべてのプロパティがrequiredになり、additionalPropertiesがfalseになり、一部の要素に欠けているフィールドはnullableになります。厳密な構造化出力ではこれが求められます。
JSONはこのブラウザ内で処理され、一切アップロードされません。
リクエスト設定(モデル、プロンプト)
例として使うモデルです。json_schemaのサポートはモデルによって異なるため、利用する前にモデルページで確認してください。
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "response",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"age": {
"type": "integer"
},
"email": {
"type": "string",
"format": "email"
},
"joined": {
"type": "string",
"format": "date-time"
},
"skills": {
"type": "array",
"items": {
"type": "string"
}
},
"address": {
"type": "object",
"properties": {
"city": {
"type": "string"
},
"zip": {
"type": "string"
}
},
"required": [
"city",
"zip"
],
"additionalProperties": false
}
},
"required": [
"name",
"age",
"email",
"joined",
"skills",
"address"
],
"additionalProperties": false
}HiAPIで3ステップで実行
構造化出力のためのスキーマの生成方法
- 01 サンプルJSONを貼り付け
欲しい出力の実例を、代表的な値で用意してください。配列に複数の項目を含めると、オプションのフィールドが検出されます。
- 02 スキーマを確認
型とフォーマットを確認し、名前を調整します。ストリクトモードではすべてのフィールドが必須になり、厳密な構造化出力が要求する形になります。
- 03 API呼び出しをコピー
cURL、Python、Node.jsから選び、キーを追加して実行します。結果は choices[0].message.content 内のJSON文字列です。
JSON Schema ジェネレーター FAQ
私のJSONはどこかにアップロードされますか?
いいえ。スキーマとコードはすべてブラウザ内で生成されます。HiAPIや他のサーバーには何も送信されません。
ストリクトモードでは何が変わりますか?
すべてのプロパティをrequiredに設定し、additionalPropertiesをfalseにし、一部の配列要素に欠けているフィールドをnullable型に変換します。厳密な構造化出力にはこれらすべてが必要です。
すべてのモデルがjson_schemaに対応していますか?
いいえ。対応状況はモデルによって異なります。例では response_format.type を json_schema に設定した kimi-k3 を使っています。各モデルが何を受け付けるかはモデルページで確認してください。
1つの例からスキーマはどう推論されるのですか?
型は値から決まり、整数と小数は区別され、配列は項目間でマージされ、すべてのサンプルが一致するときに文字列フォーマットが追加されます。1つの例ではenumや値の上限は分からないので、手動で編集してください。
構造化結果はレスポンスのどこにありますか?
choices[0].message.content にJSON文字列として入っています。パースして、アプリケーション内で業務フィールドをバリデーションしてください。