Azure OpenAI Chat Model 拋出「API 版本不支援」錯誤

嘿各位,

我們在 Azure(他們的 foundry)上託管模型,但似乎無法在 AI agent 節點中將這些模型用作「聊天模型」。

我試過多個不同的模型(deepseek、OpenAI 的模型等),但總是拋出相同的錯誤。

「不支援的 API 版本」。

我認為這與這些模型傳送聊天完成類型的 payload,而不是使用目前標準的 Response API payload 有關。

有什麼想法如何修復嗎?

或者如何在 n8n agent 節點中實際使用 Azure foundry 上託管的模型?

謝謝!

@Adam_Luka 這不是 payload 的問題,而是你的 Azure OpenAI 認證中的 API 版本欄位,那個錯誤表示設定的值在你的資源上不受支援。將它設定為目前支援的 api-version(Microsoft 的 Azure OpenAI API 版本棄用頁面列出哪些是有效的,哪些已停用)。有一點需要注意,Azure OpenAI 節點只針對 OpenAI 部署,非 OpenAI Foundry 模型(如 Deepseek)會透過 Azure AI 推論端點,而不是這個節點。

我嘗試了認證中的多個 API 版本,但似乎都不起作用。

這與 AI agent 節點綁定到 Chat completions payload,而不是 response API 有關。

看起來 n8n 在這方面確實落後了。

@Adam_Luka

你可以在聊天模型中關閉這個功能嗎?

image

@Adam_Luka 更正一下,它「確實」可以連接,只是不能通過 Azure OpenAI 節點進行,請改用 OpenAI Chat Model 節點,並將認證中的基礎 URL 設定為你的 foundry openai-compatible 端點(https://{your-project}.services.ai.azure.com/openai/v1),加上你的 foundry API 金鑰。Azure OpenAI 節點仍然鎖定在經典的 .openai.azure.com chat-completions 介面,這就是為什麼它拒絕了你嘗試的每個 api-version。

@Adam_Luka

在 n8n 版本 2.20.0 左右出現了一個已報告的問題,Azure 節點開始強制使用 /responses 端點,而沒有切換回去的選項。如果您最近進行了更新且出現了問題,某些使用者已透過將其 Docker 映像固定在 n8nio/n8n:2.19.5 找到了穩定性,直到在 Azure 節點中新增正式的「使用 Responses API」切換為止。

您可以試試看嗎?

歡迎 @Adam_Luka!

核心問題是 n8n 中的 Azure OpenAI Chat Model 節點被硬編碼為使用 Azure OpenAI 推理路徑(/openai/deployments/{deployment}/chat/completions),這僅適用於 Azure 上由 OpenAI 託管的模型。透過 Azure AI Foundry 部署的非 OpenAI 模型(如 DeepSeek)使用完全不同的端點格式。

對於這些模型,最簡便的方法是使用 OpenAI Chat Model 節點(而非 Azure 節點),並直接將其指向 Azure AI Foundry 推理端點 - 端點看起來像 https://{your-project}.services.ai.azure.com/models,並接受 API 金鑰。在認證中,將基礎 URL 設定為該端點,並使用您的 Azure AI Foundry API 金鑰。模型名稱應與 Foundry 中的部署名稱相符。

如果您想繼續使用 Azure OpenAI 節點,它將僅正確適用於部署到 Azure OpenAI Service 的 OpenAI 發佈模型(GPT-4o 等),而非 Azure AI Foundry。

嘿 @nguyenthieutoan,

感謝你為我指點迷津!

如果有人遇到同樣的問題,解決方案與上面分享的非常接近,只需做出幾個小改動:

  1. 使用 OpenAI Chat Model 節點
  2. 設定認證時,使用以下資訊:
    1. Api key - 你的 Foundry API 金鑰
    2. 但 Base URL 略有不同,不是 /models 而是:https://{your-project}.services.ai.azure.com/openai/v1
  3. 然後你可以選擇想要使用的模型

再次感謝各位!