الحد من استخدام الرمز المميز لواجهة برمجة تطبيقات Azure OpenAI
ينطبق على: المطور | أساسي | الإصدار 2 الأساسي | قياسي | الإصدار 2 القياسي | قسط
azure-openai-token-limit
يمنع النهج ارتفاعات استخدام Azure OpenAI Service API على أساس كل مفتاح عن طريق الحد من استهلاك الرموز المميزة لنموذج اللغة إلى رقم محدد في الدقيقة. عند تجاوز استخدام الرمز المميز، يتلقى المتصل رمز حالة الاستجابة 429 Too Many Requests
.
من خلال الاعتماد على مقاييس استخدام الرمز المميز التي تم إرجاعها من نقطة نهاية OpenAI، يمكن للنهج مراقبة الحدود وفرضها بدقة في الوقت الفعلي. كما يتيح النهج الحساب المسبق للرموز المميزة للمطالبة بواسطة APIM، ما يقلل الطلبات غير الضرورية إلى الواجهة الخلفية OpenAI إذا تم تجاوز الحد بالفعل.
إشعار
تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.
نماذج خدمة Azure OpenAI المدعومة
يتم استخدام النهج مع واجهات برمجة التطبيقات المضافة إلى APIM من خدمة Azure OpenAI من الأنواع التالية:
نوع API | النماذج المدعومة |
---|---|
إكمال الدردشة | gpt-3.5 gpt-4 |
الإكمال | gpt-3.5-turbo-instruct |
عمليات التضمين | تضمين نص-3-كبير text-embedding-3-small text-embedding-ada-002 |
لمزيد من المعلومات، راجع نماذج خدمة Azure OpenAI.
نهج السياسة
<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" />
سمات
السمة | الوصف | مطلوبة | افتراضي |
---|---|---|---|
counter-key | المفتاح الذي يجب استخدامه لنهج حد الرمز المميز. لكل قيمة مفتاح، يتم استخدام عداد واحد لجميع النطاقات التي يتم تكوين النهج بها. يتم السماح بتعبيرات النهج. | نعم | غير متوفر |
الرموز المميزة في الدقيقة | الحد الأقصى لعدد الرموز المميزة المستهلكة بواسطة المطالبة والإكمال في الدقيقة. | نعم | غير متوفر |
تقدير الرموز المميزة الموجهة | قيمة منطقية تحدد ما إذا كنت تريد تقدير عدد الرموز المميزة المطلوبة لمطالبة: - true : تقدير عدد الرموز المميزة استنادا إلى مخطط المطالبة في واجهة برمجة التطبيقات؛ قد يقلل من الأداء. - false : لا تقدر الرموز المميزة للمطالبة. عند التعيين إلى false ، يتم حساب الرموز المميزة المتبقية لكل counter-key باستخدام استخدام الرمز المميز الفعلي من استجابة النموذج. قد يؤدي هذا إلى إرسال المطالبات إلى النموذج الذي يتجاوز حد الرمز المميز. في مثل هذه الحالة، سيتم الكشف عن هذا في الاستجابة، وسيتم حظر جميع الطلبات الناجحة بواسطة النهج حتى يتم تحرير حد الرمز المميز مرة أخرى. |
نعم | غير متوفر |
retry-after-header-name | اسم عنوان استجابة مخصص قيمته هي الفاصل الزمني الموصى به لإعادة المحاولة بالثوان بعد تجاوز المحدد tokens-per-minute . تعبيرات النهج غير مسموح بها. |
لا | Retry-After |
retry-after-variable-name | اسم متغير يخزن الفاصل الزمني لإعادة المحاولة الموصى به بالثوان بعد تجاوز المحدد tokens-per-minute . تعبيرات النهج غير مسموح بها. |
لا | غير متاح |
اسم عنوان الرموز المميزة المتبقية | اسم عنوان الاستجابة الذي تكون قيمته بعد كل تنفيذ نهج هو عدد الرموز المميزة المتبقية المسموح بها للفاصل الزمني. تعبيرات النهج غير مسموح بها. | لا | غير متاح |
اسم متغير الرموز المميزة المتبقية | اسم متغير يقوم بعد كل تنفيذ نهج بتخزين عدد الرموز المميزة المتبقية المسموح بها للفاصل الزمني. تعبيرات النهج غير مسموح بها. | لا | غير متاح |
اسم عنوان الرموز المميزة المستهلكة | اسم عنوان الاستجابة الذي تكون قيمته هو عدد الرموز المميزة التي يستهلكها كل من المطالبة والإكمال. تتم إضافة العنوان إلى الاستجابة فقط بعد تلقي الاستجابة من الخلفية. تعبيرات النهج غير مسموح بها. | لا | غير متاح |
اسم متغير الرموز المميزة المستهلكة | اسم متغير تمت تهيئته إلى العدد المقدر من الرموز المميزة في المطالبة في backend قسم من البنية الأساسية لبرنامج ربط العمليات التجارية إذا كان estimate-prompt-tokens هو true صفر وبخلاف ذلك. يتم تحديث المتغير مع العدد المبلغ عنه عند تلقي الاستجابة في outbound القسم . |
لا | غير متاح |
الاستخدام
- أقسام النهج:الواردة.
- نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
- البوابات: الكلاسيكية، الإصدار 2، المستضافة ذاتيا، مساحة العمل
ملاحظات الاستخدام
- يمكن استخدام هذا النهج عدة مرات لكل تعريف نهج.
- يمكن تكوين هذا النهج اختياريا عند إضافة واجهة برمجة تطبيقات من خدمة Azure OpenAI باستخدام المدخل.
- حيثما يكون متوفرا عند
estimate-prompt-tokens
تعيين إلىfalse
، يتم استخدام القيم في قسم الاستخدام للاستجابة من Azure OpenAI Service API لتحديد استخدام الرمز المميز. - تدعم بعض نقاط نهاية Azure OpenAI تدفق الاستجابات. عند
stream
تعيين إلىtrue
في طلب واجهة برمجة التطبيقات لتمكين الدفق، يتم دائما تقدير الرموز المميزة للمطالبة، بغض النظر عن قيمة السمةestimate-prompt-tokens
. يتم أيضا تقدير رموز الإكمال المميزة عند دفق الاستجابات. - تستخدم API Management عدادا واحدا لكل
counter-key
قيمة تحددها في النهج. يتم تحديث العداد في جميع النطاقات التي يتم فيها تكوين النهج بقيمة المفتاح هذه. إذا كنت ترغب في تكوين عدادات منفصلة في نطاقات مختلفة (على سبيل المثال، واجهة برمجة تطبيقات أو منتج معين)، فحدد قيم مفاتيح مختلفة في النطاقات المختلفة. على سبيل المثال، إلحاق سلسلة تعرف النطاق بقيمة تعبير.
مثال
في المثال التالي، يتم مفتاح حد الرمز المميز البالغ 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>
النهج ذات الصلة
- تحديد المعدل والحصص النسبية
- نهج الحد من الرمز المميز llm
- نهج azure-openai-emit-token-metric
المحتوى ذو الصلة
لمزيد من المعلومات حول العمل مع النُهج، راجع: