Spring AI in Action 1章
1 Getting started with Spring AI
Spring AI を始める
・Spring AI の紹介
・Spring AI プロジェクトの初期化
・AI プロバイダーおよびモデルの選択
書籍より
Spring AI は、Spring および Spring Boot のためのフレームワーク拡張であり、エンタープライズ Java アプリケーションの事実上の標準フレームワークにおいて、生成 AI 機能の開発を可能にします。
この機能により、既存のアプリケーションに生成 AI の能力を取り入れることができ、Java 開発者は慣れ親しんだフレームワークとプログラミングモデルの中で生成 AI を扱えるようになります。Spring AI は本質的に、さまざまな AI プロバイダーと連携するためのクライアント抽象化です。
Spring AI
https://spring.io/projects/spring-ai
OpenAIサービスを利用して質問に答える、非常にシンプルな REST サービスの作成手順が記載されています。
多くの機能に関しては、以後の章に記載。
1.1.1 プロジェクトの初期化
1.1.2 プロンプトの送信
1.1.3 テストを書く
1.1.4 試してみる
spriong initializr
https://start.spring.io/
spriong initializr、この書籍での選択項目
・プロジェクトビルドには Groovy ベースの Gradle
・Spring Boot のバージョンは 3.5.5
・JAR ファイル形式でのパッケージング
・Java 24(ただし Java 17 以上であれば問題ありません)
・Spring Web(例:Spring MVC)および Spring AI の OpenAI スターター依存関係
(Spring Web の代わりに Spring Reactive Web 依存関係を選択しても構いません)
テスト時に使用しているのは、WireMock。
スケーラブルなAPIシミュレーションの業界標準です。
https://wiremock.org/
その後、
モデルの選択いついての説明
Ollama を使ってローカルでモデルの説明
が、記載されています。
Ollama
https://ollama.com/
最後に、書籍より、この本で体験することがまとめられています。
Spring AI の機能を概観する(本書の最後のページにたどり着くまでに、Spring AI を使って実現していくことになる内容です。)
パラメータ値やコンテキストを差し込めるプレースホルダーを持つプロンプトテンプレートを作成する機能が提供されています。
チャット履歴を簡単に管理し、プロンプト送信時のコンテキストとしてその履歴を提供できます。
検索拡張生成(retrieval-augmented generation: RAG)と呼ばれる手法を適用できます。
OpenAI、Mistral、Google の一部モデルが提供するツールと連携できます。
Spring AI がサポートする Model Context Protocol(MCP)を適用することで、関連するツール群を 1 つのモジュールとして扱うことも可能になります。
チャットメモリを適用することで、アプリケーションのユーザーは会話を継続できるようになります。
感情分析、コンテンツのモデレーション、文書の要約、テキストの分類など、テキストに関するさまざまな処理を行うことができます。
テキストから画像を生成したり、音声をテキストに書き起こしたりするなど、AI 対応アプリケーションをさらに魅力的にする多くの方法を支援してくれます。




