このプレゼンテーションは「SpringAIを知っている?」というテーマで、Spring AIの概要、利用する利点、不足点、そしてまとめについて解説しています。
Spring AIとは何か: Spring Bootなどを管理しているSpringフレームワークの一つであり、各種AIサービスのAPIとの繋ぎこみを提供するライブラリです. 主要なAIサービスとして、OpenAI (Azure経由も含む) やAnthropic (AWS Bedrock経由も含む) などが挙げられています.
Spring AIを使う利点:
•既存のJavaアプリケーションに組み込める. これにより、既存のJavaアプリケーションがデータベースやAIサービスと連携する際の仕組みを単純化できます. また、既存サービスの持つリソースを Spring AI 経由で利用することも可能です.
•アプリケーションの動きの変化を容易にできる. プロンプトを外部から入力できるようにすることで、アプリケーションの処理内容を変更する際にプログラム自体の変更を減らすことができます.
•GitHubの調査「Octoverse 2024」によると、生成AI関連プロジェクトで最も使われている言語はPythonであり、JavaScriptを抜いて1位になっています. これは、AI分野におけるPythonの強みを示唆しています.
Spring AIの不足点:
•APIの全てに対応しているわけではない. 例えば、Spring AI (OpenAI) は Chat、Embedding、Image、Audio、Moderation などのAPIに対応していますが、fine-tuning、Assistants API、Batch API などには対応していません.
まとめ:
•Spring AI はJavaアプリケーションにAI機能を組み込むための選択肢の一つとして考えられます.
•Pythonなどに比べてJavaの参考コードが少ないため、車輪の再発明を回避できる可能性があります.
•まだライブラリとしての歴史が浅いです.
•複数のAIサービスに対応できる利点がありますが、サービスの詳細な部分まではまだ対応していません.
•試験的に作成された機能は今後公開予定です.
•AIとの対話、翻訳、分析などの応用が考えられます.