【模型接入】文心一言
项目基于 Spring AI + 自己实现的 models/yiyan,实现 文心一言 (opens new window) 的接入:
| 功能 | 模型 | Spring AI 客户端 |
|---|---|---|
| AI 对话 | ERNIE-4.0、ERNIE-3.5 等 | YiYanChatClient |
| AI 绘画 | 暂未接入 | 暂未支持 |
补充说明:
通义千问支持 图片生成 (opens new window),未来我们也会进行集成。
# 1. 申请密钥
由于文心一言是非开源的模型,所以无法私有化部署,需要去官网申请 API Key,然后通过 Spring AI 提供的客户端接入。
# 1.1 申请百度云密钥
① 在 百度智能云 (opens new window) 上,注册一个账号。
② 在百度智能云上,创建一个 应用 (opens new window),获得到 API Key、Secret Key。

申请完成后,可以在我们系统的 [AI 大模型 -> 控制台 -> API 密钥] 菜单,进行密钥的配置。只需要填写“密钥”(${API Key}|${Secret Key}),不需要填写“自定义 API URL”(因为 Spring AI 默认官方地址)。如下图所示:

# 1.2 补充说明
如果后续你要体验 《AI 对话》 ,需要在 [AI 大模型 -> 控制台 -> 聊天模型] 菜单,配置对应的聊天模型。注意,每个模型标识的 max_tokens(回复数 Token 数)一般是 2048。
具体有哪些模型,可以点击 千帆大模型平台 (opens new window) 进行查看。例如说:ERNIE-4.0-8K、ERNIE-3.5-8K 等等。
# 2. 如何使用?
① 如果你的项目里需要直接通过 @Resource 注入 OpenAiChatClient、OpenAiImageClient 等对象,需要把 application.yaml 配置文件里的 yudao.ai.yiyan 配置项,替换成你的!
yudao.ai:
yiyan:
enable: true
aiPlatform: YI_YAN
max-tokens: 1500
temperature: 0.85
topP: 0.8
topK: 0
appKey: x0cuLZ7XsaTCU08vuJWO87Lg # 你的 App Key
secretKey: R9mYF9dl9KASgi5RUq0FQt3wRisSnOcK # 你的 Secret Key
refreshTokenSecondTime: 86400
model: ERNIE4_3_5_8K
② 如果你希望使用 [AI 大模型 -> 控制台 -> API 密钥] 菜单的密钥配置,则可以通过 AiApiKeyService 的 #getStreamingChatClient(...) 或 #getImageClient(...) 方法,获取对应的客户端对象。
① 和 ② 这两者的后续使用,就是标准的 Spring AI 客户端的使用,调用对应的方法即可。