Microsoft Foundry 模型的端點

Microsoft Foundry Models 透過單一端點與憑證組,提供來自多家供應商的多種模型存取。 這項功能讓你可以在不同模型間切換,並在應用程式中使用,而不必修改程式碼。

本文說明 Foundry 服務如何組織模型,以及如何利用推論端點存取模型。

先決條件

  • Azure 訂用帳戶。 如果您沒有帳戶,請建立 免費帳戶。
  • Microsoft Foundry 的一項資源。 如果沒有,建立 資源並部署模型。
  • 你的資源中至少有一個 模型部署 。
  • 適用於你的程式語言(Python、JavaScript、C# 或 Java)的最新版 OpenAI SDK,或是像 curl 這樣的 REST 用戶端。
  • 若要使用無金鑰驗證,資源上必須具有必要的 Microsoft Entra ID 角色指派。

部署

Foundry 使用部署作為模型存取的別名。 部署為模型命名並設定一組配置。 您可以在要求中使用模型的部署名稱來存取模型。

部署會定義下列項目:

  • 型號名稱
  • 模型版本
  • 配置或容量類型1
  • 內容過濾配置1
  • 速率限制配置1

1 這些配置會根據所選模型而改變。

Foundry 資源可以有多種模型部署。 您只需為模型部署所執行的推論付費。 部署是 Azure 資源,因此受 Azure 政策約束。

欲了解更多關於建立部署的資訊,請參閱 新增與配置模型部署。

Azure OpenAI 推理端點

Azure OpenAI API 展現了 OpenAI 模型的完整功能,並支援更多功能,如助理、執行緒、檔案及批次推論。 你也可以用它來存取非 OpenAI 模型。

Azure OpenAI 端點格式為 https://<resource-name>.openai.azure.com. 端點會對應至部署,而每個部署皆有其專屬的關聯 URL。 不過,您可以使用相同的驗證機制來取用多個部署。 欲了解更多資訊,請參閱 Azure OpenAI API 的參考頁面。

一個示範圖,展示Azure OpenAI 部署中每個部署都包含單一 URL。

部署 URL 是由串接 Azure OpenAI 基底 URL 與路由 /deployments/<model-deployment-name> 而成。 使用 OpenAI v1 API 時,請在基礎網址https://<resource-name>.openai.azure.com/openai/v1/呼叫/openai/v1/路由,並在請求欄位傳入部署名稱model。 路由 /openai/v1/ 採用隱式版本控制,所以你不會傳遞 api-version.

以下範例使用支援最新推論功能的 回應 API。

備註

Responses API 可與 Azure OpenAI 模型以及支援此 API 的 由 Azure 銷售的 Foundry 模型 搭配使用,例如 DeepSeek、Llama 和 Grok 模型。 若部署不支援回應 API,請求會回傳 400 Model not supported。 在這種情況下,請改為呼叫 client.chat.completions.create 以使用 Chat Completions API。

使用 API 金鑰認證

你可以用 Foundry 資源中的 API 金鑰來驗證推論請求。 API 金鑰設定快速,但會授予資源的完整存取權,難以針對特定使用者或操作進行範圍調整,且需要手動輪換以確保安全。 對於生產工作負載,建議改用 Microsoft Entra ID 的無鑰匙認證。

以下範例中,deepseek-v3-0324是 Microsoft Foundry 資源中一個模型部署的名稱。 用你自己的部署名稱取代它,並將 API 金鑰存入環境變數。AZURE_INFERENCE_CREDENTIAL

使用 pip 安裝 openai 套件:

pip install openai --upgrade

建立一個指向 Azure OpenAI v1 端點的客戶端,然後產生回應。 路由 /openai/v1/ 採用隱式版本控制,所以你不會傳遞 api-version. 在 model 欄位中輸入你的部署名稱:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://<resource>.openai.azure.com/openai/v1/",
    api_key=os.environ["AZURE_INFERENCE_CREDENTIAL"],
)

response = client.responses.create(
    model="deepseek-v3-0324",  # Replace with your model deployment name.
    input="Explain the Riemann hypothesis in one paragraph.",
)

print(response.output_text)

欲了解更多如何使用 Azure OpenAI 端點的資訊,請參閱 Azure OpenAI SDK 語言支援。

使用無金鑰認證

已部署的 Foundry 模型支援使用 Microsoft Entra ID 的無密鑰授權。 無鑰匙授權提升安全性、簡化使用者體驗、降低營運複雜度,並提供強健的合規支援。 如果您的組織使用安全且可擴展的身份管理解決方案,請使用無鑰匙授權。

要使用無金鑰認證,請 設定資源並授權使用者執行 推論。 在你設定資源並授權存取後,請依照以下方式進行認證:

使用像 pip 這樣的套件管理器安裝 OpenAI SDK:

pip install openai

若要進行 Microsoft Entra ID 認證,請同時安裝:

pip install azure-identity

使用該套件來取用模型。 以下範例展示了如何利用 Microsoft Entra ID 及您的模型部署,建立客戶端並對回應 API 進行測試呼叫。

請用你的 Foundry 資源名稱替換 <resource> 。 你可以在Azure入口網站找到它,或是通過執行az cognitiveservices account list。 請用你實際的部署名稱來取代 deepseek-v3-0324 。

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://<resource>.openai.azure.com/openai/v1/",
    api_key=token_provider,
)

response = client.responses.create(
    model="deepseek-v3-0324",  # Replace with your model deployment name.
    input="What is Azure AI?",
)

print(response.output_text)

預期產出

Azure AI is a comprehensive suite of artificial intelligence services and tools from Microsoft that enables developers to build intelligent applications. It includes services for natural language processing, computer vision, speech recognition, and machine learning capabilities.

參考資料:OpenAI Python SDK 以及 DefaultAzureCredential class。