【模型接入】讯飞星火
项目基于 Spring AI + 自己实现的 models/xinghu,实现 讯飞星火大模型 (opens new window) 的接入:
| 功能 | 模型 | Spring AI 客户端 |
|---|---|---|
| AI 对话 | Spark X2、Spark X2 Flash | XingHuoChatModel |
| AI 绘画 | 暂未接入 | 暂未支持 |
补充说明:
讯飞星火支持 图片生成 (opens new window),未来我们也会进行集成。
# 1. 申请密钥
由于讯飞星火是非开源的模型,所以无法私有化部署,需要去官网申请 API Key,然后通过 Spring AI 提供的客户端接入。
# 1.1 申请讯飞密钥
① 在 讯飞星火 (opens new window) 上,注册一个账号。
② 在 讯飞星火 (opens new window) 上,点击【免费试用】按钮,创建一个应用。
③ 在 控制台 (opens new window) 里,开通 Spark X2 或 Spark X2 Flash,并获取 HTTP 协议的 API Key。

申请完成后,可以在我们系统的 [AI 大模型 -> 控制台 -> API 密钥] 菜单,进行密钥的配置。只需要填写“密钥”,模型对应的接口地址由系统自动选择。如下图所示:

# 2. 模型配置
友情提示:
目前 ai_model 表中,已经预置了一些模型,可以直接使用!!!
# 2.1 AI 对话
使用 《AI 对话》 时,需要在 [AI 大模型 -> 控制台 -> 模型配置] 菜单,配置对应的聊天模型。
不同版本的 max_tokens(回复数 Token 数)上限不同,可以参考下表填写:
| 模型标识 | max_tokens 最大输出 Tokens | 接口地址 |
|---|---|---|
x2 | 131072 | 接口地址 (opens new window) |
x2-flash | 262144 | 接口地址 (opens new window) |
# 2.2 AI 绘画
TODO 等待 ImageModel 客户端!
# 3. 如何使用?
① 如果你的项目里需要直接通过 @Resource 注入 XingHuoChatModel 等对象,需要把 application.yaml 配置文件里的 yudao.ai.xinghuo 配置项,替换成你的!
yudao:
ai:
xinghuo:
enable: true
api-key: ${XINGHUO_API_KEY}
model: x2-flash
② 如果你希望使用 [AI 大模型 -> 控制台 -> API 密钥] 菜单的密钥配置,则可以通过 AiModelService 的 #getChatModel(...),获取对应的模型对象。
① 和 ② 这两者的后续使用,就是标准的 Spring AI 客户端的使用,调用对应的方法即可。
另外,XingHuoChatModelTests 里有对应的测试用例,可以参考。