التشغيل السريع: تحليل محتوى الصورة

ابدأ باستخدام Content Studio أو REST API أو SDKs للعميل للقيام باعتدال الصور الأساسي. توفر لك خدمة المحتوى الذكاء الاصطناعي Azure خزينة خوارزميات الذكاء الاصطناعي وضع علامة على محتوى غير مقبول. اتبع هذه الخطوات لتجربتها.

إشعار

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

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

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء.
    • يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource. في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.
  • cURL مُثبت

تحليل محتوى الصورة

يستعرض القسم التالي نموذج طلب الإشراف على الصور باستخدام cURL.

إعداد صورة نموذجية

اختر عينة صورة لتحليلها، وقم بتنزيلها على جهازك.

نحن ندعم تنسيقات صور JPEG أو PNG أو GIF أو BMP أو TIFF أو WEBP. الحد الأقصى لحجم عمليات إرسال الصور هو 4 ميغابايت، ويجب أن تتراوح أبعاد الصورة بين 50 × 50 بكسل و2048 × 2048 بكسل. إذا كان تنسيقك متحركا، فسنستخرج الإطار الأول لإجراء الكشف.

يمكنك إدخال صورتك بإحدى طريقتين: filestream محلي أو عنوان URL لتخزين كائن ثنائي كبير الحجم.

  • تدفق الملفات المحلي (مستحسن): قم بترميز صورتك إلى base64. يمكنك استخدام موقع ويب مثل codebeautify للقيام بالترميز. ثم احفظ السلسلة المشفرة في موقع مؤقت.

  • عنوان URL لتخزين Blob: قم بتحميل صورتك إلى حساب Azure Blob Storage. اتبع التشغيل السريع لتخزين الكائن الثنائي كبير الحجم لمعرفة كيفية القيام بذلك. ثم افتح Azure Storage Explorer واحصل على عنوان URL لصورتك. احفظه في موقع مؤقت.

    بعد ذلك، تحتاج إلى منح المحتوى خزينة الوصول إلى المورد للقراءة من مورد Azure Storage. تمكين الهوية المدارة المعينة من قبل النظام لمثيل Azure الذكاء الاصطناعي Content خزينة ty وتعيين دور Storage Blob Data Contributor/Owner/Reader إلى الهوية:

    1. تمكين الهوية المدارة لمثيل محتوى Azure الذكاء الاصطناعي خزينة ty.

      لقطة شاشة لمدخل Azure لتمكين الهوية المدارة.

    2. تعيين دور Storage Blob Data Contributor/Owner/Reader إلى الهوية المدارة. يجب أن تعمل أي أدوار تم تمييزها أدناه.

      لقطة شاشة لشاشة إضافة تعيين دور في مدخل Microsoft Azure.

      لقطة شاشة للأدوار المعينة في مدخل Microsoft Azure.

      لقطة شاشة لدور الهوية المدارة.

تحليل محتوى الصورة

الصق الأمر أدناه في محرر نص، وقم بإجراء التغييرات التالية.

  1. استبدل بعنوان <endpoint> URL لنقطة نهاية المورد.
  2. استبدل <your_subscription_key> بمفتاحك.
  3. قم بتعبئة "image" الحقل في النص الأساسي إما بالحقل "content" أو بالحقل "blobUrl" . على سبيل المثال: {"image": {"content": "<base_64_string>"} أو {"image": {"blobUrl": "<your_storage_url>"}.
curl --location --request POST '<endpoint>/contentsafety/image:analyze?api-version=2023-10-01' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "image": {
    "content": "<base_64_string>"
  },
  "categories": [
    "Hate", "SelfHarm", "Sexual", "Violence"
  ],
  "outputType": "FourSeverityLevels"
}'

إشعار

إذا كنت تستخدم عنوان URL لتخزين كائن ثنائي كبير الحجم، فسيبدو نص الطلب كما يلي:

{
 "image": {
   "blobUrl": "<your_storage_url>"
 }
}

افتح نافذة موجه الأوامر وقم بتشغيل الأمر cURL.

يجب تضمين الحقول أدناه في عنوان URL:

الاسم مطلوب؟ ‏‏الوصف النوع
إصدار واجهة برمجة التطبيقات المطلوب هذا هو إصدار واجهة برمجة التطبيقات المراد التحقق منها. الإصدار الحالي هو: api-version=2023-10-01. مثال: <endpoint>/contentsafety/image:analyze?api-version=2023-10-01 السلسلة‬

يتم تعريف المعلمات في نص الطلب في هذا الجدول:

الاسم مطلوب؟ ‏‏الوصف النوع
المحتوى المطلوب المحتوى أو عنوان URL للكائن الثنائي كبير الحجم للصورة. يمكن أن أكون إما وحدات البايت المرمزة ب base64 أو عنوان URL للكائن الثنائي كبير الحجم. إذا تم تقديم كليهما، يتم رفض الطلب. الحد الأقصى المسموح به لحجم الصورة هو 2048 بكسل × 2048 بكسل، والحد الأقصى لحجم الملف هو 4 ميغابايت. الحد الأدنى لحجم الصورة هو 50 بكسل × 50 بكسل. السلسلة‬
فئات اختياري يفترض أن يكون هذا صفيفا من أسماء الفئات. راجع دليل فئات الضرر للحصول على قائمة بأسماء الفئات المتوفرة. إذا لم يتم تحديد أي فئات، يتم استخدام جميع الفئات الأربع. نستخدم فئات متعددة للحصول على درجات في طلب واحد. السلسلة‬
نوع الإخراج اختياري تدعم "FourSeverityLevels"واجهة برمجة تطبيقات الإشراف على الصور فقط . شدة الإخراج في أربعة مستويات. يمكن أن تكون القيمة 0,2,4,6 السلسلة‬

المخرجات

يجب أن تشاهد نتائج الإشراف على الصور معروضة كبيانات JSON في وحدة التحكم. على سبيل المثال:

{
    "categoriesAnalysis": [
        {
            "category": "Hate",
            "severity": 2
        },
        {
            "category": "SelfHarm",
            "severity": 0
        },
        {
            "category": "Sexual",
            "severity": 0
        },
        {
            "category": "Violence",
            "severity": 0
        }
    ]
}

يتم تعريف حقول JSON في الإخراج هنا:

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

الوثائق المرجعية | التعليمات البرمجية لمصدر المكتبة | حزمة (NuGet) | نماذج

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

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • تم تمكين Visual Studio IDE مع تطوير سطح مكتب .NET لحمل العمل. أو إذا كنت لا تخطط لاستخدام Visual Studio IDE، فأنت بحاجة إلى الإصدار الحالي من .NET Core.
  • .NET Runtime مثبت.
  • بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء.
    • يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource. في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.

إعداد التطبيق

إنشاء تطبيق C# جديد.

افتح Visual Studio، وضمن Get started حدد Create a new project. تعيين عوامل تصفية القالب إلى C#/All Platforms/Console. حدد تطبيق وحدة التحكم (تطبيق سطر الأوامر الذي يمكن تشغيله على .NET على Windows وLinux وmacOS) واختر التالي. قم بتحديث اسم المشروع إلى Content خزينة tyQuickstart واخترNext. حدد .NET 6.0 أو أعلى، واختر إنشاء لإنشاء المشروع.

تثبيت SDK للعميل

بمجرد إنشاء مشروع جديد، قم بتثبيت SDK للعميل بالنقر بزر الماوس الأيمن فوق حل المشروع في مستكشف الحلول وتحديد إدارة حزم NuGet. في إدارة الحزمة التي تفتح، حدد "Browse" وابحث عن Azure.AI.ContentSafety. حدد تثبيت.

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

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

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات 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'

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

تحليل محتوى الصورة

من دليل المشروع، افتح ملف Program.cs الذي تم إنشاؤه مسبقا. ألصق التعليمات البرمجية التالية.

using System;
using Azure.AI.ContentSafety;

namespace Azure.AI.ContentSafety.Dotnet.Sample
{
  class ContentSafetySampleAnalyzeImage
  {
    public static void AnalyzeImage()
    {
      // retrieve the endpoint and key from the environment variables created earlier
      string endpoint = Environment.GetEnvironmentVariable("CONTENT_SAFETY_ENDPOINT");
      string key = Environment.GetEnvironmentVariable("CONTENT_SAFETY_KEY");

      ContentSafetyClient client = new ContentSafetyClient(new Uri(endpoint), new AzureKeyCredential(key));

      // Example: analyze image

      string imagePath = @"sample_data\image.png";
      ContentSafetyImageData image = new ContentSafetyImageData(BinaryData.FromBytes(File.ReadAllBytes(imagePath)));

      var request = new AnalyzeImageOptions(image);

      Response<AnalyzeImageResult> response;
      try
      {
          response = client.AnalyzeImage(request);
      }
      catch (RequestFailedException ex)
      {
          Console.WriteLine("Analyze image failed.\nStatus code: {0}, Error code: {1}, Error message: {2}", ex.Status, ex.ErrorCode, ex.Message);
          throw;
      }

      Console.WriteLine("Hate severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Hate)?.Severity ?? 0);
      Console.WriteLine("SelfHarm severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.SelfHarm)?.Severity ?? 0);
      Console.WriteLine("Sexual severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Sexual)?.Severity ?? 0);
      Console.WriteLine("Violence severity: {0}", response.Value.CategoriesAnalysis.FirstOrDefault(a => a.Category == ImageCategory.Violence)?.Severity ?? 0);
    }
    static void Main()
    {
      AnalyzeImage();
    }
  }
}

إنشاء مجلد sample_data في دليل المشروع الخاص بك، وإضافة ملف image.png إليه.

قم بإنشاء التطبيق وتشغيله عن طريق تحديد Start Debugging من قائمة Debug في أعلى نافذة IDE (أو اضغط F5).

نماذج التوثيق المرجعي | التعليمة البرمجية لمصدر المكتبة | حزمة (PyPi) | عينات |

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

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء.
    • يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource. في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.
  • Python 3.8 أو أحدث
    • يجب أن يتضمن تثبيت Python خاصتك pip. يمكنك التحقق مما إذا كانت لديك نقطة مثبتة عن طريق تشغيل pip --version على سطر الأوامر. الحصول على نقطة عن طريق تثبيت أحدث إصدار من Python.

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

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

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات 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'

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

تحليل محتوى الصورة

يستعرض القسم التالي نموذج طلب باستخدام Python SDK.

  1. افتح موجه الأوامر، وانتقل إلى مجلد المشروع، وأنشئ ملفا جديدا باسم quickstart.py.

  2. قم بتشغيل هذا الأمر لتثبيت مكتبة عميل Azure الذكاء الاصطناعي Content خزينة ty:

    python -m pip install azure-ai-contentsafety
    
  3. انسخ التعليمات البرمجية التالية إلى quickstart.py:

    import os
    
    from azure.ai.contentsafety import ContentSafetyClient
    from azure.ai.contentsafety.models import AnalyzeImageOptions, ImageData, ImageCategory
    from azure.core.credentials import AzureKeyCredential
    from azure.core.exceptions import HttpResponseError
    
    def analyze_image():
        endpoint = os.environ.get('CONTENT_SAFETY_ENDPOINT')
        key = os.environ.get('CONTENT_SAFETY_KEY')
        image_path = os.path.join("sample_data", "image.jpg")
    
        # Create an Azure AI Content Safety client
        client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
    
    
        # Build request
        with open(image_path, "rb") as file:
            request = AnalyzeImageOptions(image=ImageData(content=file.read()))
    
        # Analyze image
        try:
            response = client.analyze_image(request)
        except HttpResponseError as e:
            print("Analyze image failed.")
            if e.error:
                print(f"Error code: {e.error.code}")
                print(f"Error message: {e.error.message}")
                raise
            print(e)
            raise
    
        hate_result = next(item for item in response.categories_analysis if item.category == ImageCategory.HATE)
        self_harm_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SELF_HARM)
        sexual_result = next(item for item in response.categories_analysis if item.category == ImageCategory.SEXUAL)
        violence_result = next(item for item in response.categories_analysis if item.category == ImageCategory.VIOLENCE)
    
        if hate_result:
            print(f"Hate severity: {hate_result.severity}")
        if self_harm_result:
            print(f"SelfHarm severity: {self_harm_result.severity}")
        if sexual_result:
            print(f"Sexual severity: {sexual_result.severity}")
        if violence_result:
            print(f"Violence severity: {violence_result.severity}")
    
    if __name__ == "__main__":
        analyze_image()
    
  4. استبدل "sample_data" و "image.jpg" بالمسار واسم الملف المحلي الذي تريد استخدامه.

  5. ثم قم بتشغيل التطبيق باستخدام python الأمر على ملف التشغيل السريع.

    python quickstart.py
    

المرجع | رمز مصدر المكتبة | عينات من برنامج | (Maven)

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

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الإصدار الحالي من Java Development Kit (JDK)
  • أداة إنشاء Gradleأو مدير تبعية آخر.
  • بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء.
    • يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource. في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.

إعداد التطبيق

قم بإنشاء مشروع Gradle جديد.

في إطار نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، يمكنك إنشاء دليل جديد لتطبيقك وانتقل إليه.

mkdir myapp && cd myapp

بادر بتشغيل الأمر gradle init من دليل العمل خاصتك. سينشئ هذا الأمر ملفات بناء أساسية لـ Gradle، بما في ذلك build.gradle.kts، والذي يجري استخدامه في وقت التشغيل لإنشاء تطبيقك وتكوينه.

gradle init --type basic

عند طلب اختيار DSL، حدد Kotlin.

من دليل العمل الخاص بك، قم بتشغيل الأمر التالي لإنشاء مجلد مصدر المشروع:

mkdir -p src/main/java

انتقل إلى المجلد الجديد وأنشئ ملفا يسمى Content خزينة tyQuickstart.java.

أنشئ أيضا مجلدا src/resources في جذر مشروعك، وأضف صورة عينة إليه.

تثبيت SDK للعميل

يستخدم هذا التشغيل السريع مدير تبعية Gradle. يمكنك العثور على مكتبة العميل ومعلومات مديري التبعية الآخرين على Maven Central Repository.

حدد build.gradle.kts وافتحه باستخدام IDE أو محرر النص المفضل لديك. ثم انسخ في تكوين البناء التالي. يعرف هذا التكوين المشروع على أنه تطبيق Java الذي نقطة إدخاله هي فئة Content خزينة tyQuickstart. يستورد مكتبة Azure الذكاء الاصطناعي Vision.

plugins {
    java
    application
}
application { 
    mainClass.set("ContentSafetyQuickstart")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-contentsafety", version = "1.0.0")
}

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

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

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات 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'

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

تحليل محتوى الصورة

افتح Content خزينة tyQuickstart.java في المحرر المفضل لديك أو IDE والصقه في التعليمات البرمجية التالية. source استبدل المتغير بالمسار إلى نموذج الصورة.

import com.azure.ai.contentsafety.ContentSafetyClient;
import com.azure.ai.contentsafety.ContentSafetyClientBuilder;
import com.azure.ai.contentsafety.models.AnalyzeImageOptions;
import com.azure.ai.contentsafety.models.AnalyzeImageResult;
import com.azure.ai.contentsafety.models.ContentSafetyImageData;
import com.azure.ai.contentsafety.models.ImageCategoriesAnalysis;
import com.azure.core.credential.KeyCredential;
import com.azure.core.util.BinaryData;
import com.azure.core.util.Configuration;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;


public class ContentSafetyQuickstart {
    public static void main(String[] args) throws IOException {

        // get endpoint and key from environment variables
        String endpoint = System.getenv("CONTENT_SAFETY_ENDPOINT");
        String key = System.getenv("CONTENT_SAFETY_KEY");

        ContentSafetyClient contentSafetyClient = new ContentSafetyClientBuilder()
            .credential(new KeyCredential(key))
            .endpoint(endpoint).buildClient();

        ContentSafetyImageData image = new ContentSafetyImageData();
        String cwd = System.getProperty("user.dir");
        String source = "/src/samples/resources/image.png";

        image.setContent(BinaryData.fromBytes(Files.readAllBytes(Paths.get(cwd, source))));

        AnalyzeImageResult response =
                contentSafetyClient.analyzeImage(new AnalyzeImageOptions(image));

        for (ImageCategoriesAnalysis result : response.getCategoriesAnalysis()) {
            System.out.println(result.getCategory() + " severity: " + result.getSeverity());
        }
    }
}

انتقل مرة أخرى إلى المجلد الجذر للمشروع، وأنشئ التطبيق باستخدام:

gradle build

ثم، شغله باستخدام أمر gradle run:

gradle run

المخرجات

Hate severity: 0
SelfHarm severity: 0
Sexual severity: 0
Violence severity: 0

الوثائق المرجعية | التعليمات البرمجية لمصدر المكتبة | الحزمة (npm) | النماذج |

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

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الإصدار الحالي من Node.js
  • بمجرد حصولك على اشتراك Azure، أنشئ مورد Content خزينة ty في مدخل Microsoft Azure للحصول على المفتاح ونقطة النهاية. أدخل اسما فريدا لموردك، وحدد اشتراكك، وحدد مجموعة موارد، والمنطقة المدعومة (شرق الولايات المتحدة أو غرب أوروبا)، ومستوى التسعير المدعوم. وبعد ذلك، حدد إنشاء.
    • يستغرق المورد بضع دقائق للتوزيع. بعد الانتهاء، حدد go to resource. في الجزء الأيمن، ضمن إدارة الموارد، حدد مفتاح الاشتراك ونقطة النهاية. يتم استخدام نقطة النهاية وأي من المفاتيح لاستدعاء واجهات برمجة التطبيقات.

إعداد التطبيق

قم بإنشاء تطبيق Node.js جديد. في إطار نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، يمكنك إنشاء دليل جديد لتطبيقك وانتقل إليه.

mkdir myapp && cd myapp

شغّل الأمر npm init لإنشاء تطبيق node باستخدام ملف package.json.

npm init

أنشئ أيضا مجلدا /resources في جذر مشروعك، وأضف صورة عينة إليه.

تثبيت SDK للعميل

تثبيت حزمة npm @azure-rest/ai-content-safety:

npm install @azure-rest/ai-content-safety

قم أيضا بتثبيت الوحدة النمطية dotenv لاستخدام متغيرات البيئة:

npm install dotenv

تحديث ملف تطبيقك package.json باستخدام التبعيات.

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

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

تلميح

لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات 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'

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

تحليل محتوى الصورة

إنشاء ملف جديد في الدليل الخاص بك، index.js. افتحه في المحرر المفضل لديك أو IDE والصقه في التعليمات البرمجية التالية. image_path استبدل المتغير بالمسار إلى نموذج الصورة.

const ContentSafetyClient = require("@azure-rest/ai-content-safety").default,
  { isUnexpected } = require("@azure-rest/ai-content-safety");
const { AzureKeyCredential } = require("@azure/core-auth");
const fs = require("fs");
const path = require("path");

// Load the .env file if it exists
require("dotenv").config();

async function main() {
    // get endpoint and key from environment variables
    const endpoint = process.env["CONTENT_SAFETY_ENDPOINT"];
    const key = process.env["CONTENT_SAFETY_KEY"];
    
    const credential = new AzureKeyCredential(key);
    const client = ContentSafetyClient(endpoint, credential);
    
    // replace with your own sample image file path 
    const image_path = path.resolve(__dirname, "./resources/image.jpg");
    
    const imageBuffer = fs.readFileSync(image_path);
    const base64Image = imageBuffer.toString("base64");
    const analyzeImageOption = { image: { content: base64Image } };
    const analyzeImageParameters = { body: analyzeImageOption };
    
    const result = await client.path("/image:analyze").post(analyzeImageParameters);
    
    if (isUnexpected(result)) {
        throw result;
    }
    for (let i = 0; i < result.body.categoriesAnalysis.length; i++) {
    const imageCategoriesAnalysisOutput = result.body.categoriesAnalysis[i];
    console.log(
      imageCategoriesAnalysisOutput.category,
      " severity: ",
      imageCategoriesAnalysisOutput.severity
    );
  }
}

main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

شغّل التطبيق باستخدام الأمر node المُتاح على ملف التشغيل السريع.

node index.js

المخرجات

Hate severity:  0
SelfHarm severity:  0
Sexual severity:  0
Violence severity:  0

تنظيف الموارد

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

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

تكوين عوامل التصفية لكل فئة واختبارها على مجموعات البيانات باستخدام Content خزينة ty Studio وتصدير التعليمات البرمجية والنشر.