التشغيل السريع: تحليل محتوى الصورة
ابدأ باستخدام 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 إلى الهوية:
تمكين الهوية المدارة لمثيل محتوى Azure الذكاء الاصطناعي خزينة ty.
تعيين دور Storage Blob Data Contributor/Owner/Reader إلى الهوية المدارة. يجب أن تعمل أي أدوار تم تمييزها أدناه.
تحليل محتوى الصورة
الصق الأمر أدناه في محرر نص، وقم بإجراء التغييرات التالية.
- استبدل بعنوان
<endpoint>
URL لنقطة نهاية المورد. - استبدل
<your_subscription_key>
بمفتاحك. - قم بتعبئة
"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.
لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
CONTENT_SAFETY_KEY
متغير البيئة، استبدلYOUR_CONTENT_SAFETY_KEY
بأحد مفاتيح المورد الخاص بك. - لتعيين
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.
- يجب أن يتضمن تثبيت Python خاصتك pip. يمكنك التحقق مما إذا كانت لديك نقطة مثبتة عن طريق تشغيل
إنشاء متغيرات البيئة
في هذا المثال، ستكتب بيانات الاعتماد الخاصة بك إلى متغيرات البيئة على الجهاز المحلي الذي يقوم بتشغيل التطبيق.
تلميح
لا تقم بتضمين المفتاح مباشرة في التعليمات البرمجية الخاصة بك، ولا تنشره بشكل عام. راجع مقالة أمان خدمات Azure الذكاء الاصطناعي لمزيد من خيارات المصادقة مثل Azure Key Vault.
لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
CONTENT_SAFETY_KEY
متغير البيئة، استبدلYOUR_CONTENT_SAFETY_KEY
بأحد مفاتيح المورد الخاص بك. - لتعيين
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.
افتح موجه الأوامر، وانتقل إلى مجلد المشروع، وأنشئ ملفا جديدا باسم quickstart.py.
قم بتشغيل هذا الأمر لتثبيت مكتبة عميل Azure الذكاء الاصطناعي Content خزينة ty:
python -m pip install azure-ai-contentsafety
انسخ التعليمات البرمجية التالية إلى 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()
استبدل
"sample_data"
و"image.jpg"
بالمسار واسم الملف المحلي الذي تريد استخدامه.ثم قم بتشغيل التطبيق باستخدام
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.
لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
CONTENT_SAFETY_KEY
متغير البيئة، استبدلYOUR_CONTENT_SAFETY_KEY
بأحد مفاتيح المورد الخاص بك. - لتعيين
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.
لتعيين متغير البيئة للمفتاح ونقطة النهاية، افتح نافذة وحدة التحكم واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير.
- لتعيين
CONTENT_SAFETY_KEY
متغير البيئة، استبدلYOUR_CONTENT_SAFETY_KEY
بأحد مفاتيح المورد الخاص بك. - لتعيين
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 وتصدير التعليمات البرمجية والنشر.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ