阿里出手了:Spring AI Alibaba正式版發(fā)布!
Spring AI Alibaba 是基于 Spring AI 構(gòu)建的,專門針對阿里云生態(tài)(如通義千問、OSS 等)進行深度適配和功能增強。
Spring AI Alibaba 提供高層次的 AI API 抽象與云原生基礎(chǔ)設(shè)施集成方案,幫助開發(fā)者快速構(gòu)建 AI 應(yīng)用。
主要功能
Spring AI Alibaba 提供的主要功能如下:
- 開發(fā)復(fù)雜 AI 應(yīng)用的高階抽象 Fluent API — ChatClient。
- 提供多種大模型服務(wù)對接能力,包括主流開源與阿里云通義大模型服務(wù)(百煉)等。
- 支持的模型類型包括聊天、文生圖、音頻轉(zhuǎn)錄、文生語音等。
- 支持同步和流式 API,在保持應(yīng)用層 API 不變的情況下支持靈活切換底層模型服務(wù),支持特定模型的定制化能力(參數(shù)傳遞)。
- 支持 Structured Output,即將 AI 模型輸出映射到 POJOs。
- 支持矢量數(shù)據(jù)庫存儲與檢索。
- 支持函數(shù)調(diào)用 Function Calling。
- 支持構(gòu)建 AI Agent 所需要的工具調(diào)用和對話內(nèi)存記憶能力。
- 支持 RAG 開發(fā)模式,包括離線文檔處理如 DocumentReader、Splitter、Embedding、VectorStore 等,支持 Retrieve 檢索等。
- 支持 MCP 調(diào)用。
正式版發(fā)布
Spring AI Alibaba 在前段時間也發(fā)布了第一個 GA(General Availability,正式發(fā)布版) 版 1.0.0.2,這是第一個 GA 版本!
“Spring AI Alibaba 支持 ChatBot、Workflow 和 Multi-agent(多智能體)應(yīng)用程序的開發(fā)。
主要特點
- 全面框架集成:無縫連接阿里巴巴服務(wù),包括百聯(lián)的 Dashscope,支持 Qwen 和 Deepseek 等各種主流 AI 模型。
- 多智能體框架:基于圖的多代理框架:受 Langgraph 的啟發(fā),Spring AI Alibaba Graph 可以輕松構(gòu)建工作流和多代理應(yīng)用程序。
- 企業(yè)級 AI 代理解決方案
- Nacos MCP 注冊表。
- 分布式 MCP 發(fā)現(xiàn)和負載均衡。
- 動態(tài) API 到 MCP 代理。
- NL2SQL 用于將自然語言查詢轉(zhuǎn)換為 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.設(shè)置配置文件 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 流式調(diào)用??梢允勾竽P偷妮敵鲂畔崿F(xiàn)打字機效果。
* @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());
}
至此,已經(jīng)完成了 DashScope 的基本接入?,F(xiàn)在您已經(jīng)可以和 DashScope 模型對話了。
官方案例
官方社區(qū)開發(fā)了一個 Playground 示例,其中包括基于 Spring AI Alibaba 的完整前端 UI 和后端。Playground 允許用戶體驗所有核心框架功能,例如聊天、可觀察性、多輪對話、圖像生成、多模態(tài)、工具調(diào)用、MCP 和 RAG,體驗了一下它的文生圖還不錯,如下圖所示:
項目地址:https://github.com/springaialibaba/spring-ai-alibaba-examples/tree/main/spring-ai-alibaba-playground
小結(jié)
AI 已經(jīng)不再是選擇題,而是生死題的今天,早早行動起來,擁抱 AI、享受 AI 賦予這個時代的紅利,才是事業(yè)穩(wěn)定和成功的關(guān)鍵,所以一起搞起來吧~