Spring AI 接入国产大模型实战:Kimi K2.5、MiniMax M2.7、Qwen 3.5 一文搞定(2026)
Java 开发者的国产模型焦虑
做 Java 后端的人最近大概都感受到了一个趋势:老板不再只问”能不能接个 GPT”,而是开始问”Kimi 和 DeepSeek 比 GPT 便宜那么多,咱们能不能换?”
问题是 Spring AI 官方文档里全是 OpenAI、Anthropic、Google 的例子,国产模型几乎一笔带过。翻 Spring AI Alibaba 吧,又发现它主要围绕阿里百炼生态,Kimi 和 MiniMax 的配置得自己摸索。
这篇文章讲的就是怎么用 Spring AI 把 Kimi K2.5、MiniMax M2.7、Qwen 3.5 这些国产模型接进 Java 项目,以及不同接入方式该怎么选。
如果你还没接触过 Spring AI,建议先看《Spring AI 2.0 接入 AI 大模型完全指南》了解基础概念。本文假设你已经有 Spring Boot 项目,知道 ChatClient 的基本用法。
2026 年国产模型接入 Spring AI 的三条路
先把选型说清楚,再讲配置。
路线一:Spring AI 官方 + OpenAI 适配器
Spring AI 内置的 spring-ai-openai-spring-boot-starter 支持所有兼容 OpenAI 协议的 API。Kimi、MiniMax、DeepSeek、智谱 GLM,只要提供商支持 /v1/chat/completions 端点就能接。
适合只用聊天补全、流式输出、Function Calling 这些标准能力的项目。好处是零额外依赖,Spring AI 官方维护。不过同一时间只能配一个 provider 的 base-url,要切换提供商得改配置或用 Profile 区分。
路线二:Spring AI Alibaba
阿里在 2026 年初发布了 Spring AI Alibaba 1.0 GA,在 Spring AI 基础上加了百炼平台和国产模型的原生支持。内置 MiniMax、Kimi(月之暗面)、Qwen 等专用适配器,不用自己拼 base-url。
如果项目部署在阿里云,或者需要百炼的 RAG 管线、Agent 编排、工作流能力,这条路线最对口。国产模型覆盖也是三个方案里最全的。代价是多了一层阿里封装,版本更新节奏和 Spring AI 官方不完全同步。
路线三:OfoxAI 统一网关
如果项目需要同时调用国产模型和海外模型(GPT-5.4、Claude Opus 4.6),每个提供商单独配一套 base-url 和 Key 维护起来很累。OfoxAI 把这些都收到一个 OpenAI 兼容接口后面,一个 API Key 就能调 Kimi K2.5、MiniMax M2.7、Qwen 3.5、DeepSeek V3.2、GLM-5 等 40 多个国产模型,GPT、Claude、Gemini 也都有。
多模型混用或者需要统一管 Key 和计费的场景最合适。人民币直接支付。延迟方面多了一层代理,实测通常在 50ms 以内。
三条路怎么选
| 需求 | 推荐路线 |
|---|---|
| 只用 1-2 个国产模型,标准聊天接口 | 路线一(官方适配器) |
| 重度使用阿里百炼生态、Qwen 系列 | 路线二(Spring AI Alibaba) |
| 国产 + 海外模型混用,或者多模型切换 | 路线三(OfoxAI 网关) |
| 快速验证 / PoC 阶段 | 路线三最省事 |
实际操作中,路线一和路线三随时能切换,都是改一行 base-url 的事。路线二如果只用聊天能力,也可以和路线一、三混用。
路线一实战:官方适配器接 Kimi K2.5
依赖配置
在 pom.xml 里加 OpenAI starter(Spring AI 2.0.0-M4 为例):
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
</dependency>
接入 Kimi K2.5
Kimi 的 API 完全兼容 OpenAI 协议。在 application.yml 里:
spring:
ai:
openai:
api-key: ${KIMI_API_KEY}
base-url: https://api.moonshot.cn/v1
chat:
options:
model: kimi-k2.5
就这么多。ChatClient 的用法和调 GPT 完全一样,流式输出、Function Calling 都正常工作。
Kimi K2.5 的 API Key 怎么获取?参考《Kimi API Key 获取教程》。
接入 MiniMax M2.7
MiniMax 同样支持 OpenAI 兼容协议:
spring:
ai:
openai:
api-key: ${MINIMAX_API_KEY}
base-url: https://api.minimax.chat/v1
chat:
options:
model: MiniMax-M2.7
MiniMax 还提供 MiniMax-M2.7-highspeed 变体,响应速度更快但推理深度稍弱,适合对延迟敏感的场景。详见《MiniMax M2.7 API 教程》。
切换模型的问题
用官方适配器有个不方便的地方:spring.ai.openai.base-url 是全局配置。如果项目里同时要调 Kimi 和 MiniMax,得用 Spring Profile 或者手动创建多个 OpenAiChatModel Bean。
这不复杂,但确实多了些样板代码。如果多模型混用是常态,直接看下面的路线三更省事。
路线二实战:Spring AI Alibaba 接入国产模型
依赖配置
Spring AI Alibaba 1.0 GA 基于 Spring AI 1.0.x,目前还不兼容 Spring AI 2.0 的里程碑版本。如果你的项目还在用 Spring Boot 3.x + Spring AI 1.0,这条路线最合适。
<dependency>
<groupId>com.alibaba.cloud.ai</groupId>
<artifactId>spring-ai-alibaba-starter</artifactId>
<version>1.0.0</version>
</dependency>
接入 MiniMax
Spring AI Alibaba 内置了 MiniMax 适配器,配置比官方路线更直接:
spring:
ai:
minimax:
api-key: ${MINIMAX_API_KEY}
chat:
options:
model: MiniMax-M2.5
不需要手动指定 base-url,Alibaba 的适配器已经内置了 MiniMax 的端点地址。
接入 Kimi(月之暗面)
Spring AI Alibaba 同样提供了月之暗面的原生适配器:
spring:
ai:
moonshot:
api-key: ${KIMI_API_KEY}
chat:
options:
model: kimi-k2.5
接入 Qwen 3.5(通义千问)
通义千问是 Spring AI Alibaba 的主场,支持最完整:
spring:
ai:
dashscope:
api-key: ${DASHSCOPE_API_KEY}
chat:
options:
model: qwen3.5-plus
通过百炼平台的 Coding Plan,你还可以用同一个 DashScope API Key 调用 Qwen 3.5、GLM-5、MiniMax M2.5 和 Kimi K2.5 四个模型,不用分别注册。
多模型同时使用
Spring AI Alibaba 的好处在于:不同模型有各自独立的配置命名空间(spring.ai.minimax.*、spring.ai.moonshot.*、spring.ai.dashscope.*),可以在同一个 application.yml 里配多个提供商,注入不同的 ChatModel Bean 来使用。
路线三实战:OfoxAI 网关一键接入
配置
如果你读过《Spring AI 2.0 完全指南》的多模型切换章节,OfoxAI 的配置方式和那里的一模一样,因为就是标准 OpenAI 兼容协议:
spring:
ai:
openai:
api-key: ${OFOX_API_KEY}
base-url: https://api.ofox.ai/v1
chat:
options:
model: moonshotai/kimi-k2.5
切换模型只需要改 model 字段,base-url 和 api-key 不用动:
| 要用的模型 | model 值 |
|---|---|
| Kimi K2.5 | moonshotai/kimi-k2.5 |
| MiniMax M2.7 | minimax/minimax-m2.7 |
| MiniMax M2.7 高速版 | minimax/minimax-m2.7-highspeed |
| Qwen 3.5 Plus | bailian/qwen3.5-plus |
| GLM-5 | z-ai/glm-5 |
| GLM-5V Turbo(多模态) | z-ai/glm-5v-turbo |
| DeepSeek V3.2 | deepseek/deepseek-v3.2 |
| 豆包 Seed 2.0 Pro | volcengine/doubao-seed-2.0-pro |
完整模型列表见 OfoxAI 模型页面。
运行时动态切换模型
实际项目里经常有这种需求:简单问题用便宜模型(MiniMax M2.5 或 GLM-4.7 Flash),复杂问题用强模型(Kimi K2.5 或 Qwen 3.5 Plus)。用 OfoxAI 网关配合 Spring AI 的 ChatClient,运行时切换模型只需要在请求级别指定:
String answer = chatClient.prompt()
.options(OpenAiChatOptions.builder()
.model("minimax/minimax-m2.7-highspeed") // 运行时指定模型
.build())
.user("帮我写一段 SQL 查询")
.call()
.content();
这比维护多个 ChatModel Bean 简洁得多,模型选择逻辑可以放到业务层做路由。
国产模型能力对比:选哪个?
选模型不能只看跑分,得看实际场景。下面是我们团队在真实项目中的体感对比(截至 2026 年 4 月):
| 能力 | Kimi K2.5 | MiniMax M2.7 | Qwen 3.5 Plus | GLM-5 |
|---|---|---|---|---|
| 中文理解 | 强,长文本尤其好 | 强,对话流畅 | 强 | 中上 |
| 代码生成 | 强,接近 Claude Sonnet 4.6 | 中上 | 强 | 中 |
| Function Calling | 支持,稳定 | 支持,稳定 | 支持,稳定 | 支持 |
| 上下文窗口 | 256K | 128K | 128K | 128K |
| 多模态(图片理解) | 支持 | 不支持 | 支持 | 支持(GLM-5V) |
| 响应速度 | 中等 | 快(highspeed 更快) | 中等 | 快(Flash 变体) |
| 价格区间 | 中低 | 低 | 低-中 | 低 |
简单说:客服和轻量对话选 MiniMax M2.7-highspeed,响应快价格低。代码相关的活交给 Kimi K2.5,256K 上下文窗口分析大文件也不在话下。企业项目如果已经在用阿里云生态,Qwen 3.5 Plus 开箱即用。需要图文理解就上 GLM-5V Turbo,具体可以参考《GLM-5V-Turbo 多模态 API 教程》。
想看更详细的模型对比,可以参考《Kimi K2.5 vs Claude Sonnet 4.6 vs GPT-5.4 横评》和《MiniMax M2.5 vs Claude Sonnet 4.6 vs GPT-5.4 横评》。
踩坑记录
1. MiniMax 的模型名大小写敏感
MiniMax API 要求模型名严格匹配。写 minimax-m2.7 会报 404,必须写 MiniMax-M2.7。通过 OfoxAI 调用则不存在这个问题,模型名格式统一为 minimax/minimax-m2.7。
2. Kimi 的 Function Calling 参数格式
Kimi K2.5 的 Function Calling 兼容 OpenAI 格式,但有一个细节:tool 的 description 字段如果超过 512 个字符会被截断。建议把函数描述控制在 200 字以内,复杂的参数说明放到 parameters 的 description 里。
3. Spring AI Alibaba 和 Spring AI 2.0 的兼容性
截至 2026 年 4 月,Spring AI Alibaba 1.0 基于 Spring AI 1.0.x 构建。如果你的项目已经升级到 Spring AI 2.0(里程碑版本),直接引入 Alibaba 的 starter 会出现依赖冲突。解决办法:要么等 Alibaba 适配 2.0,要么在 2.0 项目里用路线一或路线三接国产模型。
4. 流式输出的超时设置
国产模型的首 token 延迟通常比 GPT 系列长一些(尤其是思考模式开启时)。如果用了 Spring AI 的流式输出,建议把连接超时调到 30 秒以上:
spring:
ai:
openai:
chat:
options:
timeout: 30s
5. 百炼 Coding Plan 的模型切换
用阿里百炼 Coding Plan 调用 Kimi K2.5 和 MiniMax M2.5 时,模型名需要加百炼前缀。具体格式参考百炼控制台的模型列表,不要想当然用原始模型名。
生产环境清单
接进来不难,跑稳才是正事。上线前过一遍这几件事:
国产模型 API 偶尔会返回 429(限流)或 500(服务抖动),Spring AI 的 RetryTemplate 配上 3 次重试加指数退避基本够用。如果主模型整个挂了,业务代码里 catch 异常后换一个 model 参数重试就行,用 OfoxAI 网关的话模型切换不用改 base-url。
另外注意两件事:各模型的 token 定价差异不小,生产环境一定要按模型维度监控调用量和费用。还有就是国产模型对涉政涉密内容的过滤策略比较严格,如果你的应用处理用户输入,最好在调用前做一层内容预检,免得触发过滤导致响应中断。
总结
三条路线不互斥。我们自己的做法是开发阶段用 OfoxAI 快速切换模型做对比,选型确定后再决定生产环境直连还是走网关。
回头看,2026 年的国产模型确实到了一个可以用的阶段。Kimi K2.5 写代码不比 Claude Sonnet 4.6 差多少,MiniMax M2.7 的性价比在轻量任务上找不到对手,Qwen 3.5 在阿里生态里几乎不用配就能跑。Java 这边的工具链也跟上来了,Spring AI 把接入门槛拉到了改一行 YAML 的程度。
有问题可以看看 OfoxAI 的 API 文档,或者在 Kimi API 开放平台和 MiniMax API 文档 找各模型的详细参数说明。


