Spring AI

Spring AI プロジェクトは、不必要に複雑にすることなく、人工知能機能を組み込んだアプリケーションの開発を合理化することを目的としています。

このプロジェクトは、LangChain や LlamaIndex などの著名な Python プロジェクトからインスピレーションを得ていますが、Spring AI はそれらのプロジェクトを直接移植したものではありません。このプロジェクトは、生成 AI アプリケーションの次の波が Python 開発者だけのものではなく、多くのプログラミング言語にわたって普及するだろうとの信念のもと設立されました。

Spring AI の核となるのは、AI アプリケーション開発の基盤となる抽象化です。これらの抽象化には複数の実装があり、最小限のコード変更でコンポーネントを簡単に交換できます。

Spring AI は次の機能を提供します。

  • OpenAI、Microsoft、Amazon、Google、Hugging Face などのすべての主要なモデルプロバイダーをサポートします。

  • サポートされているモデル型は、チャット、テキストからイメージ、オーディオトランスクリプション、テキストから音声への変換などであり、今後さらに追加される予定です。

  • すべてのモデル向けの AI プロバイダー間でのポータブル API。同期 API オプションとストリーム API オプションの両方がサポートされています。モデル固有の機能にアクセスするためのドロップダウンもサポートされています。

  • AI モデル出力の POJO へのマッピング。

  • Apache Cassandra、Azure Vector Search、Chroma、Milvus、MongoDB Atlas、Neo4j、Oracle、PostgreSQL/PGVector、PineCone、Qdrant、Redis、Weaviate など、すべての主要なベクトルデータベースプロバイダーをサポートします。

  • ベクトルストアプロバイダー全体にわたるポータブルな API。これには、移植性もある新しい SQL のようなメタデータフィルター API が含まれます。

  • 関数呼び出し。

  • Spring Boot AI モデルとベクトルストアの自動構成とスターター。

  • データエンジニアリング用の ETL フレームワーク。

この機能セットを使用すると、「ドキュメントに対する Q&A」や「ドキュメントとのチャット」などの一般的な使用例を実装できます。

概念セクションでは、 AI の概念と Spring AI でのその表現の概要を説明します。

入門セクションでは、最初の AI アプリケーションを作成する方法を説明します。後続のセクションでは、コードに焦点を当てたアプローチで各コンポーネントと一般的な使用例を詳しく説明します。