{"id":15662,"date":"2026-11-01T23:26:13","date_gmt":"2026-11-01T16:26:13","guid":{"rendered":"https:\/\/blogdee.com\/?p=15662"},"modified":"2026-11-01T23:26:13","modified_gmt":"2026-11-01T16:26:13","slug":"openai-%e0%b9%80%e0%b8%9b%e0%b8%b4%e0%b8%94%e0%b8%95%e0%b8%b1%e0%b8%a7-structured-outputs-%e0%b9%83%e0%b8%99-api-%e0%b8%a3%e0%b8%ad%e0%b8%87%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%81%e0%b8%b2%e0%b8%a3","status":"publish","type":"post","link":"https:\/\/blogdee.com\/?p=15662","title":{"rendered":"OpenAI \u0e40\u0e1b\u0e34\u0e14\u0e15\u0e31\u0e27 Structured Outputs \u0e43\u0e19 API \u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32\u0e15\u0e32\u0e21\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07"},"content":{"rendered":"<p>\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 JSON Schema \u0e1c\u0e48\u0e32\u0e19\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c response_format \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49 json_schema \u0e0b\u0e36\u0e48\u0e07\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49 dynamic constrained decoding \u0e42\u0e14\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e27\u0e22\u0e32\u0e01\u0e23\u0e13\u0e4c (grammar) \u0e17\u0e35\u0e48\u0e41\u0e17\u0e19 Schema \u0e19\u0e31\u0e49\u0e19 \u0e41\u0e25\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25\u0e25\u0e48\u0e27\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e02\u0e2d\u0e07\u0e42\u0e21\u0e40\u0e14\u0e25<\/p>\n<p>\u0e43\u0e19\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e38\u0e48\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07 \u0e42\u0e21\u0e40\u0e14\u0e25\u0e08\u0e30\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e42\u0e17\u0e40\u0e04\u0e47\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e01\u0e0e\u0e43\u0e19\u0e44\u0e27\u0e22\u0e32\u0e01\u0e23\u0e13\u0e4c \u0e0b\u0e36\u0e48\u0e07\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e08\u0e32\u0e01\u0e27\u0e34\u0e18\u0e35\u0e2d\u0e37\u0e48\u0e19\u0e17\u0e35\u0e48\u0e2d\u0e32\u0e08\u0e43\u0e0a\u0e49 finite state machines (FSMs) \u0e2b\u0e23\u0e37\u0e2d regexes \u0e41\u0e15\u0e48\u0e42\u0e21\u0e40\u0e14\u0e25\u0e43\u0e2b\u0e21\u0e48 \u0e40\u0e0a\u0e48\u0e19 gpt-4o, gpt-4o-mini, \u0e41\u0e25\u0e30\u0e42\u0e21\u0e40\u0e14\u0e25\u0e17\u0e35\u0e48\u0e43\u0e2b\u0e21\u0e48\u0e01\u0e27\u0e48\u0e32 \u0e22\u0e31\u0e07\u0e04\u0e07\u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e41\u0e25\u0e30\u0e22\u0e31\u0e07\u0e40\u0e02\u0e49\u0e32\u0e01\u0e31\u0e19\u0e44\u0e14\u0e49\u0e01\u0e31\u0e1a Vision inputs \u0e14\u0e49\u0e27\u0e22<\/p>\n<p>\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e44\u0e1b\u0e43\u0e0a\u0e49 gpt-4o-2024-08-06 \u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e1b\u0e23\u0e30\u0e2b\u0e22\u0e31\u0e14\u0e04\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e08\u0e48\u0e32\u0e22\u0e44\u0e14\u0e49\u0e16\u0e36\u0e07 50% \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2d\u0e34\u0e19\u0e1e\u0e38\u0e15 \u0e41\u0e25\u0e30 33% \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e32\u0e15\u0e4c\u0e1e\u0e38\u0e15 \u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e31\u0e1a gpt-4o-2024-05-13<\/p>\n<p>\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e28\u0e36\u0e01\u0e29\u0e32\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e02\u0e2d\u0e07 OpenAI<\/p>\n<h3>\u0e28\u0e31\u0e1e\u0e17\u0e4c\u0e17\u0e35\u0e48\u0e04\u0e27\u0e23\u0e23\u0e39\u0e49<\/h3>\n<ul>\n<li>response_format &#8211; \u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e01\u0e32\u0e23\u0e15\u0e2d\u0e1a\u0e01\u0e25\u0e31\u0e1a\u0e02\u0e2d\u0e07\u0e42\u0e21\u0e40\u0e14\u0e25 \u0e40\u0e0a\u0e48\u0e19 \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e40\u0e1b\u0e47\u0e19 JSON<\/li>\n<li>json_schema &#8211; \u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e21\u0e32\u0e15\u0e23\u0e10\u0e32\u0e19\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e42\u0e21\u0e40\u0e14\u0e25\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19<\/li>\n<li>dynamic constrained decoding &#8211; \u0e01\u0e23\u0e30\u0e1a\u0e27\u0e19\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e42\u0e21\u0e40\u0e14\u0e25\u0e08\u0e30\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e41\u0e15\u0e48\u0e25\u0e30\u0e42\u0e17\u0e40\u0e04\u0e47\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e15\u0e32\u0e21\u0e01\u0e0e\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e41\u0e1a\u0e1a\u0e40\u0e23\u0e35\u0e22\u0e25\u0e44\u0e17\u0e21\u0e4c<\/li>\n<li>latency penalty &#8211; \u0e04\u0e27\u0e32\u0e21\u0e25\u0e48\u0e32\u0e0a\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e01\u0e34\u0e14\u0e02\u0e36\u0e49\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e04\u0e23\u0e31\u0e49\u0e07\u0e41\u0e23\u0e01 \u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e32\u0e23\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e25\u0e1c\u0e25 Schema \u0e25\u0e48\u0e27\u0e07\u0e2b\u0e19\u0e49\u0e32<\/li>\n<li>gaps between models &#8211; \u0e04\u0e27\u0e32\u0e21\u0e41\u0e15\u0e01\u0e15\u0e48\u0e32\u0e07\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e42\u0e21\u0e40\u0e14\u0e25 \u0e40\u0e0a\u0e48\u0e19 gpt-4o \u0e23\u0e2d\u0e07\u0e23\u0e31\u0e1a\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e17\u0e35\u0e48\u0e0b\u0e31\u0e1a\u0e0b\u0e49\u0e2d\u0e19\u0e01\u0e27\u0e48\u0e32 FSMs \u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b<\/li>\n<\/ul>\n<p>\u0e17\u0e35\u0e48\u0e21\u0e32: <a href=\"https:\/\/openai.com\/index\/introducing-structured-outputs-in-the-api\" target=\"_blank\" rel=\"noopener nofollow\">OpenAI<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenAI \u0e44\u0e14\u0e49\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e43\u0e2b\u0e21\u0e48\u0e43\u0e19\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c response_format \u0e17\u0e35\u0e48\u0e0a\u0e48\u0e27\u0e22\u0e43\u0e2b\u0e49\u0e19\u0e31\u0e01\u0e1e\u0e31\u0e12\u0e19\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38 JSON Schema \u0e1c\u0e48\u0e32\u0e19 json_schema \u0e44\u0e14\u0e49\u2026<\/p>\n","protected":false},"author":1,"featured_media":15661,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5105],"tags":[52,5819,88,170],"class_list":["post-15662","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-algorithms-math","tag-api","tag-json","tag-llm","tag-openai"],"_links":{"self":[{"href":"https:\/\/blogdee.com\/index.php?rest_route=\/wp\/v2\/posts\/15662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogdee.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogdee.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogdee.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogdee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=15662"}],"version-history":[{"count":0,"href":"https:\/\/blogdee.com\/index.php?rest_route=\/wp\/v2\/posts\/15662\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogdee.com\/index.php?rest_route=\/wp\/v2\/media\/15661"}],"wp:attachment":[{"href":"https:\/\/blogdee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=15662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogdee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=15662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogdee.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=15662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}