Azure AI 模型推論是一個 API,提供基礎模型的共通能力,開發者可使用以統一且一致的方式從多元模型中獲取預測結果。 開發者可以在不更改底層程式碼的情況下,與部署在 Azure AI Foundry 入口網站中的不同模型對話。
福利
基礎模型,如語言模型,近年來確實取得了顯著進展。 這些進步革新了多個領域,包括自然語言處理與電腦視覺,並促成了聊天機器人、虛擬助理及語言翻譯服務等應用的誕生。
雖然基礎模型在特定領域表現優異,但缺乏統一的能力。 有些模型在特定任務上表現較佳,即使在同一任務中,有些模型可能以某種方式解決問題,而有些則不同。 開發者可以透過 使用合適的模型來完成正確的工作 ,從而從這種多樣性中受益,從而能夠:
- 提升特定下游任務的表現。
- 對於較簡單的任務,使用更有效率的模型。
- 使用較小的模型,能在特定任務上更快運行。
- 組合多個模型以發展智慧體驗。
擁有統一的基礎模型使用方式,讓開發者能在不犧牲可攜性或更改底層程式碼的情況下,實現所有這些好處。
推論 SDK 支援
Azure AI 推論套件允許你使用所有支援 Azure AI 模型推論 API 的模型,並輕鬆在模型間切換。 Azure AI 推論套件是 Azure AI Foundry SDK 的一部分。
| 語言 | 文件資料 | Package | Examples |
|---|---|---|---|
| C# | 參考資料 | azure-ai-inference (NuGet) | C# 範例 |
| JAVA | 參考資料 | azure-ai-inference(Maven) | Java 範例 |
| JavaScript | 參考資料 | @azure/ai-inference (npm) | JavaScript 範例 |
| Python | 參考資料 | azure-ai-inference (PyPi) | Python 範例 |
能力
以下章節說明 API 所展現的一些功能:
Modalities
API 說明開發者如何處理以下模式的預測:
Extensibility
Azure AI 模型推論 API 指定了一組模型可訂閱的模態與參數。 然而,有些模型可能具備 API 所顯示的更多功能。 在這些情況下,API 允許開發者將這些參數作為額外參數傳遞到有效載荷中。
透過設定標頭 extra-parameters: pass-through,API 會嘗試將任何未知參數直接傳給底層模型。 如果模型能處理該參數,請求即完成。
以下範例展示了一個由 Mistral-Large 支援的參數 safe_prompt 的請求,該參數並未在 Azure AI 模型推論 API 中指定。
請求
POST /chat/completions?api-version=2025-04-01
Authorization: Bearer <bearer-token>
Content-Type: application/json
extra-parameters: pass-through
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "text" },
"safe_prompt": true
}
Note
預設 extra-parameters 值為 , error 若有效載荷中標示額外參數,則會回傳錯誤。 或者,你也可以設定 extra-parameters: drop 在請求中丟棄任何未知參數。 如果你剛好發送帶有額外參數的請求,知道模型不支援,但你仍希望請求完成,可以使用這個功能。 一個典型的例子是參數 seed 指示。
具備不同能力組合的模型
Azure AI 模型推論 API 會顯示一組通用的能力,但每個模型都可以自行決定是否實作這些能力。 當模型無法支援特定參數時,會回傳特定錯誤。
以下範例展示了聊天完成請求的回應,標示參數 reponse_format 並以格式請求回覆 JSON 。 在範例中,由於模型不支援此功能,使用者會回傳錯誤 422。
請求
POST /chat/completions?api-version=2025-04-01
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Explain Riemann's conjecture in 1 paragraph"
}
],
"temperature": 0,
"top_p": 1,
"response_format": { "type": "json_object" },
}
回應
{
"status": 422,
"code": "parameter_not_supported",
"detail": {
"loc": [ "body", "response_format" ],
"input": "json_object"
},
"message": "One of the parameters contain invalid values."
}
Tip
你可以檢查該屬性 details.loc ,了解問題參數的位置,並 details.input 查看請求中傳遞的值。
內容安全性
Azure AI 模型推論 API 支援 Azure AI 內容安全。 啟用 Azure AI 內容安全 部署時,輸入與輸出會經過一系列分類模型,旨在偵測並防止有害內容的輸出。 內容過濾(預覽)系統會在輸入提示與輸出補全中偵測並對特定類別的潛在有害內容採取行動。
以下範例展示了觸發內容安全的聊天完成請求的回應。
請求
POST /chat/completions?api-version=2025-04-01
Authorization: Bearer <bearer-token>
Content-Type: application/json
{
"messages": [
{
"role": "system",
"content": "You are a helpful assistant"
},
{
"role": "user",
"content": "Chopping tomatoes and cutting them into cubes or wedges are great ways to practice your knife skills."
}
],
"temperature": 0,
"top_p": 1,
}
回應
{
"status": 400,
"code": "content_filter",
"message": "The response was filtered",
"param": "messages",
"type": null
}
入門指南
Azure AI 模型推論 API 可於 Azure AI Services 資源中取得。 你可以像其他Azure產品一樣開始使用, 在你的 Azure 訂閱中建立並設定 AI 模型推論 或服務實例的Azure資源。 你可以建立足夠多的資源,並獨立配置,以防多個團隊需求不同。
一旦你建立了 Azure AI 服務資源,必須先部署模型,才能開始進行 API 呼叫。 預設情況下,它沒有可用的模型,所以你可以自行決定從哪些模型開始。 請參閱教學