Spring AI Alibaba は、Java 開発者向けの AI アプリケーションフレームワークであり、Spring AI をベースに構築されており、Alibaba Cloud QWen LLM サービスおよびクラウドネイティブインフラストラクチャとのシームレスな統合を提供します。
Spring AI Alibaba を使用して生成的 AI を Spring Boot アプリケーションに迅速に追加する方法については、クイックスタート を参照してください。
全体として、Spring Boot アプリケーションをインテリジェントエージェントに変えるには、次の 2 つのステップを実行するだけです。
Spring AI Alibaba は Spring Boot 3.x をベースに開発されているため、JDK バージョン 17 以上が必要です。
- プロジェクトに
spring-ai-alibaba-starter
依存関係を追加します。
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0-M6.1</version>
</dependency>
注意: spring-ai 関連のパッケージはまだ中央リポジトリに公開されていないため、spring-ai-core などのアーティファクトを正常に解決するために、プロジェクトに次の Maven リポジトリを追加する必要があります。
<repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories>追記: ローカルの Maven settings.xml の mirrorOf タグがワイルドカード * で構成されている場合は、次の例に従って修正してください。
<mirror> <id>xxxx</id> <mirrorOf>*,!spring-milestones</mirrorOf> <name>xxxx</name> <url>xxxx</url> </mirror>
ChatClient
を注入します。
@RestController
public class ChatController {
private final ChatClient chatClient;
public ChatController(ChatClient.Builder builder) {
this.chatClient = builder.build();
}
@GetMapping("/chat")
public String chat(String input) {
return this.chatClient.prompt()
.user(input)
.call()
.content();
}
}
Spring AI Alibaba および Spring AI の使用例
Spring AI Alibaba は次の機能を提供します。これらの機能の使用方法の詳細については、ドキュメント を参照してください。
- Alibaba Cloud QWen モデルおよび Dashscope モデルサービスのサポート。
- 高レベルの AI エージェント抽象化をサポート -- ChatClient。
- チャット、テキストから画像、音声の文字起こし、テキストから音声など、さまざまなモデルタイプをサポート。
- 同期およびストリーム API オプションの両方をサポート。
- AI モデルの出力を POJO にマッピング。
- ベクターストアプロバイダー間でのポータブル API。
- 関数呼び出し。
- Spring Boot 自動構成およびスターター。
- RAG (Retrieval-Augmented Generation) サポート: DocumentReader、Splitter、Embedding、VectorStore、および Retriever。
- ChatMemory を使用した会話のサポート。
Spring AI Alibaba は、開発、評価からデプロイおよび可観測性まで、AI ネイティブ Java アプリケーションの構築の複雑さを軽減することを目指しています。そのために、オープンソースフレームワークとその周りのエコシステム統合の両方を提供します。以下は、近い将来にサポートする予定の機能です。
- プロンプトテンプレート管理
- イベント駆動型 AI アプリケーション
- より多くのベクターデータベースのサポート
- 関数デプロイメント
- 可観測性
- AI プロキシサポート: プロンプトフィルタリング、レート制限、複数モデルなど。
- 開発者ツール
Spring AI Alibaba の開発に参加する方法については、貢献ガイド を参照してください。
- Dingtalk グループ (钉钉群),
61290041831
を検索して参加してください。 - Wechat グループ (微信公众号), 下の QR コードをスキャンしてフォローしてください。
このプロジェクトのいくつかのアイデアとコードは、以下のプロジェクトからインスピレーションを受けたり、書き直されたりしています。これらのプロジェクトを作成し、オープンソース化してくれた方々に感謝します。
- Spring AI, Apache License 2.0 の下でライセンスされた、AI アプリケーションを開発するための Spring フレンドリーな API と抽象化。
- Langgraph, MIT ライセンスの下でライセンスされた、LLM を使用してステートフルなマルチアクターアプリケーションを構築するためのライブラリ。
- Langgraph4J, Java 風に移植された LangGraph の移植版。