[改訂版2023-11-27] Spring Boot 3.xを利用したRESTful Web Servicesの開発
このレッスンは、Spring Bootを使用してRESTful Web Servicesアプリケーションを開発するプロセスについて学ぶことで、REST APIの設計に必要な基本的な知識を学ぶことができます。


[アップデート] Section 4に「Jev — 型で決める」補足講義(約1時間)が追加されました
こんにちは。Spring開発者向けの「実践LLMサービス開発(Part 1)」講義に、新しい補足講義を追加しました。最近公開されたTypeSafe AIの決定モデルJevをSpring Bootアプリケーションに連携する内容で、約1時間の講義です。
なぜ追加したのか
Section 4では、entity()を使ってLLMの応答をJavaオブジェクトとして受け取る方法と、モデルがJSONをコードフェンスで囲むことでパースに失敗する実務上の落とし穴を扱いました。プロンプトで依頼するにしても、entity()で自動化するにしても、結局のところLLMに形式を"お願い"する方式であるという限界は残ります。
Jevは異なるアプローチを取ります。文章を書くのではなく、あらかじめ定められた選択肢の中から答えを選び、確率とともに返します。つまり、形式が構造的に保証されるということです。同じ入力を2つの方式で処理してみると、「構造化された出力」を設計する際に何を考慮すべきかが、より明確になります。そのため、Section 4の延長線上にある内容としてまとめました。
何を学びますか
JevとSystem Oneモデルの概念:テキストではなく「型が定められた決定」を返すことの意味
LLMとJevの違い:記述式回答 vs 選択式回答、それぞれが得意なことと苦手なこと
3つの質問タイプ(choice・score・noul)と
/v1/systemoneリクエストの構造Springから呼び出す:
RestClientでJev APIを呼び出し、Java enumで選択肢を作成してレスポンスを型安全に変換する比較デモ:同じ映画レビューを
entity()とJevでそれぞれ分析し、速度、形式エラー、確信度、一貫性を比較する
併せて更新された資料
セクション4のサンプルコード(ch4):レビュー分析API 2種(
/api/movies/review/llm、/api/movies/review/jev)とJevClientを追加補足講義スライドと教材
比較テストスクリプト:macOS用
review-compare.sh、Windows用review-compare.ps1
あらかじめ知っておいていただきたいこと
JevはSpring AIの機能ではなく、TypeSafe AIが提供する別個の外部サービスです。講義でもSpring AIの
ChatClientではなく、RestClientで直接呼び出します。Jevは現在アーリーアクセス段階のため、APIキーの発行に時間がかかる場合があります。サンプルコードでは基本的にJev機能が無効になっているため(
jev.enabled=false)、キーがなくても従来の演習はそのまま進められます。キーをお持ちでない方は、動画でのデモをご覧いただきながら、概念とコードを中心に学習してください。リリース初期のサービスのため、今後価格やAPIが変更される可能性があります。変更があった場合は、新しいお知らせで改めてご案内いたします。
📌講義はこちら: https://inf.run/VVpnV
追加された講義を受講しながら疑問点や実習中に行き詰まった部分があれば、気軽にコメントでお知らせください。これからも実務ですぐに使える内容を継続的に充実させていきます。




