مشاركة عبر


الحد من استخدام الرمز المميز لواجهة برمجة تطبيقات Azure OpenAI

ينطبق على: المطور | أساسي | الإصدار 2 الأساسي | قياسي | الإصدار 2 القياسي | Premium | Premium v2

azure-openai-token-limit يمنع النهج استخدام Azure OpenAI في Foundry Models API على أساس كل مفتاح عن طريق الحد من استهلاك الرموز المميزة لنموذج اللغة إلى معدل محدد (رقم في الدقيقة)، أو حصة نسبية خلال فترة محددة، أو كليهما. عند تجاوز حد معدل رمز مميز محدد، يتلقى المتصل رمز حالة استجابة 429 Too Many Requests . عند تجاوز حصة نسبية محددة، يتلقى المتصل رمز حالة الاستجابة 403 Forbidden .

من خلال الاعتماد على مقاييس استخدام الرموز التي يتم استرجاعها من نقطة نهاية Azure OpenAI، تراقب السياسة وتفرض حدودا بناء على استهلاك الرموز الفعلي. تمكن السياسة أيضا من تقدير رموز الأوامر مسبقا من قبل إدارة API، مما يقلل من الطلبات غير الضرورية إلى خلفية Azure OpenAI إذا تم تجاوز الحد بالفعل. ومع ذلك، لأن العدد الفعلي للرموز المستهلكة يعتمد على كل من حجم الملف وحجم الإكمال (والذي يختلف حسب الطلب)، لا يمكن للسياسة التنبؤ بإجمالي استهلاك الرموز مسبقا. يمكن لهذا التصميم أن يسمح بتجاوز حدود الرموز مؤقتا عند معالجة عدة طلبات في نفس الوقت.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

Azure OpenAI المدعوم في نماذج Azure الذكاء الاصطناعي Foundry

يتم استخدام النهج مع واجهات برمجة التطبيقات المضافة إلى APIM من Azure OpenAI في نماذج الذكاء الاصطناعي Foundry من الأنواع التالية:

نوع API النماذج المدعومة
إكمال الدردشة gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
التضمينات text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
الاستجابات (معاينة) gpt-4o (الإصدارات: 2024-11-20، 2024-08-06، 2024-05-13)

gpt-4o-mini (الإصدار: 2024-07-18)

gpt-4.1 (الإصدار: 2025-04-14)

gpt-4.1-nano (الإصدار: 2025-04-14)

gpt-4.1-mini (الإصدار: 2025-04-14)

gpt-image-1 (الإصدار: 2025-04-15)

o3 (الإصدار: 2025-04-16)

o4-mini (الإصدار: '2025-04-16)

إشعار

تتوفر واجهات برمجة تطبيقات الإكمال التقليدية فقط مع إصدارات النموذج القديمة والدعم محدود.

للحصول على معلومات حالية حول النماذج وقدراتها، راجع Azure OpenAI في نماذج Foundry.

نهج السياسة

<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" />

سمات

السمة ‏‏الوصف مطلوبة افتراضي
مفتاح مضاد المفتاح الذي يجب استخدامه لنهج حد الرمز المميز. لكل قيمة مفتاح، يتم استخدام عداد واحد لجميع النطاقات التي يتم تكوين النهج بها. يتم السماح بتعبيرات النهج. ‏‏نعم‬ غير متوفر
الرموز المميزة في الدقيقة الحد الأقصى لعدد الرموز المميزة المستهلكة بواسطة المطالبة والإكمال في الدقيقة. يجب تحديد حد السعر (tokens-per-minute)، أو الحصة النسبية token-quota(token-quota-period على )، أو كليهما. غير متوفر
حصة الرمز المميز الحد الأقصى لعدد الرموز المميزة المسموح بها أثناء الفاصل الزمني المحدد في token-quota-period. تعبيرات النهج غير مسموح بها. يجب تحديد حد السعر (tokens-per-minute)، أو الحصة النسبية token-quota(token-quota-period على )، أو كليهما. غير متوفر
فترة حصة الرمز المميز طول النافذة الثابتة التي يتم بعدها token-quota إعادة التعيين. يجب أن تكون القيمة واحدة مما يلي: Hourly،Daily ، ، Weekly، Monthly. Yearly يتم حساب وقت بدء فترة الحصة النسبية باستخدام الطابع الزمني UTC المقتطع إلى الوحدة (الساعة واليوم وما إلى ذلك) المستخدمة للفترة. يجب تحديد حد السعر (tokens-per-minute)، أو الحصة النسبية token-quota(token-quota-period على )، أو كليهما. غير متوفر
تقدير الرموز المميزة الموجهة قيمة منطقية تحدد ما إذا كنت تريد تقدير عدد الرموز المميزة المطلوبة لمطالبة:
- true: تقدير عدد الرموز المميزة استنادا إلى مخطط المطالبة في واجهة برمجة التطبيقات؛ قد يقلل من الأداء.
- false: لا تقدر الرموز المميزة للمطالبة.

عند التعيين إلى false، يتم حساب الرموز المميزة المتبقية لكل counter-key باستخدام استخدام الرمز المميز الفعلي من استجابة النموذج. قد يؤدي هذا إلى إرسال المطالبات إلى النموذج الذي يتجاوز حد الرمز المميز. في هذه الحالة، سيتم اكتشاف ذلك في الرد، وسيتم حظر جميع الطلبات التالية من قبل السياسة حتى يعاد حد الرمز إعادة ضبطه.
‏‏نعم‬ غير متوفر
إعادة المحاولة بعد اسم الرأس اسم عنوان استجابة مخصص قيمته هي الفاصل الزمني الموصى به لإعادة المحاولة بالثوان بعد المحدد tokens-per-minute أو token-quota يتم تجاوزه. تعبيرات النهج غير مسموح بها. لا Retry-After
إعادة المحاولة بعد اسم المتغير اسم متغير يخزن الفاصل الزمني لإعادة المحاولة الموصى به في ثوان بعد المحدد tokens-per-minute أو token-quota يتم تجاوزه. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم عنوان-الحصة النسبية المتبقية-الرموز المميزة اسم عنوان الاستجابة الذي تكون قيمته بعد كل تنفيذ نهج هو العدد المقدر للرمز المميزة المتبقية المقابلة المسموح token-quota بها ل token-quota-period. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم متغير-الحصة النسبية المتبقية-الرموز المميزة اسم متغير يقوم بعد كل تنفيذ نهج بتخزين العدد المقدر للرمز المميزة المتبقية المقابلة المسموح token-quota بها ل token-quota-period. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم عنوان الرموز المميزة المتبقية اسم عنوان الاستجابة الذي تكون قيمته بعد كل تنفيذ نهج هو عدد الرموز المميزة المتبقية المقابلة للفاصل tokens-per-minute الزمني المسموح به. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم متغير الرموز المميزة المتبقية اسم متغير يقوم بعد كل تنفيذ نهج بتخزين عدد الرموز المميزة المتبقية المقابلة للفاصل tokens-per-minute الزمني المسموح به. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم عنوان الرموز المميزة المستهلكة اسم عنوان الاستجابة الذي تكون قيمته هو عدد الرموز المميزة التي يستهلكها كل من المطالبة والإكمال. تتم إضافة العنوان إلى الاستجابة فقط بعد تلقي الاستجابة من الخلفية. تعبيرات النهج غير مسموح بها. لا غير متوفر
اسم متغير الرموز المميزة المستهلكة اسم متغير تمت تهيئته إلى العدد المقدر من الرموز المميزة في المطالبة في backend قسم من البنية الأساسية لبرنامج ربط العمليات التجارية إذا كان estimate-prompt-tokens هو true صفر وبخلاف ذلك. يتم تحديث المتغير مع العدد المبلغ عنه عند تلقي الاستجابة في outbound القسم . لا غير متوفر

الاستخدام

ملاحظات الاستخدام

  • يمكن استخدام هذه السياسة عدة مرات حسب تعريف السياسة
  • يمكن تكوين هذه السياسة اختياريا عند إضافة واجهة برمجة تطبيقات Azure OpenAI باستخدام البوابة.
  • حيثما يتوفر عند estimate-prompt-tokens تعيين إلى false، يتم استخدام القيم في قسم الاستخدام للاستجابة من واجهة برمجة تطبيقات Azure OpenAI لتحديد استخدام الرمز المميز.
  • عندما يتم إرسال عدة طلبات في نفس الوقت أو مع تأخيرات بسيطة، يمكن للسياسة السماح باستهلاك الرموز الذي يتجاوز الحد المكون. يحدث هذا لأن السياسة لا تستطيع تحديد العدد الدقيق للرموز التي تم استهلاكها حتى يتم استلام الردود من الخلفية. بمجرد معالجة الردود وتجاوز حدود الرموز، يتم حظر الطلبات التالية حتى يتم إعادة ضبط الحد.
  • تدعم بعض نقاط نهاية Azure OpenAI تدفق الاستجابات. عند stream تعيين إلى true في طلب واجهة برمجة التطبيقات لتمكين الدفق، يتم دائما تقدير الرموز المميزة للمطالبة، بغض النظر عن قيمة السمة estimate-prompt-tokens . يتم أيضا تقدير رموز الإكمال المميزة عند دفق الاستجابات.
  • قيمة remaining-quota-tokens-variable-name أو remaining-quota-tokens-header-name هي تقدير للأغراض الإعلامية ولكن يمكن أن تكون أكبر من المتوقع استنادا إلى استهلاك الرمز المميز الفعلي. تكون القيمة أكثر دقة عند الاقتراب من الحصة النسبية.
  • بالنسبة للنماذج التي تقبل إدخال الصورة، يتم حساب الرموز المميزة للصور بشكل عام بواسطة نموذج لغة الواجهة الخلفية ويتم تضمينها في حسابات الحد والحصة النسبية. ومع ذلك، عند استخدام الدفق أو estimate-prompt-tokens تعيينه إلى true، يبالغ النهج حاليا في حساب كل صورة كحد أقصى لعدد 1200 رمز مميز.
  • تستخدم API Management عدادا واحدا لكل counter-key قيمة تحددها في النهج. يتم تحديث العداد في جميع النطاقات التي يتم فيها تكوين النهج بقيمة المفتاح هذه. إذا كنت ترغب في تكوين عدادات منفصلة في نطاقات مختلفة (على سبيل المثال، واجهة برمجة تطبيقات أو منتج معين)، فحدد قيم مفاتيح مختلفة في النطاقات المختلفة. على سبيل المثال، إلحاق سلسلة تعرف النطاق بقيمة تعبير.
  • تستخدم مستويات v2 خوارزمية دلو الرموز لتحديد المعدلات، والتي تختلف عن خوارزمية النافذة المنزلقة في الطبقات الكلاسيكية. بسبب هذا الاختلاف في التنفيذ، عند تكوين حدود الرموز في مستويات v2 في عدة نطاقات باستخدام نفس counter-keyالشيء، تأكد من أن القيمة tokens-per-minute متسقة عبر جميع حالات السياسات. القيم غير المتسقة يمكن أن تسبب سلوكا غير متوقع.
  • يتتبع هذا النهج استخدام الرمز المميز بشكل مستقل في كل بوابة حيث يتم تطبيقها، بما في ذلك بوابات مساحة العمل والبوابات الإقليمية في نشر متعدد المناطق. لا يجمع عدد الرموز المميزة عبر المثيل بأكمله.

الأمثلة

حد معدل الرمز المميز

في المثال التالي، يتم مفتاح حد معدل الرمز المميز البالغ 5000 في الدقيقة بواسطة عنوان IP المتصل. لا يقدر النهج عدد الرموز المميزة المطلوبة لمطالبة. بعد كل تنفيذ نهج، يتم تخزين الرموز المميزة المتبقية المسموح بها لعنوان IP المتصل هذا في الفترة الزمنية في المتغير 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>

الحصة النسبية للرمز المميز

في المثال التالي، يتم مفتاح حصة الرمز المميز 10000 بواسطة معرف الاشتراك ويعيد تعيينها شهريا. بعد كل تنفيذ نهج، يتم تخزين عدد الرموز المميزة المتبقية المسموح بها لمعرف الاشتراك هذا في الفترة الزمنية في المتغير 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>

لمزيد من المعلومات حول العمل مع النُهج، راجع: