大家好吖,我是你們 31 歲、還在持續折騰技術的小米。最近幾天我沉迷了一件事——用 Spring AI + Azure OpenAI 做圖像生成,越玩越停不下來。

你有沒有這種感覺:

當年我們還在研究“怎麼優化圖片加載速度”,結果現在直接一句 prompt,AI 就幫你把圖畫好。不僅會畫,還會理解你的意圖,甚至能幫你畫得更好。

而且!Spring AI 真的太絲滑了,尤其是配合 Azure OpenAI 的圖像能力(比如 DALL·E 3)——簡直像你寫一個配置,Spring 就幫你自動把“畫圖工具”接好。

這篇文章就帶你從零開始,把 Azure OpenAI 圖像模型接入 Spring Boot,跑通你的第一張 AI 圖像生成!

坐穩啦,故事開始~

為什麼我開始折騰 Azure OpenAI 圖像模型?

前段時間,我有個朋友在做一個“智能家居裝修靈感助手”,需要給用户實時生成不同風格的客廳、廚房樣例。當時他問我有沒有簡單點的 Java 接入方案。

我想了想:

  • OpenAI 官方 SDK?也可以,但 Java 生態一般般。
  • Azure OpenAI?企業級穩定性更好,也可以。

那整合方式呢?然後我突然想起 Spring AI

我一試,哎喲我的天,簡直 Java 程序員福音:

  • 自動化配置
  • 提供 ImageClient
  • 能直接轉模型響應
  • 還能擴展模型參數

所以我就搞了一個 Demo,沒想到越搞越爽,最後還生成了我家貓咪的“巴洛克風神像版本”,今天就把全過程分享給你。

Azure OpenAI 圖像模型簡介:Java 黨也能一行 prompt 出圖

Azure OpenAI 的圖像模型本體其實就是 OpenAI 的 DALL·E 系列,只是換成了 Azure 託管,可以綁定你的 Azure 密鑰、計費方式、私有虛擬網絡等能力。

可生成內容包括:

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_封裝

而 Spring AI 提供了一個很絲滑的封裝——ImageClient

你甚至可以直接這樣調用:

imageClient.generate("畫一個衝浪的橘貓");

它就會給你一張高質量圖片。是不是感覺很爽?別急,我們繼續裝環境。

添加依賴:只需要一個 starter

如果你用的是 Maven,加入:

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_Azure_02

如果你是 Gradle:

implementation 'org.springframework.ai:spring-ai-azure-openai'

Spring AI 的理念非常一致:你加上 Starter,其他的它幫你自動裝配好。

配置 Azure OpenAI 憑證:只需三行就能跑圖像模型

在 application.yml 中加上:

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_Java_03

最關鍵的是這兩項:

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_封裝_04

Spring 看到這些配置後,就會自動創建一個 AzureOpenAiImageClient 給你使用。

小米第一次配置成功時,甚至還有點激動——Java 終於能輕鬆玩圖像生成了!

AzureOpenAiImageOptions 可配置項

Spring AI 對 Azure 圖像生成參數做了一層封裝,就是 AzureOpenAiImageOptions。

我給你整理了一張清晰的表格:

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_封裝_05

關鍵點説明:

  • size 越大,越清晰,計費也越高
  • high 質量會增加費用
  • 生成多張圖 n>1 的時候要小心錢包
  • b64_json 適合你要把圖片存數據庫或 OSS 時使用

這一層封裝比直接調用 Azure API 清爽太多了。

調用 ImageClient:寫出你的第一張 AI 圖片

核心代碼非常簡單。

1. 注入 ImageClient

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_Azure_06

Spring 會自動選擇 AzureOpenAiImageClient。

2. 發起文生圖請求

最簡版(小米最常用):

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_Azure_07

進階版(帶可選參數):

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_封裝_08

3. 拿到結果

Java 也能玩高質量 AI 繪圖?SpringAI + Azure OpenAI 真香警告!_Azure_09

點開就是生成的圖像!我第一次看到自己的 prompt 變成圖像時,真的有點震撼。科技的進步,比我頭髮掉得還快。

Java 玩圖像生成,很舒服了

如果你是 Java 後端工程師,可能以前覺得“生成圖片”“這些都是前端或 Python 的活”。但 Spring AI + Azure OpenAI 出來之後,這個局面真的變了。

你可以:

  • 給你的業務系統加入自動生成插畫
  • 給用户生成定製頭像(比如“賽博朋克風的我”)
  • 生成裝修圖、產品海報、廣告樣機
  • 甚至為內部系統生成自動 PPT 封面圖
  • 結合聊天模型做 Prompt 迭代,生成更精準圖片

而所有這些,只要你寫過 Spring Boot,就能立刻上手。

結語:別錯過 Spring AI 這波紅利

如果你之前沒接觸過 AI 模型,你可能會覺得“AI 開發好麻煩”。但 Spring AI 的出現,把這一切變成了簡單的“寫配置 + 調方法”。

Java 的 AI 生態正在從“沒人做”邁向“誰都能用”,而 Azure OpenAI 的企業級穩定性,更是讓它可以放心上正式環境。

我現在已經給我們團隊內部搞了好幾個 Demo:

  • 自動生成文章封面
  • 幫產品經理生成界面草圖
  • 讓後台系統根據日誌生成圖形化解釋圖

每個都被誇到飛起。

END

我是小米,一個喜歡分享技術的31歲程序員。如果你喜歡我的文章,歡迎關注我的微信公眾號“軟件求生”,獲取更多技術乾貨!