Azure OpenAI API belirteci kullanımını sınırlama
ŞUNLAR IÇIN GEÇERLIDIR: Geliştirici | Temel | Temel v2 | Standart | Standart v2 | Premium
İ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. |
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
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. - 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:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin