適用於:所有 APIM 層
此原則會 azure-openai-emit-token-metric 透過 Azure OpenAI 服務 API,將自定義計量傳送至 Application Insights,以瞭解如何取用大型語言模型令牌。 權杖計數計量包括:權杖總數、提示權杖和完成權杖。
Note
請依照原則陳述式中提供的順序,來設定原則的元素和子元素。 深入了解如何設定或編輯 APIM 原則。
Azure AI Foundry 模型中支援的 Azure OpenAI
原則會與下列類型的 AI Foundry 模型中從 Azure OpenAI 新增至 API 管理 的 API 搭配使用:
| API 類型 | 支援的模型 |
|---|---|
| 對話完成 | gpt-3.5gpt-4gpt-4ogpt-4o-minio1o3 |
| Embeddings | text-embedding-3-largetext-embedding-3-smalltext-embedding-ada-002 |
| 回應 (預覽) |
gpt-4o (版本: 2024-11-20、 2024-08-06、 2024-05-13)gpt-4o-mini (版本: 2024-07-18)gpt-4.1 (版本: 2025-04-14)gpt-4.1-nano (版本: 2025-04-14)gpt-4.1-mini (版本: 2025-04-14)gpt-image-1 (版本: 2025-04-15)o3 (版本: 2025-04-16)o4-mini (版本: '2025-04-16) |
Note
傳統完成 API 僅適用於舊版模型,且支援有限。
如需模型及其功能的目前資訊,請參閱 Foundry 模型中的 Azure OpenAI。
自訂計量的限制
Azure 監視器會針對自訂計量施加使用量限制,其可能會對您從 APIM 發出計量的能力產生影響。 例如,Azure 監視器目前會為每個計量設定 10 個維度索引鍵的限制,以及為訂用帳戶中的每個區域設定總計 50,000 個使用中時間序列的限制 (在 12 小時內)。 在 API 管理中,其中 5 個用於預設維度,包括下列各項:
- Region
- 服務識別碼
- 服務名稱
- 服務類型
這些限制對於在 API 管理 原則中設定自訂計量有下列影響,例如 emit-metric 或 azure-openai-emit-token-metric:
每個原則最多可以設定 5 個自定義維度。
原則在 12 小時內所產生的使用中時間序列數目,是在該期間內每個已設定維度之唯一值數目的乘積。 例如,如果在原則中設定了三個自訂維度,而且每個維度在該期間內都有 10 個可能的值,則 原則會提供 1,000 (10 x 10 x 10) 個使用中時間序列。
如果您在位於訂用帳戶相同區域內的多個 APIM 執行個體中設定 原則,則所有執行個體可能都會影響區域使用中時間序列限制。
深入瞭解 Azure 監視器中自定義計量的設計限制和考慮 。
Prerequisites
- 您必須將一或多個 Azure OpenAI 服務 API 新增至您的 APIM 執行個體。 如需詳細資訊,請參閱將 Azure OpenAI 服務 API 新增至 Azure APIM。
- 您的 APIM 執行個體必須與 Application Insights 整合。 如需詳細資訊,請參閱如何整合 Azure APIM 與 Azure Application Insights。
- 為您的 Azure OpenAI API 啟用 Application Insights 記錄。
- 在 Application Insights 中啟用維度的自訂計量。 如需詳細資訊,請參閱發出自訂計量。
政策聲明
<azure-openai-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</azure-openai-emit-token-metric>
Attributes
| Attribute | Description | Required | 預設值 |
|---|---|---|---|
| 命名空間 | 一個字串。 計量的命名空間。 不允許使用原則運算式。 | No | API Management |
Elements
| Element | Description | Required |
|---|---|---|
| dimension | 為自訂計量中包含的每個維度新增一或多個這些元素。 | Yes |
維度屬性
| Attribute | Description | Required | 預設值 |
|---|---|---|---|
| name | 字串或原則運算式。 維度的名稱。 | Yes | N/A |
| value | 字串或原則運算式。 維度的值。 只有在 name 符合其中一個預設維度時,才能省略。 若是如此,則會根據維度名稱提供值。 |
No | N/A |
無需值即可使用的預設維度名稱
- API ID
- 作業識別碼
- 產品識別碼
- 使用者識別碼
- 訂用帳戶識別碼
- Location
- 閘道識別碼
- 後端ID
Usage
使用量注意事項
- 每個原則定義可以使用此原則多次。
- 您可以為此原則設定最多5個自定義維度。
- 使用入口網站從 Azure OpenAI 服務新增 API 時,可以選擇性地設定此原則。
- 可用時,會使用 Azure OpenAI 服務 API 回應使用量區段中的值來判斷權杖計量。
- 某些 Azure OpenAI 端點支持回應串流。 當 API 要求中的
stream設定為true以啟用串流時,會估計權杖計量。
Example
下列範例會將 Azure OpenAI 令牌計數計量傳送至 Application Insights,以及 API 標識碼作為預設維度。
<policies>
<inbound>
<azure-openai-emit-token-metric
namespace="AzureOpenAI">
<dimension name="API ID" />
</azure-openai-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
相關原則
相關內容
如需使用原則的詳細資訊,請參閱:
- 教學課程:轉換及保護 API
- 原則參考,取得原則陳述式及其設定的完整清單
- 政策表達
- 設定或編輯原則
- 重複使用原則設定
- 原則程式碼片段存放庫 (英文)
- 原則遊樂場存放庫
- Azure API 管理 原則工具組
- 取得 Copilot 協助以建立、說明及疑難排解原則