Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
SE APLICA A: Desarrollador | Básico | Básico v2 | Estándar | Standard v2 | Premium |Premium v2
La azure-openai-token-limit
directiva impide los picos de uso de la API de Azure OpenAI en Foundry Models por clave limitando el consumo de tokens del modelo de lenguaje a una tasa especificada (número por minuto), una cuota durante un período especificado o ambos. Cuando se supera un límite de velocidad de tokens especificado, el autor de la llamada recibe un 429 Too Many Requests
código de estado de respuesta. Cuando se supera una cuota especificada, el autor de la llamada recibe un 403 Forbidden
código de estado de respuesta.
Al confiar en las métricas de uso de tokens devueltas desde el punto de conexión de OpenAI, la directiva puede supervisar y aplicar con precisión los límites en tiempo real. La directiva también habilita el cálculo previo de los tokens de solicitud por API Management, lo que minimiza las solicitudes innecesarias al backend de OpenAI si el límite ya se ha superado.
Nota:
Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.
Modelos de Foundry compatibles con Azure OpenAI
La directiva se usa con las API agregadas a API Management desde Azure OpenAI en los modelos foundry de los siguientes tipos:
Tipo de API | Modelos admitidos |
---|---|
Finalización del chat | gpt-3.5 gpt-4 gpt-4o gpt-4o-mini o1 o3 |
Inserciones | text-embedding-3-large text-embedding-3-small text-embedding-ada-002 |
Respuestas (versión preliminar) |
gpt-4o (Versiones: 2024-11-20 , 2024-08-06 , 2024-05-13 )gpt-4o-mini (Versión: 2024-07-18 )gpt-4.1 (Versión: 2025-04-14 )gpt-4.1-nano (Versión: 2025-04-14 )gpt-4.1-mini (Versión: 2025-04-14 )gpt-image-1 (Versión: 2025-04-15 )o3 (Versión: 2025-04-16 )o4-mini (Versión: '2025-04-16) |
Nota:
Las API de finalización tradicionales solo están disponibles con versiones de modelo heredadas y la compatibilidad es limitada.
Para obtener información actual sobre los modelos y sus funcionalidades, consulte Azure OpenAI en Foundry Models.
Instrucción de la directiva
<azure-openai-token-limit counter-key="key value"
tokens-per-minute="number"
token-quota="number"
token-quota-period="Hourly | Daily | Weekly | Monthly | Yearly"
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-quota-tokens-header-name="header name"
remaining-quota-tokens-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" />
Atributos
Atributo | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
counter-key | Clave que se va a usar para la directiva de límite de tokens. En cada valor de clave, se usa un único contador para todos los ámbitos en los que se configura la directiva. Se permiten expresiones de directiva. | Sí | N/D |
tokens por minuto | Número máximo de tokens consumidos por petición y finalización por minuto. | Se debe especificar un límite de velocidad (tokens-per-minute ), una cuota (token-quota sobre un token-quota-period ), o ambas. |
N/D |
cuota de token | Número máximo de tokens permitidos durante el intervalo de tiempo especificado en .token-quota-period No se permiten expresiones de directiva. |
Se debe especificar un límite de velocidad (tokens-per-minute ), una cuota (token-quota sobre un token-quota-period ), o ambas. |
N/D |
token-quota-period | Longitud de la ventana fija después de la cual se restablece.token-quota El valor debe ser uno de los siguientes: Hourly ,Daily , Weekly , Monthly , Yearly . La hora de inicio de un período de cuota se calcula con la marca de tiempo UTC truncada a la unidad (hora, día, etc.) utilizada durante el período. |
Se debe especificar un límite de velocidad (tokens-per-minute ), una cuota (token-quota sobre un token-quota-period ), o ambas. |
N/D |
estimate-prompt-tokens | Valor booleano que determina si se debe calcular el número de tokens necesarios para un mensaje: - true : calcula el número de tokens en función del esquema de solicitud en la API; puede reducir el rendimiento. - false : no calcule los tokens de solicitud. Cuando se establece en false , los tokens restantes por counter-key se calculan usando la utilización real de tokens a partir de la respuesta del modelo. Esto podría dar lugar a que se enviaran indicaciones al modelo que excedieran el límite de tokens. En tal caso, esto se detectará en la respuesta, y todas las solicitudes sucesivas serán bloqueadas por la directiva hasta que el límite de tokens se libere de nuevo. |
Sí | N/D |
retry-after-header-name | Nombre de un encabezado de respuesta personalizado cuyo valor es el intervalo de reintento recomendado en segundos después de que se supere o tokens-per-minute especificadotoken-quota . No se permiten expresiones de directiva. |
No | Retry-After |
retry-after-variable-name | Nombre de una variable que almacena el intervalo de reintento recomendado en segundos después de que se supere o tokens-per-minute especificadotoken-quota . No se permiten expresiones de directiva. |
No | N/D |
remaining-quota-tokens-header-name | Nombre de un encabezado de respuesta cuyo valor después de cada ejecución de directiva es el número de tokens restantes correspondientes a token-quota permitidos para .token-quota-period No se permiten expresiones de directiva. |
No | N/D |
remaining-quota-tokens-variable-name | El nombre de una variable que después de cada ejecución de directiva almacena el número de tokens restantes correspondientes a token-quota permitidos para .token-quota-period No se permiten expresiones de directiva. |
No | N/D |
remaining-tokens-header-name | Nombre de un encabezado de respuesta cuyo valor después de cada ejecución de directiva es el número de tokens restantes correspondientes al tokens-per-minute intervalo de tiempo permitido. No se permiten expresiones de directiva. |
No | N/D |
remaining-tokens-variable-name | El nombre de una variable que después de cada ejecución de directiva almacena el número de tokens restantes correspondientes a tokens-per-minute permitidos para el intervalo de tiempo. No se permiten expresiones de directiva. |
No | N/D |
tokens-consumed-header-name | Nombre de un encabezado de respuesta cuyo valor es el número de tokens consumidos tanto por petición como por finalización. El encabezado se agrega a la respuesta solo después de recibir la respuesta del back-end. No se permiten expresiones de directiva. | No | N/D |
tokens-consumed-variable-name | Nombre de una variable inicializada en el número estimado de tokens del símbolo del sistema en backend sección de canalización si estimate-prompt-tokens es true y cero de lo contrario. La variable se actualiza con el recuento notificado al recibir la respuesta en outbound sección. |
No | N/D |
Uso
- Secciones de la directiva: inbound (entrada)
- Ámbitos de la directiva: global, área de trabajo, producto, API, operación
- Puertas de enlace: clásico, v2, autohospedado, área de trabajo
Notas de uso
- Esta directiva se puede usar varias veces por definición de directiva.
- Esta directiva se puede configurar opcionalmente al agregar una API desde Azure OpenAI mediante el portal.
- Cuando está disponible cuando
estimate-prompt-tokens
se establecefalse
en , los valores de la sección de uso de la respuesta de la API de Azure OpenAI se usan para determinar el uso del token. - Algunos puntos de conexión de Azure OpenAI admiten el streaming de respuestas. Cuando se establece
stream
entrue
en la solicitud de API para habilitar el streaming, los tokens de solicitud siempre se estiman, independientemente del valor del atributoestimate-prompt-tokens
. Los tokens de finalización también se calculan cuando se transmiten respuestas. - En el caso de los modelos que aceptan entrada de imagen, los tokens de imagen se cuentan generalmente por el modelo de lenguaje back-end y se incluyen en los cálculos de límite y cuota. Sin embargo, cuando se usa el streaming o
estimate-prompt-tokens
se establecetrue
en , la directiva cuenta actualmente en exceso cada imagen como un recuento máximo de 1200 tokens. - API Management usa un único contador para cada valor
counter-key
que se especifique en la directiva. El contador se actualiza en todos los ámbitos en los que la directiva está configurada con ese valor de clave. Si quiere configurar contadores independientes en distintos ámbitos (por ejemplo, una API o un producto específicos), especifique valores de clave diferentes en los distintos ámbitos. Por ejemplo, anexe una cadena que identifique el ámbito al valor de una expresión. - Esta directiva realiza un seguimiento del uso de tokens de forma independiente en cada puerta de enlace en la que se aplica, incluidas las puertas de enlace del área de trabajo y las puertas de enlace regionales en una implementación de varias regiones. No agrega recuentos de tokens en toda la instancia.
Ejemplos
Límite de velocidad de tokens
En el ejemplo siguiente, el límite de velocidad de tokens de 5000 por minuto está clavedo por la dirección IP del autor de la llamada. La directiva no calcula el número de tokens necesarios para un mensaje. Después de cada ejecución de directiva, los tokens restantes permitidos en el período de tiempo se almacenan en la variable remainingTokens
.
<policies>
<inbound>
<base />
<azure-openai-token-limit
counter-key="@(context.Request.IpAddress)"
tokens-per-minute="5000" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Cuota de tokens
En el ejemplo siguiente, la cuota de tokens de 10000 está claveda por el identificador de suscripción y restablece mensualmente. Después de cada ejecución de directiva, el número de tokens restantes permitidos para ese identificador de suscripción en el período de tiempo se almacena en la variable remainingQuotaTokens
.
<policies>
<inbound>
<base />
<azure-openai-token-limit
counter-key="@(context.Subscription.Id)"
token-quota="100000" token-quota-period="Monthly" remaining-quota-tokens-variable-name="remainingQuotaTokens" />
</inbound>
<outbound>
<base />
</outbound>
</policies>
Directivas relacionadas
- Limitación de frecuencia y cuotas
- Directiva llm-token-limit
- azure-openai-emit-token-metric directiva
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Repositorio de área de juegos de directivas
- Kit de herramientas de directivas de Azure API Management
- Obtener ayuda de Copilot para crear, explicar y solucionar problemas de directivas