Azure OpenAI API belirteci kullanımını sınırlama
ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium | Premium v2
İlke, azure-openai-token-limit
dil modeli belirteçlerinin tüketimini dakika başına belirtilen bir sayıyla sınırlayarak Azure OpenAI Hizmeti API'sinin kullanım artışlarını anahtar temelinde engeller. Belirteç kullanımı aşıldığında, çağıran bir 429 Too Many Requests
yanıt durum kodu alır.
İlke, OpenAI uç noktasından döndürülen belirteç kullanım ölçümlerine dayanarak sınırları gerçek zamanlı olarak doğru bir şekilde izleyebilir ve zorunlu kılabilir. İlke ayrıca API Management tarafından istem belirteçlerinin önceden hesaplanmasına olanak tanır ve sınır zaten aşılmışsa OpenAI arka ucuna yönelik gereksiz istekleri en aza indirir.
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 Azure OpenAI Hizmeti modelleri
İlke, Aşağıdaki türlerdeki Azure OpenAI Hizmeti'nden API Management'a eklenen API'lerle birlikte kullanılır:
API türü | Desteklenen modeller |
---|---|
Sohbet tamamlama | gpt-3.5 gpt-4 |
Tamamlama | gpt-3.5-turbo-instruct |
Eklemeler | metin ekleme-3-büyük metin ekleme-3-küçük metin ekleme-ada-002 |
Daha fazla bilgi için Azure OpenAI Service modelleri konusuna bakın.
İlke bildirimi
<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" />
Ö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. | Yes | Yok |
dakika başına belirteç sayısı | Dakika başına istem ve tamamlama tarafından tüketilen en fazla belirteç sayısı. | Yes | 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 belirteç sayısını tahmin edin; performansı düşürebilir. - false : istem belirteçlerini tahmin etmeyin. olarak false ayarlandığında, kalan belirteç sayısı counter-key , modelin yanıtından elde edilen gerçek belirteç kullanımı kullanılarak hesaplanır. Bu, modele belirteç sınırını aşan istemlerin gönderilmesine neden olabilir. Böyle bir durumda, bu yanıtta algılanır ve belirteç sınırı yeniden boşaltılana kadar tüm başarılı istekler ilke tarafından engellenir. |
Yes | Yok |
retry-after-header-name | Belirtilen tokens-per-minute değer 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 aşıldıktan sonra saniyeler içinde depolayan değişkenin adı. İ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 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 verilen 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 | İşlem hattının bölümündeki tahmin edilen belirteç backend sayısıyla başlatılan değişkenin adı (aksi takdirde estimate-prompt-tokens sıfır ise true ). değişken, bölümünde yanıtı outbound aldıktan sonra bildirilen sayı 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 ilke, portal kullanılarak Azure OpenAI Hizmetinden api eklenirken isteğe bağlı olarak yapılandırılabilir.
- Kullanılabilir olduğunda
estimate-prompt-tokens
false
, Azure OpenAI Hizmeti API'sinden gelen yanıtın kullanım bölümündeki değerler belirteç kullanımını belirlemek için kullanılır. - Bazı Azure OpenAI uç noktaları yanıtların akışını destekler.
stream
Akışı etkinleştirmek için API isteğinde olarak ayarlandığındatrue
, özniteliğin değerindenestimate-prompt-tokens
bağımsız olarak istem belirteçleri her zaman tahmin edilir. Tamamlama belirteçleri, yanıtların akışı yapıldığında da tahmin edilir. - API Management, ilkede belirttiğiniz her
counter-key
değ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.
Örnek
Aşağıdaki örnekte, dakika başına 5000 belirteç 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 remainingTokens
depolanır.
<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>
İ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
- İlke kod parçacıkları deposu
- Azure API Management ilke araç seti
- Azure'da Microsoft Copilot kullanarak ilke yazma