SpringAI,LLM,MCP,Embedding
See the codeSpring AI Summary 是基于原生 Spring AI 框架的模块化示例工程集合,通过清晰的代码示例和详细文档,帮助开发者快速掌握 Spring AI 的核心功能。
Spring AI Summary 面向对 Spring AI 框架感兴趣的开发者,无论是初学者还是有经验的工程师,都可以通过本项目快速了解框架的核心功能,并将其应用到实际项目中。 通过 Spring AI Summary,你可以:
加入社区 🎯 扫码加群主微信(备注:Spring AI),一起探索 Spring AI 的无限可能!
如果你是第一次接触 Spring AI,建议先阅读 Spring AI 官方文档 以了解框架的基本概念和使用方法。然后可以通过本项目的各个模块进行实践,逐步深入理解框架的核心功能。
推荐学习顺序:
👇下面开启 Spring AI 之旅吧~
| 依赖项 | 版本/要求 | 说明 |
|---|---|---|
| SpringBoot | 3.3.6 | - |
| Spring AI | 1.0.0 | - |
| JDK | 21+ | - |
| Maven | 3.6+ | 强烈推荐使用 mvnd 代替 mvn |
| Docker | (用于运行 Milvus、Nacos 等) |
# 克隆项目到本地
git clone https://github.com/java-ai-tech/spring-ai-summary.git
# 进入项目并编译
cd spring-ai-summary && mvn clean compile -DskipTests
如果遇到 Maven 依赖下载慢的问题,可以尝试使用国内的 Maven 镜像源,如阿里云、清华大学等;运行过程中如果有其他任何问题,可以扫码加入上面的微信群进行咨询交流~~~
对于每个模块的 resource 文件夹下的 application.yml/application.properties 文件,根据你的需求配置相应的 API 密钥。如 spring-ai-chat-deepseek 模块:
# 示例:deepseek 模块配置
spring.ai.deepseek.api-key=${spring.ai.deepseek.api-key}
spring.ai.deepseek.base-url=https://api.deepseek.com
spring.ai.deepseek.chat.completions-path=/v1/chat/completions
spring.ai.deepseek.chat.options.model=deepseek-chat
将你的 spring.ai.deepseek.api-key 替换为实际的 API 密钥即可启动运行。关于如何申请 api key ,可以移步项目 Wiki 页面进行查看。
💡 安全提示:使用环境变量存储 API 密钥,避免代码泄露。申请密钥指南
完成上述步骤后,你可以选择运行不同的示例模块来体验 Spring AI 的功能。如启动运行 spring-ai-chat-deepseek 模块(具体端口可以根据你自己的配置而定):
2025-06-04T14:18:43.939+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] c.g.ai.chat.deepseek.DsChatApplication : Starting DsChatApplication using Java 21.0.2 with PID 88446 (/Users/glmapper/Documents/projects/glmapper/spring-ai-summary/spring-ai-chat/spring-ai-chat-deepseek/target/classes started by glmapper in /Users/glmapper/Documents/projects/glmapper/spring-ai-summary)
2025-06-04T14:18:43.941+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] c.g.ai.chat.deepseek.DsChatApplication : The following 1 profile is active: "deepseek"
2025-06-04T14:18:44.469+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8081 (http)
2025-06-04T14:18:44.475+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2025-06-04T14:18:44.476+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.33]
2025-06-04T14:18:44.501+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2025-06-04T14:18:44.502+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 533 ms
2025-06-04T14:18:44.962+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 14 endpoints beneath base path '/actuator'
2025-06-04T14:18:44.988+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8081 (http) with context path '/'
2025-06-04T14:18:44.997+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] c.g.ai.chat.deepseek.DsChatApplication : Started DsChatApplication in 1.215 seconds (process running for 1.637)
2025-06-04T14:18:45.175+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [on(2)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-06-04T14:18:45.175+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [on(2)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2025-06-04T14:18:45.176+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [on(2)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
如果出现上述类似的启动日志,那么恭喜你,启动成功啦 🎉🎉🎉🎉🎉....,你已经打开了 Spring AI 的大门,接下来就可以开始探索各种功能模块了;启动完成后,可以通过 cUrl、HTTPie 或 Postman 等工具进行测试。
curl localhost:8081/api/deepseek/chatWithMetric?userInput="你是谁?"
结果如下:
成功标志 🎉:看到类似响应即表示运行成功!

# completion tokens
http://localhost:8081/actuator/metrics/ai.completion.tokens
# prompt tokens
http://localhost:8081/actuator/metrics/ai.prompt.tokens
# total tokens
http://localhost:8081/actuator/metrics/ai.total.tokens
以 ai.completion.tokens 为例,结果如下:
{
"name": "ai.completion.tokens",
"measurements": [
{
"statistic": "COUNT",
"value": 34
}
],
"availableTags": []
}
关于其他模块的使用方法和配置,可以查看 Wiki 页面或各模块的 README.md 文件。
以下是一些推荐的学习资源:
官方也有一个学习资料汇总,但主要是汇总的国外的一些资料,所以本项目更聚焦在汇总了一些国内的学习资源,供大家参考。
大家如果有好的文章或资源,也欢迎提交 PR 或 Issue 进行补充和完善。下面开发和贡献指南。
首先,非常欢迎各位提交任何形式的贡献,包括但不限于代码、文档、测试、代码注释等等。但在提交贡献之前请遵循如下流程:
如下图所示, fork 仓库到你个人仓库

Clone 你个人仓库代码
# 在 GitHub 上 Fork 项目
# 克隆你的 Fork 仓库
git clone https://github.com/your-username/spring-ai-summary.git
cd spring-ai-summary
创建特性分支
# 创建并切换到新的特性分支
git checkout -b feature/your-feature-name
开发规范
提交代码
# 添加修改的文件
git add .
# 提交代码
git commit -m "feat: add new feature"
# 推送到你的 Fork 仓库
git push origin feature/your-feature-name
创建 Pull Request
API 密钥安全
Token 使用
本项目是一个完全开源项目,主要目的是汇聚更多优质的 Spring AI 相关的学习资源,当然相关学习资源主要来源于网络,如有侵权,请联系删除!!!;在此也对参与开源贡献和所有在技术社区分享技术的朋友们表示衷心的感谢!
Java
99.6%
SpringAI,LLM,MCP,Embedding
See the codeSpring AI Summary 是基于原生 Spring AI 框架的模块化示例工程集合,通过清晰的代码示例和详细文档,帮助开发者快速掌握 Spring AI 的核心功能。
Spring AI Summary 面向对 Spring AI 框架感兴趣的开发者,无论是初学者还是有经验的工程师,都可以通过本项目快速了解框架的核心功能,并将其应用到实际项目中。 通过 Spring AI Summary,你可以:
加入社区 🎯 扫码加群主微信(备注:Spring AI),一起探索 Spring AI 的无限可能!
如果你是第一次接触 Spring AI,建议先阅读 Spring AI 官方文档 以了解框架的基本概念和使用方法。然后可以通过本项目的各个模块进行实践,逐步深入理解框架的核心功能。
推荐学习顺序:
👇下面开启 Spring AI 之旅吧~
| 依赖项 | 版本/要求 | 说明 |
|---|---|---|
| SpringBoot | 3.3.6 | - |
| Spring AI | 1.0.0 | - |
| JDK | 21+ | - |
| Maven | 3.6+ | 强烈推荐使用 mvnd 代替 mvn |
| Docker | (用于运行 Milvus、Nacos 等) |
# 克隆项目到本地
git clone https://github.com/java-ai-tech/spring-ai-summary.git
# 进入项目并编译
cd spring-ai-summary && mvn clean compile -DskipTests
如果遇到 Maven 依赖下载慢的问题,可以尝试使用国内的 Maven 镜像源,如阿里云、清华大学等;运行过程中如果有其他任何问题,可以扫码加入上面的微信群进行咨询交流~~~
对于每个模块的 resource 文件夹下的 application.yml/application.properties 文件,根据你的需求配置相应的 API 密钥。如 spring-ai-chat-deepseek 模块:
# 示例:deepseek 模块配置
spring.ai.deepseek.api-key=${spring.ai.deepseek.api-key}
spring.ai.deepseek.base-url=https://api.deepseek.com
spring.ai.deepseek.chat.completions-path=/v1/chat/completions
spring.ai.deepseek.chat.options.model=deepseek-chat
将你的 spring.ai.deepseek.api-key 替换为实际的 API 密钥即可启动运行。关于如何申请 api key ,可以移步项目 Wiki 页面进行查看。
💡 安全提示:使用环境变量存储 API 密钥,避免代码泄露。申请密钥指南
完成上述步骤后,你可以选择运行不同的示例模块来体验 Spring AI 的功能。如启动运行 spring-ai-chat-deepseek 模块(具体端口可以根据你自己的配置而定):
2025-06-04T14:18:43.939+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] c.g.ai.chat.deepseek.DsChatApplication : Starting DsChatApplication using Java 21.0.2 with PID 88446 (/Users/glmapper/Documents/projects/glmapper/spring-ai-summary/spring-ai-chat/spring-ai-chat-deepseek/target/classes started by glmapper in /Users/glmapper/Documents/projects/glmapper/spring-ai-summary)
2025-06-04T14:18:43.941+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] c.g.ai.chat.deepseek.DsChatApplication : The following 1 profile is active: "deepseek"
2025-06-04T14:18:44.469+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8081 (http)
2025-06-04T14:18:44.475+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2025-06-04T14:18:44.476+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.33]
2025-06-04T14:18:44.501+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2025-06-04T14:18:44.502+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 533 ms
2025-06-04T14:18:44.962+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 14 endpoints beneath base path '/actuator'
2025-06-04T14:18:44.988+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8081 (http) with context path '/'
2025-06-04T14:18:44.997+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [ main] c.g.ai.chat.deepseek.DsChatApplication : Started DsChatApplication in 1.215 seconds (process running for 1.637)
2025-06-04T14:18:45.175+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [on(2)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-06-04T14:18:45.175+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [on(2)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'
2025-06-04T14:18:45.176+08:00 INFO 88446 --- [spring-ai-chat-deepseek] [on(2)-127.0.0.1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms
如果出现上述类似的启动日志,那么恭喜你,启动成功啦 🎉🎉🎉🎉🎉....,你已经打开了 Spring AI 的大门,接下来就可以开始探索各种功能模块了;启动完成后,可以通过 cUrl、HTTPie 或 Postman 等工具进行测试。
curl localhost:8081/api/deepseek/chatWithMetric?userInput="你是谁?"
结果如下:
成功标志 🎉:看到类似响应即表示运行成功!

# completion tokens
http://localhost:8081/actuator/metrics/ai.completion.tokens
# prompt tokens
http://localhost:8081/actuator/metrics/ai.prompt.tokens
# total tokens
http://localhost:8081/actuator/metrics/ai.total.tokens
以 ai.completion.tokens 为例,结果如下:
{
"name": "ai.completion.tokens",
"measurements": [
{
"statistic": "COUNT",
"value": 34
}
],
"availableTags": []
}
关于其他模块的使用方法和配置,可以查看 Wiki 页面或各模块的 README.md 文件。
以下是一些推荐的学习资源:
官方也有一个学习资料汇总,但主要是汇总的国外的一些资料,所以本项目更聚焦在汇总了一些国内的学习资源,供大家参考。
大家如果有好的文章或资源,也欢迎提交 PR 或 Issue 进行补充和完善。下面开发和贡献指南。
首先,非常欢迎各位提交任何形式的贡献,包括但不限于代码、文档、测试、代码注释等等。但在提交贡献之前请遵循如下流程:
如下图所示, fork 仓库到你个人仓库

Clone 你个人仓库代码
# 在 GitHub 上 Fork 项目
# 克隆你的 Fork 仓库
git clone https://github.com/your-username/spring-ai-summary.git
cd spring-ai-summary
创建特性分支
# 创建并切换到新的特性分支
git checkout -b feature/your-feature-name
开发规范
提交代码
# 添加修改的文件
git add .
# 提交代码
git commit -m "feat: add new feature"
# 推送到你的 Fork 仓库
git push origin feature/your-feature-name
创建 Pull Request
API 密钥安全
Token 使用
本项目是一个完全开源项目,主要目的是汇聚更多优质的 Spring AI 相关的学习资源,当然相关学习资源主要来源于网络,如有侵权,请联系删除!!!;在此也对参与开源贡献和所有在技术社区分享技术的朋友们表示衷心的感谢!
Java
99.6%