Skip to content

Commit f459536

Browse files
authored
Merge branch 'main' into ci-feature-greeting-guideline
2 parents 8052a59 + 8a86957 commit f459536

File tree

159 files changed

+4096
-2593
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+4096
-2593
lines changed

README-ja.md

Lines changed: 0 additions & 145 deletions
This file was deleted.

README-zh.md

Lines changed: 91 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -6,147 +6,118 @@
66
[![Maven central](https://maven-badges.herokuapp.com/maven-central/com.alibaba.cloud.ai/spring-ai-alibaba/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.alibaba.cloud.ai/spring-ai-alibaba)
77
<img alt="gitleaks badge" src="https://img.shields.io/badge/protected%20by-gitleaks-blue">
88

9-
[Spring AI Alibaba](https://java2ai.com) 是一款 Java 语言实现的 AI 应用开发框架,旨在简化 Java AI 应用程序开发,让 Java
10-
开发者像使用 Spring 开发普通应用一样开发 AI 应用。Spring AI Alibaba 基于 Spring AI
11-
开源项目构建,默认提供阿里云基础模型服务、开源及商业生态组件的集成与最佳实践。
9+
[Spring AI Alibaba](https://java2ai.com) 是一款以 Spring AI 为基础,深度集成百炼平台,支持 ChatBot、工作流、多智能体应用开发模式的 AI 框架。
1210

13-
[English](./README.md) | [日本語](./README-ja.md)
11+
[English](./README.md)
1412

15-
> 由社区驱动的Java版本OpenManus 已经到达可用版本 ,可以访问 了解 [spring-ai-alibaba-jmanus](./spring-ai-alibaba-jmanus)
16-
> module.
13+
## 核心特性
14+
15+
![Spring AI Alibaba Architecture](./docs/imgs/spring-ai-alibaba-architecture.png)
16+
17+
Spring AI Alibaba 提供以下核心能力,帮助开发者快速构建自己的 Agent、Workflow 或 Multi-agent 应用:
18+
19+
1. **Graph 多智能体框架。** 基于 Spring AI Alibaba Graph 开发者可快速构建工作流、多智能体应用,无需关心流程编排、上下文记忆管理等底层实现。支持 Dify DSL 自动生成 Graph 代码,支持 Graph 可视化调试。
20+
2. **通过 AI 生态集成,解决企业智能体落地过程中关心的痛点问题。** Spring AI Alibaba 支持与百炼平台深度集成,提供模型接入、RAG知识库解决方案;支持 ARMS、Langfuse 等 AI 可观测产品无缝接入;支持企业级的 MCP 集成,包括 Nacos MCP Registry 分布式注册与发现、自动 Router 路由等。
21+
3. **探索具备自主规划能力的通用智能体产品与平台。** 社区发布了基于 Spring AI Alibaba 框架实现的 JManus 智能体,除了对标 Manus 等通用智能体的产品能力外。社区在积极探索自主规划在智能体开发方向的应用,为开发者提供从低代码、高代码到零代码构建智能体的更灵活选择,加速智能体在企业垂直业务方向的快速落地。
1722

1823
## 快速开始
1924

20-
请参考[快速开始](https://java2ai.com/docs/dev/get-started/) 了解如何使用 Spring AI Alibaba 快速开发生成式 AI 应用。
25+
在项目中加入 `spring-ai-alibaba-starter-dashscope` 依赖,快速开始智能体应用开发
26+
27+
```xml
28+
<dependencyManagement>
29+
<dependencies>
30+
<dependency>
31+
<groupId>com.alibaba.cloud.ai</groupId>
32+
<artifactId>spring-ai-alibaba-bom</artifactId>
33+
<version>1.0.0.2</version>
34+
<type>pom</type>
35+
<scope>import</scope>
36+
</dependency>
37+
</dependencies>
38+
</dependencyManagement>
39+
40+
<dependencies>
41+
<dependency>
42+
<groupId>com.alibaba.cloud.ai</groupId>
43+
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
44+
</dependency>
45+
</dependencies>
46+
```
2147

22-
总的来说,使用 Spring AI Alibaba 开发应用与使用普通 Spring Boot 没有什么区别,只需要增加 `spring-ai-alibaba-starter` 依赖,将
23-
`ChatClient` Bean 注入就可以实现与模型聊天了。
48+
请查看官网 [快速开始](https://java2ai.com/docs/1.0.0/get-started/) 了解详细示例讲解。更多 starter 包括 spring-ai-alibaba-graph-core、spring-ai-alibaba-starter-nl2sql、spring-ai-alibaba-starter-nacos-mcp-client 等用法,请参考官方网文档资料。
2449

25-
> 因为 Spring AI Alibaba 基于 Spring Boot 3.x 开发,因此对 JDK 要求 17 及以上版本。
50+
> 注意!
51+
> 1. 运行项目需要 JDK 17 及以上版本。
52+
> 2. 如果出现 spring-ai 相关依赖下载问题,请参考官网文档配置 spring-milestones Maven 仓库。
2653
27-
1. 在项目中加入 `spring-ai-alibaba-starter` 依赖。
54+
### 体验官方 Playground 示例
2855

29-
```xml
56+
Spring AI Alibaba 官方社区开发了一个**包含完整 `前端UI+后端实现` 的智能体 Playground 示例**,示例使用 Spring AI Alibaba 开发,可以体验聊天机器人、多轮对话、图片生成、多模态、工具调用、MCP集成、RAG知识库等所有框架核心能力。
3057

31-
<dependency>
32-
<groupId>com.alibaba.cloud.ai</groupId>
33-
<artifactId>spring-ai-alibaba-starter-dashscope</artifactId>
34-
<version>1.0.0</version>
35-
</dependency>
36-
```
37-
38-
> 注意:由于 spring-ai 相关依赖包还没有发布到中央仓库,如出现 spring-ai-core 等相关依赖解析问题,请在您项目的 pom.xml
39-
> 依赖中加入如下仓库配置。
40-
>
41-
> ```xml
42-
> <repositories>
43-
> <repository>
44-
> <id>spring-milestones</id>
45-
> <name>Spring Milestones</name>
46-
> <url>https://repo.spring.io/milestone</url>
47-
> <snapshots>
48-
> <enabled>false</enabled>
49-
> </snapshots>
50-
> </repository>
51-
> </repositories>
52-
> ```
53-
>
54-
> 补充:如果您的本地 maven settings.xml 中的 mirrorOf 标签配置了通配符 * ,请根据以下示例修改。
55-
>
56-
> ```xml
57-
> <mirror>
58-
> <id>xxxx</id>
59-
> <mirrorOf>*,!spring-milestones</mirrorOf>
60-
> <name>xxxx</name>
61-
> <url>xxxx</url>
62-
> </mirror>
63-
> ```
64-
65-
2. 注入 `ChatClient`。
66-
67-
```java
68-
69-
@RestController
70-
public class ChatController {
71-
72-
private final ChatClient chatClient;
73-
74-
public ChatController(ChatClient.Builder builder) {
75-
this.chatClient = builder.build();
76-
}
77-
78-
@GetMapping("/chat")
79-
public String chat(String input) {
80-
return this.chatClient.prompt()
81-
.user(input)
82-
.call()
83-
.content();
84-
}
85-
}
86-
```
87-
88-
## 示例
89-
90-
请在 [spring-ai-alibaba-examples](https://github.com/springaialibaba/spring-ai-alibaba-examples) 查看更多 Example 示例。
91-
92-
* Hello World
93-
* Chat Model
94-
* Multi Model
95-
* Function Calling
96-
* Structured Output
97-
* Prompt
98-
* RAG
99-
* Flight Booking Playground,一个贴近实际使用场景,综合运用了 prompt template、function calling、chat memory 和 rag
100-
等的智能机票助手应用。
101-
102-
## 特性
103-
104-
以下是 Spring AI Alibaba
105-
支持的核心能力,未来更多高级功能将以这些核心能力为基础。请参考官网文档 [Spring AI Alibaba 核心概念](https://java2ai.com/docs/dev/concepts/)
106-
以及 [AI 应用开发最佳实践](https://java2ai.com/docs/dev/practices/playground-flight-booking/)
107-
108-
* 开发复杂 AI 应用的高阶抽象 Fluent API -- ChatClient
109-
* 提供多种大模型服务对接能力,包括主流开源与阿里云通义大模型服务(百炼)等
110-
* 支持的模型类型包括聊天、文生图、音频转录、文生语音等
111-
* 支持同步和流式 API,在保持应用层 API 不变的情况下支持灵活切换底层模型服务,支持特定模型的定制化能力(参数传递)
112-
* 支持 Structured Output,即将 AI 模型输出映射到 POJOs
113-
* 支持矢量数据库存储与检索
114-
* 支持函数调用 Function Calling
115-
* 支持构建 AI Agent 所需要的工具调用和对话内存记忆能力
116-
* 支持 RAG 开发模式,包括离线文档处理如 DocumentReader、Splitter、Embedding、VectorStore 等,支持 Retrieve 检索
117-
118-
## Roadmap
119-
120-
Spring AI Alibaba 提供 AI 开源框架以及与阿里巴巴整体开源生态的深度适配,以帮助 Java 开发者快速构建原生 AI 应用架构。
121-
122-
* Prompt Template 管理
123-
* 事件驱动的 AI 应用程序
124-
* 更多 Vector Database 支持
125-
* 函数计算等部署模式
126-
* 可观测性建设
127-
* AI 代理节点开发能力,如绿网、限流、多模型切换等
128-
* 开发者工具集
129-
130-
![ai-native-architecture](./docs/imgs/spring-ai-alibaba-arch.png)
58+
整体运行后的界面效果如下所示:
13159

132-
## 贡献指南
60+
![playground](./docs/imgs/playground.png)
61+
62+
您可以在[本地部署 Playground 示例](https://github.com/springaialibaba/spring-ai-alibaba-examples/tree/main/spring-ai-alibaba-playground)并通过浏览器访问体验,或者拷贝源码并按照自己的业务需求调整,以便能更快速搭建一套自己的 AI 应用。
63+
64+
65+
学习更多 Spring AI Alibaba 框架用法,请参考我们官方源码示例:
66+
67+
[https://github.com/springaialibaba/spring-ai-alibaba-examples](https://github.com/springaialibaba/spring-ai-alibaba-examples)
13368

134-
请参考 [贡献指南](./CONTRIBUTING.md) 了解如何参与 Spring AI Alibaba 的开发。
69+
## Spring AI Alibaba Graph 多智能体框架
70+
Spring AI Alibaba Graph 让开发者可以实现工作流、多智能体应用编排,其核心设计理念参考自 Langgraph,社区在此基础上增加了大量预置 Node、简化了 State 定义过程,让开发者可以更好的与低代码平台集成、编写主流多智能体应用。
13571

136-
## 参考资料
72+
Spring AI Alibaba Graph 核心能力:
73+
74+
+ 支持工作流,内置工作流节点,与主流低代码平台对齐
75+
+ 支持 Multi-agent,内置 ReAct Agent、Supervisor 等模式
76+
+ 支持 Streaming
77+
+ Human-in-the-loop,通过人类确认节点,支持修改状态、恢复执行
78+
+ 支持记忆与持久存储
79+
+ 支持流程快照
80+
+ 支持嵌套分支、并行分支
81+
+ PlantUML、Mermaid 可视化导出
82+
83+
## 企业级 AI 生态集成
84+
在 Agent 生产落地过程中,用户需要解决智能体效果评估、MCP 工具集成、Prompt 管理、Token 上下文、可视化 Tracing等各种问题,Spring AI Alibaba 通过与 Nacos3、Higress AI 网关、阿里云 ARMS、阿里云向量检索数据库、百炼智能体平台等深度集成,提供全面的智能体企业级生产解决方案,加速智能体从 Demo 走向生产落地。
85+
86+
![ai-native-architecture](./docs/imgs/spring-ai-alibaba-ecosystem.png)
87+
88+
1. **企业级 MCP 部署与代理方案**。支持基于 Nacos MCP Registry 的分布式部署与负载均衡调用,通过 Spring AI Alibaba MCP Gateway、Higress 代理可实现零改造将 HTTP/Dubbo 服务发布为 MCP。
89+
2. **AI 网关集成提升模型调用稳定性与灵活性。** 使用 Higress 作为大模型代理,`spring-ai-starter-model-openai` 可通过 OpenAI 标准接口接入 Higress 代理服务。
90+
3. **降低企业数据整合成本,提升 AI 数据应用效果。**
91+
- **百炼 RAG 知识库。** 私有数据上传百炼平台清洗、切片、向量化管理,通过 Spring AI Alibaba 开发智能体应用并实现 RAG 检索。
92+
- **百炼析言 ChatBI,从自然语言到 SQL 自动生成。** Spring AI Alibaba Nl2sql 基于百炼析言 ChatBI 技术,可根据自然语言描述生成数据查询 SQL。
93+
4. **可观测与效果评估,加速智能体从 Demo 走向生产落地。** SDK 默认埋点,支持 OpenTelemetry 格式的 tracing 上报,支持接入 Langfuse、阿里云 ARMS 等平台。
94+
95+
## 通用智能体平台
96+
97+
### JManus 智能体平台
98+
Manus 的横空出世,让通用智能体自动规划、执行规划的能力给了人们无限想象空间,它非常擅长解决开放性问题,在日常生活、工作等场景都能有广泛的应用。在我们最开始发布 JManus 之时,给它的定位是一款完全以 Java 语言为核心、彻底开源的 Manus 复刻实现,基于 Spring AI Alibaba 实现的通用 AI Agent 产品,包含一个设计良好的前端 UI 交互界面。
99+
100+
随着对于通用智能体等方向的深度探索,开发者们开始认识到,基于当前以及未来相当长时间内的模型能力,完全依赖通用智能体的自动规划模式很难解决一些确定性极强的企业场景问题。企业级业务场景的典型特点是确定性,我们需要定制化的工具、子agent,需要稳定而又确定性强的规划与流程,为此,我们对于 JManus 通用智能体的终端产品定位也进行了调整,我们期望 JManus 能成为一个智能体开发平台,让用户能以最直观、低成本的方式构建自己垂直领域的智能体实现。
101+
102+
![jmanus](./docs/imgs/jmanus.png)
103+
104+
### DeepResearch 智能体
105+
Spring AI Alibaba DeepResearch 是一款基于 Spring AI Alibaba Graph 开发的 Deep Research 智能体, 包含完整的前端 Web UI(开发中) 和后端实现,DeepResearch 支持一系列精心设计的工具如 Web Search(网络查询)、Crawling(爬虫)、Python 脚本引擎等,可以借助大模型与工具能力,帮助用户完成各类深度调研报告。
106+
107+
![deepresearch](./docs/imgs/deepresearch.png)
108+
109+
## 贡献指南
137110

138-
* [Spring AI](https://docs.spring.io/spring-ai/reference/index.html)
139-
* [Spring AI Alibaba](https://java2ai.com/docs/dev/overview/)
140-
* [阿里云百炼大模型应用开发平台](https://help.aliyun.com/zh/model-studio/getting-started/what-is-model-studio/)
111+
请参考 [贡献指南](./CONTRIBUTING.md) 了解如何参与 Spring AI Alibaba 项目开发。
141112

142113
## 联系我们
143114

144-
* 钉钉群:请通过群号 `64485010179` 搜索入群
115+
* 钉钉群:请通过群号 `124010006813` 搜索入群
145116
* 微信公众号:请扫描一下二维码关注公众号
146117

147118
<img src="./docs/imgs/wechat-account.png" style="max-width:200px;"/>
148119

149-
## Credit
120+
## 致谢
150121

151122
本项目的一些想法和代码受到以下项目的启发或重写于以下项目,非常感谢那些创建和开源这些项目的开发者。
152123

0 commit comments

Comments
 (0)