大家好呀,我是小米,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岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号"软件求生",获取更多技术干货!