news 2026/9/7 4:57:35

Spring AI (第一章) 如何接入AI大模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 Alibaba
    • 5.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 Url:https://start.spring.io

选择Spring Boot 3.0以上的版本

项目新建完成

Maven仓库、推荐另外新建一个3.8以上的版本

四、简单的模型对话

4.1 导入依赖

基础依赖

<!-- 提供构建Web应用所需的核心组件,包括Spring MVC与内置Tomcat服务器 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 单元测试依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

阿里巴巴 百炼 灵积 大模型

<!-- 阿里巴巴 百炼 灵积 大模型依赖 2.19.1 --><dependency><groupId>com.alibaba</groupId><artifactId>dashscope-sdk-java</artifactId><!-- 请将 'version' 替换为最新版本号:https://mvnrepository.com/artifact/com.alibaba/dashscope-sdk-java --><version>2.19.1</version></dependency><!-- 引入阿里巴巴的 spring-ai-alibaba 依赖更好的兼容spring ai 接入大模型 --><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId><version>1.0.0-M6.1</version><!-- 排除nacos-config依赖、防止控制台打印警告 --><exclusions><exclusion><artifactId>logback-classic</artifactId><groupId>ch.qos.logback</groupId></exclusion><exclusion><groupId>com.alibaba.cloud</groupId><artifactId>spring-alibaba-nacos-config</artifactId></exclusion></exclusions></dependency>

4.2 配置文件

配置文件:application.yml

spring:application:name:exi-ai-agentprofiles:active:local# 激活application-local.yml配置文件server:port:8799# 后端应用端口servlet:context-path:/api# 设置API接口前缀

配置文件:application-local.yml

spring: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;/** * 初始化大模型聊天对象 */@Component@Slf4jpublicclassChatApp{/** * ChatClient 是 Spring AI 提供的一个轻量级客户端,基于 ChatModel 的上层封装,用于构建、发送聊天请求并处理大模型的回复。 * * 核心能力 * 易用封装: 基于 ChatModel 的 builder API,减少直接拼 JSON 的负担。 * 消息结构: 支持 system、user、assistant 多角色消息。 * 上下文与记忆: 可接入如 MessageChatMemoryAdvisor 之类的记忆/拦截器。 * 工具/函数调用: 可注册工具以启用函数调用(不同模型支持度不同)。 * 流式响应: 支持逐 token/段落流式消费。 * 可组合: 通过拦截器/Advisor 叠加安全、重试、日志等能力。 */privatefinalChatClientchatClient;publicChatApp(ChatModeldashscopeChatModel){// 使用阿里的dashscopeChatModel初始化大模型聊天对象chatClient=ChatClient.builder(dashscopeChatModel).build();}/** * 通过chatClient根据用户参数进行答复 * @param message * @return */publicStringdoChat(Stringmessage){// 模型返回的所有内容(包括回答文本和元信息)都会被封装进一个 ChatResponse 对象中。ChatResponsechatResponse=chatClient.prompt().user(message)// 用户消息.call()// .call() 阻塞式的响应.chatResponse();// 大模型响应的文本内容Stringcontent=chatResponse.getResult().getOutput().getText();// token 用量统计varusage=chatResponse.getMetadata().getUsage();log.info("【对话请求】用户消息:{}",message);log.info("【用量统计】tokens {}",usage);log.info("【模型响应】内容:{}",content);returncontent;}}

4.4 聊天对象测试代码

@SpringBootTestclassChatAppTest{/** * @Resource 注解的作用是先根据字段名后根据类型 来自动匹配注入对应的 Bean */@ResourceprivateChatAppchatApp;@TestvoiddoChat(){Stringmessage="你好我叫小洲";Stringanswer=chatApp.doChat(message);}}

测试结果

五、相关的资源文档

5.1 DashScope(阿里灵积)

官方文档
1、阿里云百炼平台SDK官方文档:https://help.aliyun.com/zh/model-studio/install-sdk

2、通义千问(DashScope)示例文档:https://bailian.console.aliyun.com/?tab=api#/api/?type=model&url=2712576

5.2 Spring AI Alibaba

1、Spring AI Alibaba官方文档支持DashScope更好接入Spring AI框架:https://java2ai.com/

5.3 文档的作用

  • 在调试新功能的过程中遇到问题、可以查阅官方文档、查看每个API的示例代码;
  • 可以根据应用场景去官方的模型广场选择合适的大模型;
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 4:53:50

Word添加下划线全攻略:文字、空白横线、批量处理与打印排查

Word 里添加下划线&#xff0c;表面上看是办公软件最基础的操作&#xff1a;选中文字&#xff0c;按一下 CtrlU。但等你真的做合同、登记表、试卷或制度文件时就会发现&#xff0c;下划线背后至少还有三件事没解决&#xff1a;空白横线怎么做、多条横线怎么对齐、复制粘贴和打印…

作者头像 李华
网站建设 2026/9/7 4:51:13

右键菜单管理神器 RightClickGuardian:全量扫描+真实预览+持续守护

想一想这样的场景&#xff1a;你新装了一台 Windows&#xff0c;系统流畅得像刚开机的第一天。三个月后&#xff0c;你在桌面或文件夹里点右键&#xff0c;菜单从上到下排了二十几项——“用XX解压”“上传到XX网盘”“通过XX发送”“用XX打开”“XX加速”“XX截图”……每一项…

作者头像 李华
网站建设 2026/9/7 4:50:20

Android语音唤醒接入指南:讯飞AIKit集成实战与踩坑记录

简介&#xff1a;面向安卓开发者的科大讯飞AIKit语音唤醒功能完整工程资源&#xff0c;解决在Android Studio中从零接入AIKit SDK、配置唤醒词并调通语音唤醒的难题&#xff0c;适合初学语音交互或需要快速落地唤醒功能的移动端工程师。资源包共647个文件&#xff0c;压缩后45.…

作者头像 李华