OpenAIが最近導入した機能として、Structured Outputsがあります。この機能は、AIが生成する応答が事前に定義されたJSONスキーマに厳しく従うようにすることで、AIコンテンツの信頼性を高めます。Spring AI(バージョン1.0.0-SNAPSHOT)は、現在この機能を完全にサポートし、JavaデベロッパーがSpringフレームワークにシームレスに統合することができます。Structured Outputsは、AIアプリケーションで一般的に遭遇する問題、つまり型の安全性、明示的な拒否、簡略化されたプロンプトを解決します。これは、応答のフォーマットを一貫させることで実現されます。
この機能は、GPT-4oやGPT-4o-miniのようなモデルに対し、応答が提供されたJSONスキーマに従うようにします。デベロッパーは、Springアプリケーションでこの機能を簡単に設定することができます。プログラム的に、またはアプリケーションのプロパティを通じて。このように、OpenAiChatOptionsビルダーとBeanOutputConverterユーティリティーを使い、ドメインオブジェクトからJSONスキーマを自動的に生成し、構造化された応答をJavaインスタンスに変換することができます。
Spring AIの統合により、コードやプロパティファイルを通じて柔軟な構成が可能になり、異なるコンテキストで構造化された出力を実現することができます。加えて、OpenAIのモデルが安全上の理由でリクエストを拒否する場合がありますが、Spring AIはこれらの拒否を応答メタデータにマップし、デベロッパーがこれらのケースを処理するのを助けます。
Structured OutputsがSpring AIに統合されることで、型の安全性が高まり、ランタイムエラーが減り、デベロッパーが新しい機能の作成に集中できるようになります。将来的には、OpenAI固有の機能をSpring AIのモデル非依存的なユーティリティーに拡張することがあり、ツールの柔軟性と使いやすさをさらに向上させる可能性があります。この進化は、Springエコシステム内のAI駆動アプリケーションの信頼性と開発のしやすさを高めます。
spring.io
Spring AI Embraces OpenAI's Structured Outputs: Enhancing JSON Response Reliability
Create attached notes ...