Microsoft Foundry Models v1 API 中的 Azure OpenAI

本文將教你如何使用 v1 Azure OpenAI API。 v1 API 簡化了認證,消除了對過 api-version 時參數的需求,並支援跨提供者的模型呼叫。

API回應中可能隨時新增新的回應物件。 我們建議你只解析你需要的回應物件。

先決條件

API 演進

過去,Azure OpenAI 每月都會收到新 API 版本的更新。 利用新功能需要每次 API 更新時不斷更新程式碼和環境變數。 Azure OpenAI 還需要額外使用 Azure 專用客戶端,這在 OpenAI 與 Azure OpenAI 之間遷移程式碼時產生了額外負擔。

自 2025 年 8 月起,您可以選擇加入下一代 v1 Azure OpenAI API,這些 API 將新增以下支援:

  • 持續使用最新功能,無需每月指定新 api-version功能。
  • API 發布週期更快,新功能更新頻率更高。
  • OpenAI 用戶端支援,程式碼變更最小,能在使用基於金鑰的驗證時,在 OpenAI 與 Azure OpenAI 之間切換。
  • OpenAI 用戶端支援基於憑證的認證與自動憑證更新,無需依賴獨立的 Azure OpenAI 用戶端。
  • 使用支援 v1 聊天完成語法的其他供應商模型,例如 DeepSeek 和 Grok,進行聊天完成通話。

對於仍處於預覽階段的新 API 呼叫,將透過傳遞功能專屬的預覽標頭來控制,讓你能選擇加入想要的功能,無需更換 API 版本。 或者,有些功能會透過 API 路徑顯示預覽狀態,且不需要額外的標頭。

舉例:

  • /openai/v1/evals 之前的預覽階段,需要傳遞 "aoai-evals":"preview" 標頭。 /evals 已不再預覽。
  • /openai/v1/fine_tuning/alpha/graders/ 目前處於預覽階段,且由於 在 API 路徑中存在, alpha 不需要自訂標頭。

在最初的 v1 正式可用(GA)API 發布中,僅支援部分推論與創作 API 功能。 所有 GA 功能均支援生產環境使用。 我們正在快速增加對更多功能的支援。

法規變更

v1 API

Python v1 範例

API 關鍵碼

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),
    base_url="https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/"
)

response = client.responses.create(   
  model="gpt-4.1-nano", # Replace with your model deployment name 
  input="This is a test.",
)

print(response.model_dump_json(indent=2)) 

與先前 API 的主要差異:

  • OpenAI() 客戶端被用來取代 AzureOpenAI()
  • base_url 傳遞 Azure OpenAI 端點,並附加 /openai/v1 於端點位址後。
  • api-version 在 v1 GA API 中不再是必備參數。

帶有環境變數的 API 金鑰

執行程式碼前,請設定以下環境變數:

變數 價值
OPENAI_BASE_URL https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/
OPENAI_API_KEY 您的 Azure OpenAI API 金鑰

接著建立沒有參數的客戶端:

client = OpenAI()

Microsoft Entra ID

重要

過去自動憑證更新的處理是透過 AzureOpenAI() 用戶端來處理。 v1 API 透過為用戶端新增自動憑證刷新支援 OpenAI() ,移除了這種依賴。

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key = token_provider  
)

response = client.responses.create(
    model="gpt-4.1-nano",
    input= "This is a test" 
)

print(response.model_dump_json(indent=2)) 
  • base_url 傳遞 Azure OpenAI 端點,並附加 /openai/v1 於端點位址後。
  • api_key 參數設為 token_provider,可自動檢索並刷新認證權杖,而非使用靜態 API 金鑰。

模型支援

對於Azure OpenAI 模型,我們建議使用 Responses API ,不過 v1 API 也允許你用其他供應商的模型進行聊天完成呼叫,例如支援 OpenAI v1 聊天完成語法的 DeepSeek 和 Grok。

base_url會接受https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/https://YOUR-RESOURCE-NAME.services.ai.azure.com/openai/v1/兩種格式。

Responses API 也支援 Azure 直接販售的 Foundry 模型,例如 Microsoft AI、Deepseek 和 Grok 模型。 欲了解如何在這些模型中使用回應 API,請參閱 如何用 Microsoft Foundry 模型產生文字回應

from openai import OpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default"
)

client = OpenAI(  
  base_url = "https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/",  
  api_key=token_provider,
)
completion = client.chat.completions.create(
  model="MAI-DS-R1", # Replace with your model deployment name.
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Tell me about the attention is all you need paper"}
  ]
)

#print(completion.choices[0].message)
print(completion.model_dump_json(indent=2))

v1 API 支援

API 版本變更日誌

以下章節將總結 API 版本間的變更。

v1 預覽版與 2025-04-01-preview 之間的變更

  • v1 preview API
  • 影片產生支援
  • 回應 API 功能:
    • 遠端模型情境協定(MCP)伺服器工具整合
    • 支援非同步背景任務
    • 加密推理項目
    • 影像生成

2025-04-01-preview 與 2025-03-01-preview 之間的變動

2025-03-01-preview 與 2025-02-01-preview 之間的變更

2025-02-01-預覽與2025-01-01預覽之間的變更

  • 儲存完成結果(支援蒸餾 API)。

2025-01-01-預覽與2024-12-01-預覽之間的變動

2024-12-01-預覽與2024-10-01預覽之間的變動

2024-09-01-預覽與2024-08-01預覽之間的變動

  • max_completion_tokens 新增支援 o1-previewo1-mini 模型。 max_tokens O1 系列機型無法使用。
  • parallel_tool_calls 補充。
  • completion_tokens_detailsreasoning_tokens 被加上。
  • stream_optionsinclude_usage 被加上。

2024-07-01-preview 與 2024-08-01 預覽 API 規範之間的變更

  • 結構化輸出支援
  • 新增大型檔案上傳 API。
  • 關於您的資料變更:
    • Mongo 資料庫整合。
    • role_information 參數已移除。
    • rerank_score 被加入引用物件。
    • 反洗錢資料來源已移除。
    • AI 搜尋向量化整合改進。

2024-05-01-preview 與 2024-07-01-preview API 規範之間的變更

2024-04-01-preview 與 2024-05-01-preview API 規範之間的變更

2024-03-01-preview 與 2024-04-01-preview API 規範之間的變更

已知問題

  • 2025-04-01-preview Azure OpenAI 規範使用 OpenAPI 3.1。 這個版本在 Azure API 管理 上沒有完全支援,這是眾所周知的問題。

下一步