استخدام قائمة حظر

تنبيه

قد تحتوي عينة البيانات في هذا الدليل على محتوى مسيء. ينصح بسلطة المستخدم التقديرية.

المصنفات الذكاء الاصطناعي الافتراضية كافية لمعظم احتياجات ال con وضع الخيمة ration. ومع ذلك، قد تحتاج إلى شاشة للعناصر الخاصة بحالة الاستخدام الخاصة بك.

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء.
    • يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource. في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.
  • أحد الإجراءات التالية المثبتة:
    • cURL لمكالمات واجهة برمجة تطبيقات REST.
    • تم تثبيت Python 3.x
      • يجب أن يتضمن تثبيت Python خاصتك pip. يمكنك التحقق مما إذا كانت لديك نقطة مثبتة عن طريق تشغيل pip --version على سطر الأوامر. الحصول على نقطة عن طريق تثبيت أحدث إصدار من Python.
      • إذا كنت تستخدم Python، فستحتاج إلى تثبيت مكتبة عميل Azure الذكاء الاصطناعي Content خزينة ty ل Python. قم بتشغيل الأمر pip install azure-ai-contentsafety في دليل المشروع الخاص بك.
    • .NET Runtime مثبت.
      • تم تثبيت .NET Core SDK.
      • إذا كنت تستخدم .NET، فستحتاج إلى تثبيت مكتبة عميل Azure الذكاء الاصطناعي Content خزينة ty ل .NET. قم بتشغيل الأمر dotnet add package Azure.AI.ContentSafety --prerelease في دليل المشروع الخاص بك.

إنشاء متغيرات البيئة

في هذا المثال، ستكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.

لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.

  1. لتعيين CONTENT_SAFETY_KEY متغير البيئة، استبدل YOUR_CONTENT_SAFETY_KEY بأحد مفاتيح المورد الخاص بك.
  2. لتعيين CONTENT_SAFETY_ENDPOINT متغير البيئة، استبدل YOUR_CONTENT_SAFETY_ENDPOINT بنقطة النهاية للمورد الخاص بك.
setx CONTENT_SAFETY_KEY 'YOUR_CONTENT_SAFETY_KEY'
setx CONTENT_SAFETY_ENDPOINT 'YOUR_CONTENT_SAFETY_ENDPOINT'

بعد إضافة متغيرات البيئة، قد تحتاج إلى إعادة تشغيل أي برامج قيد التشغيل ستقرأ متغيرات البيئة، بما في ذلك نافذة وحدة التحكم.

تحليل النص باستخدام قائمة حظر

يمكنك إنشاء قوائم حظر لاستخدامها مع واجهة برمجة تطبيقات النص. تساعدك الخطوات التالية على البدء.

إنشاء قائمة حظر أو تعديلها

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL) باسم مخصص للقائمة. استبدل أيضا المصطلح الأخير من عنوان URL REST بنفس الاسم. الأحرف المسموح بها: 0-9، A-Z، a-z، - . _ ~.
  4. استبدل قيمة "description" الحقل بشكل اختياري بوصف مخصص.
curl --location --request PATCH '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "description": "This is a violence list"
}'

يجب أن تكون 201التعليمات البرمجية للاستجابة (إنشاء قائمة جديدة) أو 200(تحديث قائمة موجودة).

إضافة blocklistItems إلى القائمة

إشعار

هناك حد أقصى يبلغ 10,000 مصطلح إجمالا في جميع القوائم. يمكنك إضافة 100 blocklistItems على الأكثر في طلب واحد.

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
  4. استبدل قيمة "description" الحقل بشكل اختياري بوصف مخصص.
  5. استبدل قيمة "text" الحقل بالعنصر الذي تريد إضافته إلى قائمة الحظر. الحد الأقصى لطول blocklistItem هو 128 حرفا.
curl --location --request POST '<endpoint>/contentsafety/text/blocklists/<your_list_name>:addOrUpdateBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '"blocklistItems": [{
    "description": "string",
    "text": "bleed"
}]'

تلميح

يمكنك إضافة blocklistItems متعددة في استدعاء API واحد. جعل نص الطلب صفيف JSON من مجموعات البيانات:

{
   "blocklistItems": [
       {
           "description": "string",
           "text": "bleed"
       },
       {
           "description": "string",
           "text": "blood"
       }
   ]
}

يجب أن يكون 200رمز الاستجابة .

{
"blocklistItems:"[
  {
  "blocklistItemId": "string",
  "description": "string",
  "text": "bleed"
  
   }
 ]
}

إشعار

سيكون هناك بعض التأخير بعد إضافة blockItem أو تحريره قبل أن يدخل حيز التنفيذ على تحليل النص، وعادة ما لا يزيد عن خمس دقائق.

تحليل النص باستخدام قائمة حظر

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> بالاسم الذي استخدمته في خطوة إنشاء القائمة. "blocklistNames" يمكن أن يحتوي الحقل على صفيف من معرفات قائمة متعددة.
  4. تغيير قيمة اختياريا."breakByBlocklists" true يشير إلى أنه بمجرد مطابقة قائمة الحظر، سيرجع التحليل على الفور دون إخراج النموذج. false سيؤدي إلى استمرار النموذج في إجراء التحليل في الفئات الافتراضية.
  5. قم بتغيير قيمة "text" الحقل اختياريا إلى أي نص تريد تحليله.
curl --location --request POST '<endpoint>/contentsafety/text:analyze?api-version=2023-10-01&' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "text": "I want to beat you till you bleed",
  "categories": [
    "Hate",
    "Sexual",
    "SelfHarm",
    "Violence"
  ],
  "blocklistNames":["<your_list_name>"],
  "haltOnBlocklistHit": false,
  "outputType": "FourSeverityLevels"
}'

ستحتوي استجابة JSON على "blocklistMatchResults" تشير إلى أي تطابقات مع قائمة الحظر الخاصة بك. يقوم بالإبلاغ عن الموقع في السلسلة النصية حيث تم العثور على المطابقة.

{
  "blocklistsMatch": [
    {
      "blocklistName": "string",
      "blocklistItemId": "string",
      "blocklistItemText": "bleed"
    }
  ],
  "categoriesAnalysis": [
    {
      "category": "Hate",
      "severity": 0
    }
  ]
}

عمليات قائمة الحظر الأخرى

يحتوي هذا القسم على المزيد من العمليات لمساعدتك في إدارة ميزة قائمة الحظر واستخدامها.

سرد كافة blocklistItems في قائمة

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists/<your_list_name>/blocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'

يجب أن يكون 200 رمز الحالة ويجب أن يبدو نص الاستجابة كما يلي:

{
 "values": [
  {
   "blocklistItemId": "string",
   "description": "string",
   "text": "bleed",
  }
 ]
}

سرد كافة قوائم الحظر

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
curl --location --request GET '<endpoint>/contentsafety/text/blocklists?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'

يجب أن يكون 200رمز الحالة . تبدو استجابة JSON كما يلي:

"value": [
  {
    "blocklistName": "string",
    "description": "string"
  }
]

الحصول على قائمة حظر بواسطة blocklistName

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''

يجب أن يكون 200رمز الحالة . تبدو استجابة JSON كما يلي:

{
  "blocklistName": "string",
  "description": "string"
}

الحصول على blocklistItem بواسطة blocklistName و blocklistItemId

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
  4. استبدل <your_item_id> بقيمة المعرف ل blocklistItem. هذه هي قيمة "blocklistItemId" الحقل من استدعاءات Add blocklistItem أو Get all blocklistItems API.
cURL --location '<endpoint>contentsafety/text/blocklists/<your_list_name>/blocklistItems/<your_item_id>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--data ''

يجب أن يكون 200رمز الحالة . تبدو استجابة JSON كما يلي:

{
  "blocklistItemId": "string",
  "description": "string",
  "text": "string"
}
  1. استبدل <your_list_name> بالاسم الذي استخدمته في خطوة إنشاء القائمة.
  2. استبدل <your_block_item_id> بمعرف العنصر الذي تريد الحصول عليه.
  3. قم بتشغيل البرنامج النصي

إزالة blocklistItems من قائمة حظر.

إشعار

سيكون هناك بعض التأخير بعد حذف عنصر قبل أن يدخل حيز التنفيذ على تحليل النص، وعادة ما لا يزيد عن خمس دقائق.

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
  4. استبدل <item_id> بقيمة المعرف ل blocklistItem. هذه هي قيمة "blocklistItemId" الحقل من استدعاءات Add blocklistItem أو Get all blocklistItems API.
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>:removeBlocklistItems?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json'
--data-raw '"blocklistItemIds":[
    "<item_id>"
]'

تلميح

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

يجب أن يكون 204رمز الاستجابة .

حذف قائمة وكافة محتوياتها

إشعار

سيكون هناك بعض التأخير بعد حذف قائمة قبل أن تصبح سارية المفعول على تحليل النص، وعادة ما لا يزيد عن خمس دقائق.

انسخ الأمر cURL أدناه إلى محرر نص وقم بإجراء التغييرات التالية:

  1. استبدل <endpoint> بعنوان URL لنقطة النهاية.
  2. استبدل <enter_your_key_here> بمفتاحك.
  3. استبدل <your_list_name> (في عنوان URL للطلب) بالاسم الذي استخدمته في خطوة إنشاء القائمة.
curl --location --request DELETE '<endpoint>/contentsafety/text/blocklists/<your_list_name>?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <enter_your_key_here>' \
--header 'Content-Type: application/json' \

يجب أن يكون 204رمز الاستجابة .

الخطوات التالية

راجع الوثائق المرجعية لواجهة برمجة التطبيقات لمعرفة المزيد حول واجهات برمجة التطبيقات المستخدمة في هذا الدليل.