權杖管理
假設您的 API 流量突然激增,這有可能是因為促銷或其他緣故。 若要避免過度使用和可能的服務中斷,您必須了解如何管理。
Azure OpenAI 權杖限制原則
如本單元開頭所述,突然激增是您必須要處理的。 好消息是,Azure API 管理具有名為「權杖限制原則」的功能。
此原則可讓客戶設定權杖使用量的限制 (以每分鐘的權杖數 (TPM) 表示),並確保能公平、有效地使用 OpenAI 資源。
主要功能
此原則的主要功能包括:
- 精確控制:客戶可對各種計數器金鑰 (例如訂用帳戶金鑰或 IP 位址) 指派權杖型限制,根據特定使用案例自訂強制執行方式。
- 即時監視:此原則需仰賴從 OpenAI 端點傳回的權杖使用計量,以即時精確監視和強制執行限制。
- 預先計算權杖:此功能可在 Azure API 管理端預先計算提示權杖,並在超過限制後盡可能減少對 OpenAI 後端的非必要要求。
- 增強型自訂:客戶可在原則內套用標頭和變數 (例如已取用的權杖和剩餘權杖),以實現更好的控制和自訂。
如您所見,有許多功能可協助您管理成本,且藉助於即時監視,您得以確保不會超過限制。
如何使用
若要使用此原則,您必須將其新增至 API 作業的輸入處理管線。 其具體做法如下:
<azure-openai-token-limit counter-key="key value"
tokens-per-minute="number"
estimate-prompt-tokens="true | false"
retry-after-header-name="custom header name, replaces default 'Retry-After'"
retry-after-variable-name="policy expression variable name"
remaining-tokens-header-name="header name"
remaining-tokens-variable-name="policy expression variable name"
tokens-consumed-header-name="header name"
tokens-consumed-variable-name="policy expression variable name" />
您可以設定多種屬性,但最重要的屬性是:
- counter-key:用來計算權杖的金鑰。 此值可以是訂用帳戶金鑰或 IP 位址。
- tokens-per-minute:每分鐘允許的權杖數目。
- estimate-prompt-tokens:是否要估計提示權杖。
Azure OpenAI 發出權杖計量原則
此原則可因應使用 Azure OpenAI 模型在應用程式中的詳細監視和分析權杖使用方式的需求。
提供全方位的計量,可協助組織:
- 最佳化資源配置:有效了解和管理權杖使用量。
- 改善決策:深入了解使用模式,以做出調整與資源管理方面的明智決策。
- 增強效能監視:追蹤並分析權杖使用方式,以主動識別並解決潛在問題
如何使用發出權杖計量原則
若要使用此原則,您必須將其新增至 API 作業的輸入處理管線。 以下是在 XML 中為其編碼的方式:
<azure-openai-emit-token-metric
namespace="metric namespace" >
<dimension name="dimension name" value="dimension value" />
...additional dimensions...
</azure-openai-emit-token-metric>
以下是使用數個維度的範例:
<policies>
<inbound>
<azure-openai-emit-token-metric
namespace="AzureOpenAI">
<dimension name="User ID" />
<dimension name="Client IP" value="@(context.Request.IpAddress)" />
<dimension name="API ID" />
</azure-openai-emit-token-metric>
</inbound>
<outbound>
</outbound>
</policies>
在前述範例中:
- 此原則設定為將權杖計量發出至 AzureOpenAI 命名空間,維度為使用者識別碼、用戶端 IP,以及 API 識別碼。
- 「用戶端 IP」維度的值設定為提出要求之用戶端的 IP 位址。
假設您現在可以在儀表板中顯示這些計量,並且可即時監視 API 的使用方式。 例如,您可以看到特定使用者正在使用的權杖數目,或特定 API 正在使用的權杖數目。 這項強大的功能可協助您最佳化資源,並做出調整與資源管理方面的明智決策。