Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium | Premium v2
İlke, llm-token-limit dil modeli belirteçlerinin tüketimini belirtilen bir hız (dakika başına sayı), belirtilen süre boyunca bir kota veya her ikisi ile sınırlayarak anahtar başına büyük dil modeli (LLM) API kullanımı ani artışlarını önler. Belirtilen belirteç oranı sınırı aşıldığında, çağıran bir 429 Too Many Requests yanıt durum kodu alır. Belirtilen kota aşıldığında, çağıran bir 403 Forbidden yanıt durum kodu alır.
Not
İlkenin öğelerini ve alt öğelerini ilke bildiriminde sağlanan sırayla ayarlayın. API Management ilkelerini ayarlama veya düzenleme hakkında daha fazla bilgi edinin.
Desteklenen model API'leri
Bu ilke, aşağıdaki API şemalarından birine uyan API Management'a eklenen LLM API'leriyle çalışır:
- OpenAI Sohbet Tamamlamaları veya Yanıtlar API'si
- Anthropic İletiler API'si (şu anda API Management v2 katmanlarında desteklenmektedir)
İlke bildirimi
<llm-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" />
Özellikler
| Öznitelik | Açıklama | Zorunlu | Varsayılan |
|---|---|---|---|
| counter-key | Belirteç sınırı ilkesi için kullanılacak anahtar. Her anahtar değeri için, ilkenin yapılandırıldığı tüm kapsamlar için tek bir sayaç kullanılır. İlke ifadelerine izin verilir. | Evet | Yok |
| dakika başına belirteç sayısı | Dakika başına istem ve tamamlama tarafından tüketilen en fazla belirteç sayısı. | Hız sınırı (tokens-per-minute), kota (token-quota üzerinden token-quota-period) veya her ikisi de belirtilmelidir. |
Yok |
| belirteç kotası | içinde token-quota-periodbelirtilen zaman aralığında izin verilen en fazla belirteç sayısı. İlke ifadelerine izin verilir. |
Hız sınırı (tokens-per-minute), kota (token-quota üzerinden token-quota-period) veya her ikisi de belirtilmelidir. |
Yok |
| token-quota-period | Sıfırlanan sabit pencerenin token-quota uzunluğu. Değer aşağıdakilerden biri olmalıdır: Hourly,Daily, Weekly, Monthly, Yearly. Kota döneminin başlangıç saati, dönem için kullanılan birime (saat, gün vb.) kesilen UTC zaman damgası olarak hesaplanır. İlke ifadelerine izin verilir. |
Hız sınırı (tokens-per-minute), kota (token-quota üzerinden token-quota-period) veya her ikisi de belirtilmelidir. |
Yok |
| estimate-prompt-tokens | İstem için gereken belirteç sayısının tahmin edilip edilmeyeceğini belirleyen Boole değeri: - true: API'deki istem şemasına göre istem belirteçlerini önceden tahmin edin. - false: istem belirteçlerini tahmin etmeyin; model yanıtından gerçek belirteç kullanımını kullanın. Belirteç sayma ve tahmin davranışı için bkz. Belirteç sayıları ve tahmini için dikkat edilmesi gerekenler. |
Evet | Yok |
| retry-after-header-name | Değeri belirtilen tokens-per-minute veya token-quota aşıldıktan sonra saniye cinsinden önerilen yeniden deneme aralığı olan özel yanıt üst bilgisinin adı. İlke ifadelerine izin verilmez. |
Hayır | Retry-After |
| retry-after-variable-name | Önerilen yeniden deneme aralığını belirtilen tokens-per-minute veya token-quota aşıldıktan sonra saniyeler içinde depolayan değişkenin adı. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| remaining-quota-tokens-header-name | Her ilke yürütmeden sonraki değeri için izin verilen kalan belirteçlerin token-quota tahmini sayısı olan yanıt üst bilgisinin token-quota-periodadı. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| remaining-quota-tokens-variable-name | Her ilke yürütmesinin ardından için izin verilen kalan belirteçlerin token-quota tahmini sayısını depolayan değişkenin token-quota-periodadı. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| remaining-tokens-header-name | Her ilke yürütmeden sonraki değeri, zaman aralığı için izin verilen kalan belirteçlerin tokens-per-minute sayısı olan yanıt üst bilgisinin adıdır. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| remaining-tokens-variable-name | Her ilke yürütmeden sonra zaman aralığı için izin verilene karşılık gelen tokens-per-minute kalan belirteçlerin sayısını depolayan bir değişkenin adı. İlke ifadelerine izin verilmez. |
Hayır | Yok |
| tokens-consumed-header-name | Değeri hem istem hem de tamamlama tarafından kullanılan belirteç sayısı olan yanıt üst bilgisinin adı. Üst bilgi yalnızca yanıt arka uçtan alındıktan sonra yanıta eklenir. İlke ifadelerine izin verilmez. | Hayır | Yok |
| tokens-consumed-variable-name | bölümündeki tahmini istem belirteci sayısına (veya varsa estimate-prompt-tokensfalsesıfıra) başlatılan değişkenin backend adı, bölümünde bildirilen gerçek sayı outbound ile güncelleştirilir. |
Hayır | Yok |
Kullanım
- İlke bölümleri: gelen
- İlke kapsamları: genel, çalışma alanı, ürün, API, işlem
- Ağ geçitleri: klasik, v2, şirket içinde barındırılan, çalışma alanı
Kullanım notları
- Bu ilke, ilke tanımı başına birden çok kez kullanılabilir.
- Bu politika, portal kullanılarak LLM API eklendiğinde isteğe bağlı olarak yapılandırılabilir.
- veya
remaining-quota-tokens-header-namedeğeriremaining-quota-tokens-variable-namebir tahmindir ve gerçek belirteç tüketimine göre beklenenden büyük olabilir. Daha fazla bilgi için bkz . Belirteç sayıları ve tahmini ile ilgili önemli noktalar. - API Management, ilkede belirttiğiniz her
counter-keydeğer için tek bir sayaç kullanır. Sayaç, ilkenin bu anahtar değeriyle yapılandırıldığı tüm kapsamlarda güncelleştirilir. Farklı kapsamlarda (örneğin, belirli bir API veya ürün) ayrı sayaçlar yapılandırmak istiyorsanız, farklı kapsamlarda farklı anahtar değerleri belirtin. Örneğin, kapsamı ifadenin değerine tanımlayan bir dize ekleyin. - v2 katmanları, hız sınırlaması için klasik katmanlardaki kayan pencere algoritmasından farklı olan bir belirteç demeti algoritması kullanır. Bu uygulama farkı nedeniyle, aynı kapsamda birden
counter-keyfazla kapsamda token sınırları yapılandırdığınızda, tüm politika örneklerinde değerintokens-per-minutetutarlı olduğundan emin olun. Tutarsız değerler öngörülemez davranışlara yol açabilir. Daha fazla bilgi için bkz. Azure API ManagementGelen istek azaltma> - Bu ilke, çok bölgeli dağıtımdaçalışma alanı ağ geçitleri ve bölgesel ağ geçitleri dahil olmak üzere uygulandığı her ağ geçidinde belirteç kullanımını bağımsız olarak izler. Tüm örnek genelinde belirteç sayılarını toplamaz.
Belirteç sayıları ve tahmini için dikkat edilmesi gerekenler
İlke, LLM uç noktasından döndürülen gerçek belirteç kullanım verilerini kullanarak belirteç sınırlarını izler ve uygular. gereksiz arka uç isteklerini azaltmak için isteğe bağlı olarak istem belirteci tahminini etkinleştirebilirsiniz. Aşağıdaki konular geçerlidir.
- Belirteç türleri: İlke şu anda yalnızca istem ve tamamlama belirteçlerini sayar.
-
İstem belirteci tahmini (
estimate-prompt-tokens="false"): İlke, LLM API yanıtınınusagebölümündeki gerçek belirteç kullanım değerlerini kullanır. İstemler, sınır aşıldığında bile arka uça gönderilebilir; bu, yanıttan algılanır ve bundan sonra sınır sıfırlanana kadar sonraki istekler engellenir. -
İstem belirteci tahminiyle (
estimate-prompt-tokens="true"): İlke, isteği göndermeden önce API tanımındaki istem şemasından istem belirteçlerini tahmin eder. Bu, sınır zaten aşıldığında gereksiz arka uç isteklerini azaltabilir, ancak performansı düşürebilir. -
Akış: API isteğinde (
stream: true) akış etkinleştirildiğinde, ayardan bağımsız olarakestimate-prompt-tokensistem belirteçleri her zaman tahmin edilir. Tamamlama belirteçleri, yanıtların akışı yapıldığında da tahmin edilir. -
Görüntü girişi: Görüntü girişini kabul eden modeller için, görüntü belirteçleri genellikle arka uç LLM tarafından sayılır ve sınır ve kota hesaplamalarına dahil edilir. Ancak, akış etkinleştirildiğinde veya
estimate-prompt-tokensolarak ayarlandığındatrue, ilke her görüntüyü en fazla 1200 belirteç olarak fazla sayıyor. - Eşzamanlılık: Arka uçtan yanıtlar alınana kadar tüketilen belirteçlerin tam sayısı belirlenemediğinden, eşzamanlı veya neredeyse eşzamanlı istekler yapılandırılan belirteç sınırını geçici olarak aşabilir. Yanıtlar işlendikten ve sınır aşıldıktan sonra, sonraki istekler sınır sıfırlanana kadar engellenir.
-
Kalan kota doğruluğu: Gerçek belirteç tüketimine göre döndürülen
remaining-quota-tokens-variable-nameveyaremaining-quota-tokens-header-namebeklenenden daha büyük olan tahmini kalan belirteç kotası, kotaya yaklaşıldıkça daha doğru hale gelir.
Örnekler
Belirteç hızı sınırı
Aşağıdaki örnekte, dakika başına 5000 belirteç hızı sınırı arayan IP adresi tarafından anahtarlanır. İlke, istem için gereken belirteç sayısını tahmin etmez. Her ilke yürütmeden sonra, zaman aralığında bu çağıranın IP adresi için izin verilen kalan belirteçler değişkeninde remainingTokensdepolanır.
<policies>
<inbound>
<base />
<llm-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>
Belirteç kotası
Aşağıdaki örnekte, 10000 belirteç kotası abonelik kimliği tarafından anahtarlanır ve aylık olarak sıfırlanır. Her ilke yürütmeden sonra, zaman aralığında söz konusu abonelik kimliği için izin verilen kalan belirteçlerin sayısı değişkeninde remainingQuotaTokensdepolanır.
<policies>
<inbound>
<base />
<llm-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>
İlgili ilkeler
İlgili içerik
İlkelerle çalışma hakkında daha fazla bilgi için bkz:
- Öğretici: API'nizi dönüştürme ve koruma
- İlke deyimlerinin ve ayarlarının tam listesi için ilke başvurusu
- İlke ifadeleri
- İlkeleri ayarlama veya düzenleme
- İlke yapılandırmalarını yeniden kullanma
- Policy kod parçacıkları deposu
- Policy örnekleri deposu
- Azure API Management ilke araç seti
- İlkeleri oluşturmak, açıklamak ve sorunlarını gidermek için Copilot yardım alın