#我的宝藏兴趣#
大家好,我是小米,一个31岁还保持着“技术热情”的程序员。今天要和大家分享的是 SpringAI + MiniMax 聊天模型 的完整使用指南。
这篇文章既是一份学习笔记,也是一份实践经验总结。你会看到从零配置到运行示例的全过程,甚至包括一些踩坑的小故事。话不多说,我们开工吧!
故事开头:为什么是 MiniMax?
有一次,公司产品经理找到我,说客户希望聊天机器人能更懂“中文表达”,而且要在问答里体现一定的搜索能力。我心想,OpenAI 我玩过,Anthropic 也玩过,要不这次试试国产的 MiniMax?
MiniMax 的模型在中文对话上优势挺大,API 也比较灵活,还支持 WebSearch 聊天扩展,简直就是为我这种爱折腾的人量身定做。于是,我就把它接入了 SpringAI。
前提条件
在开始配置之前,先把几个条件摆清楚,不然会走弯路:
当时我一开始用 JDK 11,结果编译就报错whatsapp网页版,后来升级到 JDK 17,一切顺利。
添加仓库和 BOM
MiniMax 依赖属于 SpringAI 生态,要先把仓库加进来。
Maven 示例:
然后添加 MiniMax 依赖:
这样,SpringAI 就能识别并管理 MiniMax。
自动配置
Spring Boot 的好处就是自动配置。只要依赖引入了,配置文件里填好 key,Spring 就能自动帮我们注入 MiniMaxChatModel。
在 application.yml 中加:
只需要这样,启动项目就能调用。
聊天属性
MiniMax 聊天属性比较多,包括 重试属性、连接属性、配置属性。这也是我踩坑最多的地方。
1. 重试属性
当时我遇到网络波动,导致 API 调用失败。后来查文档才知道,可以配置重试:
2. 连接属性
连接超时也得注意telegram中文版,不然会挂死在调用上:
3. 配置属性
MiniMax 聊天还可以细化配置:
运行时选项
有时候,你可能需要动态改变参数,比如在某个请求里临时增加 maxTokens。
SpringAI 支持这样写:
示例控制器
我写了一个最简单的控制器,方便本地测试:
启动后访问:
MiniMax 就会回你一个冷笑话。
手动配置
如果你不想用自动配置,可以自己手动创建 MiniMaxChatModel:
这样whatsapp登录,你可以完全掌控实例化过程。
低级 MiniMaxApi 客户端
有时候我需要更底层的 API 调用,SpringAI 也提供了 MiniMaxApi。
这种方式适合做自定义扩展。
WebSearch 聊天
MiniMax 很特别的一点是支持 WebSearch。比如你问“今天杭州天气”,它会去搜索最新数据,再返回答案。
配置方式:
当时我第一次打开 WebSearch,问了“最近 Java 21 有哪些新特性?”,结果 MiniMax 给我列了一份非常新的清单,比我手工搜还快。
MiniMaxApi 示例
最后,给出一个完整的 MiniMaxApi 示例,演示 WebSearch: