【模型接入】小米 MiMo
项目基于 Spring AI + 自己实现的 core/model/mimo,实现 小米 MiMo (opens new window) 的接入。MiMo 兼容 OpenAI 协议,MiMoChatModel 底层委托 Spring AI 的 DeepSeekChatModel 发起调用(不是 OpenAiChatModel):
| 功能 | 模型 | Spring AI 客户端 |
|---|---|---|
| AI 对话 | mimo-v2.6-flash、mimo-v2.6-pro、mimo-v2.6-pro-ultraspeed | MiMoChatModel |
| AI 绘画 | 暂未接入 | 暂未接入 |
# 1. 申请密钥
小米 MiMo 提供官方 API 服务,可以直接申请 API Key 使用。
① 在 MiMo 开放平台 (opens new window) 上,使用小米账号登录。
② 在 API Keys (opens new window) 页面,创建一个按量付费的 API Key 密钥。
申请完成后,可以在我们系统的 [AI 大模型 -> 控制台 -> API 密钥] 菜单,进行密钥的配置,字段可以按下面填写:
- 名称:
小米 MiMo - 所属平台:
MiMo - API 密钥:填写上一步创建的 MiMo API Key
- 自定义 API URL:不填写,项目默认使用 MiMo 官方地址
https://api.xiaomimimo.com
# 2. 模型配置
# 2.1 AI 对话
使用 《AI 对话》 时,需要在 [AI 大模型 -> 控制台 -> 模型配置] 菜单,配置对应的聊天模型,字段可以按下面填写:
- 模型名称:
mimo-v2.6-flash - 所属平台:
MiMo - 模型类型:
聊天 - 模型标识:
mimo-v2.6-flash - API 密钥:选择前面配置的 MiMo 密钥
- 回复数 Token 数:
4096(建议值)
当前模型可以参考下表,见 模型列表 (opens new window):
| 模型标识 | 上下文窗口 | 最大输出 |
|---|---|---|
mimo-v2.6-flash | 1M | 128K |
mimo-v2.6-pro | 1M | 128K |
mimo-v2.6-pro-ultraspeed | 1M | 128K |
MiMo V2.6 系列默认开启思考。如需开启或关闭,可以在模型的「思考配置」中「从预设填入」选择「小米 MiMo」,通过 thinking.type 控制,具体见 《推理模式(thinking)》。思考模式下,temperature、top_p 由 MiMo 固定为推荐值。
MiMo V2.6 系列官方支持图片理解,可以通过图片 URL 或 Base64 传入,见 图片理解 (opens new window) 文档。在 [AI 大模型 -> 控制台 -> 模型配置] 中给模型勾选「图片」输入能力后,AI 对话会把图片作为多模态参数(UserMessage 的 Media)传递;但该平台复用 Spring AI 的 DeepSeekChatModel,它在 Spring AI 1.1.8 / 2.0.0 / 2.0.1 中仍会丢弃图片,所以项目当前不能让 MiMo 理解图片,具体见 《AI 对话聊天》 的「3.4 图片附件」小节。未勾选时,图片仍按原附件逻辑以 Base64 文本拼接,只修改模型标识不能实现图片理解。
配置好的聊天模型也可以用于 《AI 写作助手》 和 《AI 思维导图》。调用记录和模型返回的 Token 用量,可见 《请求日志与 Token 用量》。
# 2.2 AI 绘图
暂未接入。
# 3. 如何使用?
① 如果你的项目里需要直接通过 @Resource 注入 MiMoChatModel 等对象,需要把 application.yaml 配置文件里的 yudao.ai.mimo 配置项,替换成你的!
yudao:
ai:
mimo: # 小米 MiMo
enable: true
api-key: ${MIMO_API_KEY}
model: mimo-v2.6-flash
② 如果你希望使用 [AI 大模型 -> 控制台 -> API 密钥] 菜单的密钥配置,则可以通过 AiModelService 的 #getChatModel(...) 方法,获取对应的模型对象。
① 和 ② 这两者的后续使用,就是标准的 Spring AI 客户端的使用,调用对应的方法即可。
另外,MiMoChatModelTests 里有对应的测试用例,可以参考。