ThomasVitale/llm-apps-java-spring-ai
Samples showing how to build Java applications powered by Generative AI and LLMs using Spring AI and Spring Boot.
解決する課題
このリポジトリは、Java 開発者が Spring AI フレームワークを使って生成 AI アプリケーションを構築するための包括的なサンプルアプリケーションと実装パターンを提供します。AI の概念と実際の Java 実装のギャップを埋め、LLM、ベクトルデータベース、マルチモーダル機能をエンタープライズ Java アプリに統合する具体例を示します。
仕組み
プロジェクトは Spring AI で実装されたユースケースとパターンのコレクションとして構成されています。OpenAI、Mistral AI、Ollama などのさまざまなモデルプロバイダーや、PGVector などのベクトルストレージツールとの統合例を示します。サンプルはデータ取り込み(PDF、JSON、Markdown の読み取り)やドキュメント変換(分割とメタデータ付加)から、シーケンシャル、ブランチング、条件付き RAG など高度な RAG(Retrieval Augmented Generation)フローまで、AI アプリケーションのライフサイクル全体をカバーしています。
対象者
Spring AI を使って AI を組み込んだアプリケーションを構築したい Java 開発者やソフトウェアアーキテクト。特に、RAG、ツール呼び出し、構造化出力といった一般的な AI パターンの実用的で実行可能なサンプルを求めている方に最適です。
ハイライト
- 多様なモデルサポート:OpenAI、Mistral AI、Ollama 経由のローカル LLM と統合。
- 高度な RAG パターン:naive、advanced、sequential、branching、conditional の RAG フロー実装。
- 包括的ツールチェーン:構造化データ抽出、テキスト分類、マルチモーダルプロンプトの例。
- エンタープライズ向けパターン:チャットメモリ(JDBC、ベクトルストア、Spring Security)と入出力ガードレールの実装。
- データ取り込みパイプライン:PDF、JSON、Markdown、Tika など様々なフォーマットに対応した組み込みドキュメントリーダーと、チャンク化・メタデータ付加のためのドキュメントトランスフォーマー。