はじめに
OpenAIは、開発者が指定したJSONスキーマに確実に適合するモデル出力を実現する「Structured Outputs」(構造化出力)機能をAPIに導入しました。
以前からJSONで回答する機能は実装されていましたが、必ずしも指定した構造通りのデータが出力されるわけではなく私も例外処理に苦労していました。
今回のStructured Outputs機能は100%指定したスキーマで回答させることができるということで、OpenAIのモデルを使ったアプリケーション開発の信頼性と効率が大幅に向上すると思います。
Just a moment...
構造化出力の主な特徴
上記のURLにWebAPIやSDKでの使用例の記載があるので、参考にしてみてください。
- 開発者が指定したJSONスキーマに100%適合するモデル出力を保証
- 新モデル「gpt-4o-2024-08-06」は複雑なスキーマの理解が飛躍的に向上
- 関数呼び出しやレスポンス形式の指定など、柔軟な活用が可能
- PythonとNode.jsのSDKがネイティブでサポート
WebAPIでの呼び出し方法
WebAPIでStructured Outputs機能を使用する方法は2つです。1つはFuncion callingを使う方法。もう一つは新設されたresponse_formatオプションを使う方法です。
Function calling(該当部分抜粋)
…
"tools": [
{
"type": "function",
"function": {
"name": "query",
"description": "Execute a query.",
"strict": true,
"parameters": {
"type": "object",
"properties": {
"table_name": {
"type": "string",
"enum": ["orders"]
},
…
response_format(該当部分抜粋)
…
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "math_response",
"strict": true,
"schema": {
…
おわりに
OpenAIによる構造化出力機能の提供開始は、大規模言語モデルを活用したアプリケーション開発の効率化と信頼性向上に大きく貢献します。
ぜひ、APIドキュメントをチェックして、構造化出力機能を活用してみてください。
コメント