Spring AI快速入门实战
很多人第一次接触大模型开发,脑子里都会冒出一个问题:在Java项目里怎么跟AI对话?是不是要自己拼HTTP请求、解析JSON、处理各种异常?
其实完全不用这么麻烦。Spring官方团队专门搞了一套叫Spring AI的框架,目的就是让Java开发者能像调用普通Service一样调用大模型。今天咱们就从零开始,跑通第一个AI对话程序。
为什么选择Spring AI
在动手之前,先聊聊为什么要用Spring AI,而不是自己撸HTTP请求。
你可能想过用HttpClient直接调API:
// 自己拼接HTTP请求调大模型,看着就累
HttpClient client = HttpClient.newHttpClient();
String requestBody = """
{
"model": "qwen-plus",
"messages": [{"role": "user", "content": "你好"}]
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.example.com/chat"))
.header("Authorization", "Bearer " + apiKey)
.POST(HttpRequest.BodyPublishers.ofString(requestBody))
.build();
// 还要处理响应解析、异常、重试...
这种写法有几个问题:
- 代码量大:每次调用都要组装请求体、设置Header、解析响应
- 没有复用性:换个模型厂商,代码几乎要重写
- 功能受限:流式输出、对话记忆、工具调用这些高级功能实现起来很痛苦
Spring AI就是来解决这些问题的。它把各种大模型的API差异屏蔽掉了,你只需要面向统一的接口编程,底层对接的是OpenAI还是DeepSeek,代码基本不用改。
环境准备
在开始写代码之前,确保你的开发环境满足以下条件:
环境要求
- JDK 17及以上版本(Spring AI要求的最低版本)
- Maven或Gradle构建工具
- 一个大模型的API Key
获取API Key的方式:参考硅基流动章节中apiKey的设置
示例中项目地址
- 项目地址:https://github.com/java-up-up/super-agent
- 项目模块:
ai-example-spring-ai
付费内容提示
该文档的全部内容仅对「JavaUp项目实战&技术讲解」知识星球用户开放
加入星球后,你可以获得:
- 超级八股文:100万+字的全栈技术知识库,涵盖技术核心、数据库、中间件、分布式等深度剖析的讲解
- 讲解文档:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的从0到1的详细文档
- 讲解视频:超级AI智能体、黑马点评Plus、大麦、大麦pro、大麦AI、流量切换、数据中台的核心业务详细讲解
- 1 对 1 解答:可以对我进行1对1的问题提问,而不仅仅只限于项目
- 针对性服务:有没理解的地方,文档或者视频还没有讲到可以提出,本人会补充
- 面试与简历指导:提供面试回答技巧,项目怎样写才能在简历中具有独特的亮点
- 中间件环境:对于项目中需要使用的中间件,可直接替换成我提供的云环境
- 面试后复盘:小伙伴去面试后,如果哪里被面试官问住了,可以再找我解答
- 远程的解决:如果在启动项目遇到问题,本人可以帮你远程解决
进入星球后,即可享受上述所有服务,保证不会再有其他隐藏费用。
