權杖管理

已完成

假設您的 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 正在使用的權杖數目。 這項強大的功能可協助您最佳化資源,並做出調整與資源管理方面的明智決策。

檢定您的知識

1.

如何利用權杖限制原則來管理 API 使用方式?

2.

Azure API 管理中的權杖計量原則適用的維度有哪些,原因為何?