一、OpenAI SDK 图像生成(官方)
Spring AI 通过 OpenAI Java SDK 支持 OpenAI 的 DALL-E 图像生成模型,提供了与 OpenAI 服务(包括 Microsoft Foundry 和 GitHub Models)的健壮且官方维护的集成。
此实现使用 OpenAI 官方的 OpenAI Java SDK。有关 Spring AI 的替代实现,请参阅 OpenAI 图像生成。
DALL-E 是 OpenAI 最先进的图像生成模型,可以根据自然语言描述创建逼真的图像和艺术作品。
OpenAI SDK 模块会根据您提供的基础 URL 自动检测服务提供商(OpenAI、Microsoft Foundry 或 GitHub Models)。
二、认证
认证使用基础 URL 和 API 密钥完成。该实现通过 Spring Boot 属性或环境变量提供灵活的配置选项。
2.1 使用 OpenAI
如果您直接使用 OpenAI,请在 OpenAI 注册页面 创建账户,并在 API 密钥页面 生成 API 密钥。
基础 URL 无需设置,默认为 api.openai.com/v1:
spring.ai.openai-sdk.api-key=<your-openai-api-key># base-url 是可选的,默认为 https://api.openai.com/v1或使用环境变量:
exportOPENAI_API_KEY=<your-openai-api-key># OPENAI_BASE_URL 是可选的,默认为 https://api.openai.com/v12.2 使用 Microsoft Foundry
当使用 Microsoft Foundry URL 时,会自动检测到 Microsoft Foundry。您可以使用属性进行配置:
spring.ai.openai-sdk.base-url=https://<your-deployment-url>.openai.azure.com spring.ai.openai-sdk.api-key=<your-api-key>spring.ai.openai-sdk.microsoft-deployment-name=<your-deployment-name>或使用环境变量:
exportOPENAI_BASE_URL=https://<your-deployment-url>.openai.azure.comexportOPENAI_API_KEY=<your-api-key>无密码认证(Azure 推荐):
Microsoft Foundry 支持无密码认证,无需提供 API 密钥,这在 Azure 上运行时更安全。
要启用无密码认证,请添加 com.azure:azure-identity 依赖:
<dependency><groupId>com.azure</groupId><artifactId>azure-identity</artifactId></dependency>然后配置时不提供 API 密钥:
spring.ai.openai-sdk.base-url=https://<your-deployment-url>.openai.azure.com spring.ai.openai-sdk.microsoft-deployment-name=<your-deployment-name># 无需 api-key - 将使用环境中的 Azure 凭据2.3 使用 GitHub Models
当使用 GitHub Models 的基础 URL 时,会自动检测到 GitHub Models。您需要创建一个具有 models:read 范围的 GitHub 个人访问令牌(PAT)。
spring.ai.openai-sdk.base-url=https://models.inference.ai.azure.com spring.ai.openai-sdk.api-key=github_pat_XXXXXXXXXXX或使用环境变量:
exportOPENAI_BASE_U