【模型接入】Grok
项目基于 Spring AI + 自己实现的 models/grok,实现 xAI Grok (opens new window) 的接入,底层复用兼容 OpenAI 协议的客户端:
| 功能 | 模型 | Spring AI 客户端 |
|---|---|---|
| AI 对话 | grok-4.3、grok-4-fast 等 | GrokChatModel |
| AI 绘画 | 暂未接入 | 暂未接入 |
# 1. 申请密钥
Grok 是 xAI 提供的非开源模型,需要在 xAI 控制台申请 API Key,然后通过兼容 OpenAI 协议的客户端接入。
① 在 xAI Console (opens new window) 上,注册一个账号。
② 在 API Keys (opens new window) 页面,创建一个 API Key 密钥。
申请完成后,可以在我们系统的 [AI 大模型 -> 控制台 -> API 密钥] 菜单,进行密钥的配置,字段可以按下面填写:
- 名称:
Grok - 所属平台:
Grok - API 密钥:填写上一步创建的 xAI API Key
- 自定义 API URL:不填写,项目默认使用 xAI 官方地址
友情提示:
Grok 官方 API 在部分网络环境下可能连接不上。如果调用失败,可以先检查网络连通性,或者改用可访问的 OpenAI 兼容中转地址。
# 2. 模型配置
友情提示:
目前 ai_model 表中,已经预置了一些模型,可以直接使用!!!
# 2.1 AI 对话
使用 《AI 对话》 时,需要在 [AI 大模型 -> 控制台 -> 模型配置] 菜单,配置对应的聊天模型,字段可以按下面填写:
- 模型名称:
grok-4.3 - 所属平台:
Grok - 模型类型:
聊天 - 模型标识:
grok-4.3 - API 密钥:选择前面配置的 Grok 密钥
- 回复数 Token 数:
8192
不同模型的 max_tokens(回复数 Token 数)上限不同,可以参考下表填写:
| 模型标识 | max_tokens 最大输出 Tokens |
|---|---|
grok-4.3 | 8192 |
grok-4-fast | 8192 |
# 2.2 AI 绘图
TODO 等待 Grok ImageModel 客户端!
# 3. 如何使用?
① 如果你的项目里需要直接通过 @Resource 注入 GrokChatModel 等对象,需要把 application.yaml 配置文件里的 yudao.ai.grok 配置项,替换成你的!
yudao:
ai:
grok: # Grok
enable: true
api-key: ${GROK_API_KEY}
model: grok-4.3
② 如果你希望使用 [AI 大模型 -> 控制台 -> API 密钥] 菜单的密钥配置,则可以通过 AiModelService 的 #getChatModel(...) 方法,获取对应的模型对象。
① 和 ② 这两者的后续使用,就是标准的 Spring AI 客户端的使用,调用对应的方法即可。
另外,GrokChatModelTests 里有对应的测试用例,可以参考。