【模型接入】微软 OpenAI
项目基于 Spring AI 2.x 的 spring-ai-openai (opens new window),通过 Azure 模式实现微软 Azure 上部署的 OpenAI 的接入:
| 功能 | 模型 | Spring AI 客户端 |
|---|---|---|
| AI 对话 | GPT-5.5、GPT-5.4、GPT-5.4 mini 等 | Azure OpenAI Chat (opens new window) |
| AI 绘画 | DALL (opens new window) | Azure OpenAI Image Generation (opens new window) |
# 1. 申请密钥
# 1.1 Azure API 申请
可以在 微软 Azure AI (opens new window) 进行申请申请。
我暂时没申请过,是由 社区小伙伴 (opens new window) 提供密钥进行接入的,应该不复杂。
申请完成后,应该会有类似的模型列表。如下图所示:

购买完成后,可以在我们系统的 [AI 大模型 -> 控制台 -> API 密钥] 菜单,进行密钥的配置。需要填写“密钥” + “自定义 API URL”。如下图所示:

# 2. 模型配置
友情提示:
目前 ai_model 表中,已经预置了一些模型,可以直接使用!!!
# 2.1 AI 对话
使用 《AI 对话》 时,需要在 [AI 大模型 -> 控制台 -> 模型配置] 菜单,配置对应的聊天模型。
注意,微软 Azure OpenAI 的“模型标识”,需要填写你在 Azure 上创建的模型部署名称(deployment name)。如果部署名称和模型名称保持一致,可以参考下表填写:
不同模型的 max_tokens(回复数 Token 数)上限不同,可以参考下表填写:
| 模型标识 | max_tokens 最大输出 Tokens |
|---|---|
gpt-5.5 | 128000 |
gpt-5.4 | 128000 |
gpt-5.4-mini | 128000 |
# 2.2 AI 绘画
TODO 暂未接入
# 3. 如何使用?
① 如果你的项目里需要直接通过 @Resource 注入 OpenAiChatModel 等对象,需要把 application.yaml 配置文件里的 spring.ai.openai 配置项,替换成你的!
spring:
ai:
openai:
base-url: https://eastusprejade.openai.azure.com
api-key: xxx
chat:
options:
model: gpt-5.4
microsoft-foundry: true
microsoft-deployment-name: gpt-5.4 # Azure 上创建的模型部署名称
② 如果你希望使用 [AI 大模型 -> 控制台 -> API 密钥] 菜单的密钥配置,则可以通过 AiModelService 的 #getChatModel(...),获取对应的模型对象。
① 和 ② 这两者的后续使用,就是标准的 Spring AI 客户端的使用,调用对应的方法即可。
另外,AzureOpenAIChatModelTests 里有对应的测试用例,可以参考。