阿里出手了:Spring AI Alibaba正式版發布!
Spring AI Alibaba 是基于 Spring AI 構建的,專門針對阿里云生態(如通義千問、OSS 等)進行深度適配和功能增強。
Spring AI Alibaba 提供高層次的 AI API 抽象與云原生基礎設施集成方案,幫助開發者快速構建 AI 應用。
主要功能
Spring AI Alibaba 提供的主要功能如下:
- 開發復雜 AI 應用的高階抽象 Fluent API — ChatClient。
- 提供多種大模型服務對接能力,包括主流開源與阿里云通義大模型服務(百煉)等。
- 支持的模型類型包括聊天、文生圖、音頻轉錄、文生語音等。
- 支持同步和流式 API,在保持應用層 API 不變的情況下支持靈活切換底層模型服務,支持特定模型的定制化能力(參數傳遞)。
- 支持 Structured Output,即將 AI 模型輸出映射到 POJOs。
- 支持矢量數據庫存儲與檢索。
- 支持函數調用 Function Calling。
- 支持構建 AI Agent 所需要的工具調用和對話內存記憶能力。
- 支持 RAG 開發模式,包括離線文檔處理如 DocumentReader、Splitter、Embedding、VectorStore 等,支持 Retrieve 檢索等。
- 支持 MCP 調用。
正式版發布
Spring AI Alibaba 在前段時間也發布了第一個 GA(General Availability,正式發布版) 版 1.0.0.2,這是第一個 GA 版本!
“Spring AI Alibaba 支持 ChatBot、Workflow 和 Multi-agent(多智能體)應用程序的開發。
主要特點
- 全面框架集成:無縫連接阿里巴巴服務,包括百聯的 Dashscope,支持 Qwen 和 Deepseek 等各種主流 AI 模型。
- 多智能體框架:基于圖的多代理框架:受 Langgraph 的啟發,Spring AI Alibaba Graph 可以輕松構建工作流和多代理應用程序。
- 企業級 AI 代理解決方案
- Nacos MCP 注冊表。
- 分布式 MCP 發現和負載均衡。
- 動態 API 到 MCP 代理。
- NL2SQL 用于將自然語言查詢轉換為 SQL 語句。
- 可觀察性。
快速開始
1.引入 spring-ai-alibaba-starter 依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.3.4</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0.2</version>
</dependency>
2.設置配置文件 application.yml
spring:
ai:
dashscope:
api-key: ${AI_DASHSCOPE_API_KEY}
3.注入 ChatModel
private final ChatModel dashScopeChatModel;
public DashScopeChatModelController(ChatModel chatModel) {
this.dashScopeChatModel = chatModel;
}
4.編寫控制器
@GetMapping("/simple/chat")
public String simpleChat() {
return dashScopeChatModel.call(new Prompt(DEFAULT_PROMPT)).getResult().getOutput().getContent();
}
/**
* Stream 流式調用。可以使大模型的輸出信息實現打字機效果。
* @return Flux<String> types.
*/
@GetMapping("/stream/chat")
public Flux<String> streamChat(HttpServletResponse response) {
// 避免返回亂碼
response.setCharacterEncoding("UTF-8");
Flux<ChatResponse> stream = dashScopeChatModel.stream(new Prompt(DEFAULT_PROMPT));
return stream.map(resp -> resp.getResult().getOutput().getContent());
}
至此,已經完成了 DashScope 的基本接入。現在您已經可以和 DashScope 模型對話了。
官方案例
官方社區開發了一個 Playground 示例,其中包括基于 Spring AI Alibaba 的完整前端 UI 和后端。Playground 允許用戶體驗所有核心框架功能,例如聊天、可觀察性、多輪對話、圖像生成、多模態、工具調用、MCP 和 RAG,體驗了一下它的文生圖還不錯,如下圖所示:
項目地址:https://github.com/springaialibaba/spring-ai-alibaba-examples/tree/main/spring-ai-alibaba-playground
小結
AI 已經不再是選擇題,而是生死題的今天,早早行動起來,擁抱 AI、享受 AI 賦予這個時代的紅利,才是事業穩定和成功的關鍵,所以一起搞起來吧~