Spring AI (第一章) 如何接入AI大模型 Spring AI (第一章) 如何接入AI大模型文章目录Spring AI (第一章) 如何接入AI大模型一、Spring AI开发项目的注意事项1.1 Spring Boot版本问题1.2 Spring AI依赖版本问题1.3 模型选择以阿里云百炼为例二、获取API Key三、章节目的四、新建项目四、简单的模型对话4.1 导入依赖4.2 配置文件4.3 构建大模型聊天对象代码4.4 聊天对象测试代码五、相关的资源文档5.1 DashScope(阿里灵积)5.2 Spring AI Alibaba5.3 文档的作用一、Spring AI开发项目的注意事项1.1 Spring Boot版本问题建议使用 Spring Boot 3.4.x最低 3.0。选择稳定小版本避免与 Spring AI 的兼容性问题升级时先看 Spring AI Release Notes/兼容矩阵。1.2 Spring AI依赖版本问题学习/快速接入建议用spring-ai-alibaba对阿里百炼做了易用封装。Spring AI 相关组件版本强相关尽量使用官方推荐的成套版本不要随意“只升一个”。不同小版本 API 可能不兼容升级要做编译/运行双验证关注弃用项与包名迁移。用 BOM 锁版本统一管理依赖树减少冲突遇到冲突优先排除传递依赖而不是硬升。Spring AI框架相关依赖的版本号都是环环相扣、新手最好不要随意改动版本号、按照教程推荐的来1.3 模型选择以阿里云百炼为例选型关注点上下文窗口、价格、延迟、工具调用/函数调用支持、流式输出、对齐策略。阿里百炼大模型广场基本上市面上常见的多模态、图片生成、视频生成、语音生成都支持二、获取API Key后续在代码接入大模型需要配置API Key、平台对每个用户提供了免费的token额度三、章节目的引入模型、简单的对话、调通阿里云大模型API并拿到响应四、新建项目Server Urlhttps://start.spring.io选择Spring Boot 3.0以上的版本项目新建完成Maven仓库、推荐另外新建一个3.8以上的版本四、简单的模型对话4.1 导入依赖基础依赖!-- 提供构建Web应用所需的核心组件包括Spring MVC与内置Tomcat服务器 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- 单元测试依赖 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency阿里巴巴 百炼 灵积 大模型!-- 阿里巴巴 百炼 灵积 大模型依赖 2.19.1 --dependencygroupIdcom.alibaba/groupIdartifactIddashscope-sdk-java/artifactId!-- 请将 version 替换为最新版本号https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java --version2.19.1/version/dependency!-- 引入阿里巴巴的 spring-ai-alibaba 依赖更好的兼容spring ai 接入大模型 --dependencygroupIdcom.alibaba.cloud.ai/groupIdartifactIdspring-ai-alibaba-starter/artifactIdversion1.0.0-M6.1/version!-- 排除nacos-config依赖、防止控制台打印警告 --exclusionsexclusionartifactIdlogback-classic/artifactIdgroupIdch.qos.logback/groupId/exclusionexclusiongroupIdcom.alibaba.cloud/groupIdartifactIdspring-alibaba-nacos-config/artifactId/exclusion/exclusions/dependency4.2 配置文件配置文件application.ymlspring:application:name:exi-ai-agentprofiles:active:local# 激活application-local.yml配置文件server:port:8799# 后端应用端口servlet:context-path:/api# 设置API接口前缀配置文件application-local.ymlspring:application:name:exi-ai-agentai:dashscope:api-key:AI_DASHSCOPE_API_KEY# 阿里百炼Keychat:options:model:qwen3-max# qwen-plus、选择百炼支持的模型# 增加超时时间timeout:60000# 60秒connection-timeout:30000# 30秒read-timeout:60000# 60秒4.3 构建大模型聊天对象代码importlombok.extern.slf4j.Slf4j;importorg.springframework.ai.chat.client.ChatClient;importorg.springframework.ai.chat.model.ChatModel;importorg.springframework.ai.chat.model.ChatResponse;importorg.springframework.stereotype.Component;/** * 初始化大模型聊天对象 */ComponentSlf4jpublicclassChatApp{/** * ChatClient 是 Spring AI 提供的一个轻量级客户端基于 ChatModel 的上层封装用于构建、发送聊天请求并处理大模型的回复。 * * 核心能力 * 易用封装: 基于 ChatModel 的 builder API减少直接拼 JSON 的负担。 * 消息结构: 支持 system、user、assistant 多角色消息。 * 上下文与记忆: 可接入如 MessageChatMemoryAdvisor 之类的记忆/拦截器。 * 工具/函数调用: 可注册工具以启用函数调用不同模型支持度不同。 * 流式响应: 支持逐 token/段落流式消费。 * 可组合: 通过拦截器/Advisor 叠加安全、重试、日志等能力。 */privatefinalChatClientchatClient;publicChatApp(ChatModeldashscopeChatModel){// 使用阿里的dashscopeChatModel初始化大模型聊天对象chatClientChatClient.builder(dashscopeChatModel).build();}/** * 通过chatClient根据用户参数进行答复 * param message * return */publicStringdoChat(Stringmessage){// 模型返回的所有内容包括回答文本和元信息都会被封装进一个 ChatResponse 对象中。ChatResponsechatResponsechatClient.prompt().user(message)// 用户消息.call()// .call() 阻塞式的响应.chatResponse();// 大模型响应的文本内容StringcontentchatResponse.getResult().getOutput().getText();// token 用量统计varusagechatResponse.getMetadata().getUsage();log.info(【对话请求】用户消息{},message);log.info(【用量统计】tokens {},usage);log.info(【模型响应】内容{},content);returncontent;}}4.4 聊天对象测试代码SpringBootTestclassChatAppTest{/** * Resource 注解的作用是先根据字段名后根据类型 来自动匹配注入对应的 Bean */ResourceprivateChatAppchatApp;TestvoiddoChat(){Stringmessage你好我叫小洲;StringanswerchatApp.doChat(message);}}测试结果五、相关的资源文档5.1 DashScope(阿里灵积)官方文档1、阿里云百炼平台SDK官方文档https://help.aliyun.com/zh/model-studio/install-sdk2、通义千问(DashScope)示例文档https://bailian.console.aliyun.com/?tabapi#/api/?typemodelurl27125765.2 Spring AI Alibaba1、Spring AI Alibaba官方文档支持DashScope更好接入Spring AI框架https://java2ai.com/5.3 文档的作用在调试新功能的过程中遇到问题、可以查阅官方文档、查看每个API的示例代码可以根据应用场景去官方的模型广场选择合适的大模型

相关新闻

最新新闻

三步让SWE-agent自动修复GitHub问题:新手实测教程

三步让SWE-agent自动修复GitHub问题:新手实测教程

三步让SWE-agent自动修复GitHub问题:新手实测教程 【免费下载链接】SWE-agent SWE-agent takes a GitHub issue and tries to automatically fix it, using your LM of choice. It can also be employed for offensive cybersecurity or competitive coding challen…

2026/9/7 7:13:08
Balabolka便携版:文本转语音的绿色工具与批量音频生成实战

Balabolka便携版:文本转语音的绿色工具与批量音频生成实战

简介:Balabolka Portable是一款主打文本转语音的绿色便携软件,适合需要将文字材料快速转换为音频的办公人群、语言学习者及有声内容制作者。它可调用系统已安装的多种语音引擎,自动检测文本内容,并直接输出为WAV、MP3、MP4、OGG或…

2026/9/7 7:13:08
FunASR Android部署 3步搞定:如何在手机上跑起实时语音识别

FunASR Android部署 3步搞定:如何在手机上跑起实时语音识别

FunASR Android部署 3步搞定:如何在手机上跑起实时语音识别 【免费下载链接】FunASR Open-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving. 项…

2026/9/7 7:13:08
图集拆分工具原理与实战:从网格切割到自动识别

图集拆分工具原理与实战:从网格切割到自动识别

简介:一款面向白鹭引擎(Egret)游戏开发者的图集拆分工具源码包,可读取JSON配置与PNG图集,依据坐标信息将合并的SpriteSheet还原为单张图像,有效解决动画帧或UI元素需单独修改时的资源管理痛点。压缩包共22个…

2026/9/7 7:13:08
基于Python与期望搜索的爱因斯坦棋AI对战软件开发

基于Python与期望搜索的爱因斯坦棋AI对战软件开发

简介:资源包为一套基于期望搜索算法与Python语言实现的爱因斯坦棋(翻转棋)对战软件,适合AI算法学习者和游戏开发实践者参考。项目完整覆盖棋盘状态表示、合法落子判定、棋子翻转逻辑,以及以Expectimax为核心、结合Alph…

2026/9/7 7:13:08
魔方复原Python源码从选型到调试:Kociemba、双向BFS全解析

魔方复原Python源码从选型到调试:Kociemba、双向BFS全解析

简介:这是一份用Python实现魔方复原算法的完整源码工程,面向对算法、数据结构与Python实战感兴趣的开发者。资源围绕魔方状态建模、旋转操作定义及层先法(CFOP)、Roux、ZZ等复原策略展开,源码包含魔方类、解法生成、颜…

2026/9/7 7:08:07