国产大模型也能无缝接入!Spring AI + 智谱 AI 实战指南



大家好呀,我是小米,31岁,依然活蹦乱跳,最近又在研究新东西啦!

还记得我前段时间玩过 Spring AI 集成 OpenAI 的小案例嘛?那次我在公司茶水间里给同事们演示,一下子把他们都惊艳到了。结果昨天 Leader 又抛来一个需求:"小米,能不能用我们国产的 智谱 AI 模型(GLM 系列) 来对接 Spring AI,顺便整理一份最佳实践?"

这还用说?当场拍着胸脯答应了。于是,今天的故事就发生了:我熬了两杯咖啡,撸起袖子,从 Spring AI 的源码到 ZhiPuAI 的 API 文档,研究了一整天,最后成功把它们优雅地结合在了一起。

这篇文章就给大家完整分享一下,如何基于 Spring AI 集成智谱 AI 聊天模型,包括前提条件、配置方式、自动/手动模式、运行时选项,甚至还有低级 API 客户端。干货满满,不止能跑起来,还能玩出花儿!

智谱 AI 聊天模型

先来认识一下咱们的主角:智谱 AI(Zhipu AI)

它是国内头部大模型厂商之一,推出了 GLM 系列模型(ChatGLM、GLM-4、GLM-4-Plus 等)。这些模型不仅能写代码、写文章,还能做知识问答、推理,甚至多模态。

对我们开发者来说,最重要的是:它提供了标准的 API 接口,和 OpenAI 接口风格高度相似,所以 Spring AI 可以非常丝滑地接入。

所以今天,我们就基于 Spring AI 的 ZhiPuAiChatModel 来搞定聊天任务。

前提条件

要跑起来,必须先准备好这几样东西:

  • 一个 智谱 AI 的账号 (在open.bigmodel.cn/注册就行)。
  • 获取 API Key(管理中心一键生成)。
  • 本地要有 JDK 17+ ,Spring Boot 3.x。
  • 已经引入 Spring AI 依赖(咱们下面会配)。

是不是很像做饭之前要备好葱姜蒜?没有 API Key,炒菜没油,啥都白搭~

添加仓库和 BOM

在 pom.xml 中先加上 Spring AI 的 BOM 依赖管理:

然后添加具体的智谱 AI 依赖:

到这里,我们的锅已经放上灶台,火也点起来了,就差下菜了!

自动配置

Spring AI 为智谱 AI 提供了自动配置。只要我们在 application.yml 中写上 Key 和模型名,就能直接用。

是不是很优雅?一句配置,模型就能"自动上线"。

聊天属性

聊到这儿,很多小伙伴一定好奇:"自动配置固然好,但能不能玩点花的?比如配置重试次数、连接池参数啥的?"

当然可以!Spring AI 贴心地给我们准备了一堆属性。

1、重试属性

2.、连接属性

3、配置属性表格

是不是很像点外卖时的"自定义加料"?辣度、咸度、配料,全凭你喜欢!

运行时选项

除了全局配置,我们还可以在运行时动态传参数。

这种方式就像"临时加菜",特别适合测试不同效果。

示例控制器

来个最简单的 Demo 控制器:

启动项目后,访问:

Boom!智谱 AI 会秒回一句温柔的回答。

手动配置

如果你想更灵活一些,可以自己注入 Bean:

这种方式就像自己炒菜,不依赖厨师长的"套餐模式",自由度更高。

低级智谱 AI API 客户端

最后,如果你是底层控,想要直接玩 API,也完全没问题。

这样你就能直接跟 API 对话,连 Spring AI 的封装都不用。

总结

整整一天的折腾,我发现:

  • 智谱 AI 的接口很友好,几乎和 OpenAI 一致;
  • Spring AI 的集成很丝滑,自动配置一开,轻轻松松跑起来;
  • 如果要玩高级玩法,ZhiPuAiChatOptions、ZhiPuAiChatModel、ZhiPuAiApi 都能满足需求。

写到这里,感觉就像我请了一位新的"AI 朋友"进家门,它能帮我写代码、写诗、陪我聊天,真香!

大家要是也想试试,就动手集成一把,保证你也能体会到那种"代码里开了个外挂"的快乐!

END

我是小米,一个喜欢分享技术的31岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号"软件求生",获取更多技术干货!

相关推荐
一米阳光86611 小时前
软考(中级)软件设计师核心笔记(9)算法——时间复杂度与空间复杂度、查找算法、排序算法
笔记·算法·职场发展·软考·软件设计师·中级职称
AINative软件工程1 小时前
模型路由别写死在代码里:Policy-as-Code 才是 LLM 成本和质量的刹车片
后端
Mem0rin1 小时前
二分查找:左右边界
数据结构·算法
艾莉丝努力练剑2 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
小蒜学长2 小时前
“喵汪联盟”宠物领养系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·宠物
程序员黑豆2 小时前
Java字符串常量池完全指南:原理、intern()方法与性能优化最佳实践
java·前端·ai编程
AI人工智能+电脑小能手2 小时前
大白话说Java设计模式-14-适配器模式(业务实战篇)
java·设计模式·适配器模式·系统兼容·多渠道对接
SomeB1oody2 小时前
【RustyML入门】3.7. 循环层
开发语言·后端·机器学习·rust·教程
xbgRS5 小时前
springboot的自动装配
java·spring boot
大明者省11 小时前
WSL2 Ubuntu22.04 GPU训练环境配置指南
人工智能·算法·计算机视觉