التشغيل السريع: إنشاء مورد متعدد الخدمات لخدمات Azure الذكاء الاصطناعي

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

يمكنك الوصول إلى خدمات Azure الذكاء الاصطناعي من خلال موردين مختلفين: مورد متعدد الخدمات أو مورد خدمة واحدة.

  • مورد متعدد الخدمات:
    • الوصول إلى خدمات Azure الذكاء الاصطناعي المتعددة باستخدام مفتاح ونقطة نهاية واحدة.
    • دمج الفوترة من الخدمات التي تستخدمها.
  • مورد خدمة واحدة:
    • الوصول إلى خدمة Azure الذكاء الاصطناعي واحدة باستخدام مفتاح فريد ونقطة نهاية لكل خدمة تم إنشاؤها.
    • تقدم معظم خدمات Azure الذكاء الاصطناعي مستوى مجانيا لتجربة ذلك.

خدمات Azure الذكاء الاصطناعي هي موارد Azure التي تقوم بإنشائها ضمن اشتراك Azure الخاص بك. بعد إنشاء مورد، يمكنك استخدام المفاتيح ونقطة النهاية التي تم إنشاؤها لمصادقة التطبيقات الخاصة بك.

الخدمات المدعومة مع مورد متعدد الخدمات

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

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

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

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.

إنشاء مورد جديد متعدد الخدمات

يتم سرد المورد متعدد الخدمات ضمن خدمات Azure الذكاء الاصطناعي حساب>خدمات Azure الذكاء الاصطناعي متعدد الخدمات في المدخل. لإنشاء مورد متعدد الخدمات اتبع الإرشادات التالية:

  1. حدد هذا الارتباط لإنشاء مورد متعدد الخدمات: https://portal.azure.com/#create/Microsoft.CognitiveServicesAllInOne

  2. في الصفحة إنشاء، قم بتوفير المعلومات التالية:

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

    شاشة إنشاء موارد متعددة الخدمات

  3. قم بتكوين إعدادات أخرى لموردك حسب الحاجة، واقرأ الشروط واقبلها (حسب الاقتضاء)، ثم حدد مراجعة + إنشاء.

تلميح

إذا لم يسمح لك اشتراكك بإنشاء مورد خدمات Azure الذكاء الاصطناعي، فقد تحتاج إلى تمكين امتياز موفر موارد Azure هذا باستخدام مدخل Microsoft Azure أو أمر PowerShell أو أمر Azure CLI. إذا لم تكن مالك الاشتراك، فاطلب من مالك الاشتراك أو أي شخص له دور مسؤول إكمال التسجيل لك أو طلب امتيازات /register/action الممنوحة لحسابك.

الحصول على مفاتيح المورد الخاص بك

  1. بعد نشر المورد بنجاح، حدد Next Steps>Go to resource.

    شاشة الحصول على مفاتيح الموارد

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

تكوين متغير البيئة للمصادقة

يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. لتعيين متغير البيئة لمفتاح المورد الخاص بك، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير. لتعيين COGNITIVE_SERVICE_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.

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

تلميح

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

يتضمن PowerShell حلا قابلا للتوسيع، إدارة سرية، لتخزين السلاسل الآمنة في أنظمة أساسية مثل مخزن البيانات السرية أو Azure KeyVault.

لإعداد مخزن سري لاستضافة سلاسل آمنة، راجع المقالة بدء استخدام المخزن السري. ثم استخدم الأمثلة التالية لتخزين مفاتيح واجهة برمجة التطبيقات.

Set-Secret -Name COGNITIVE_SERVICE_KEY -value your-key

بالنسبة لبيئات الاختبار، يمكنك إما استخدام بناء جملة PowerShell $Env: لتعيين متغير بيئة لجلسة العمل الحالية فقط، أو setx الأمر للاحتفاظ بالمتغير عبر جلسات العمل. تذكر أن هذه القيم مخزنة في نص واضح في مفاتيح تسجيل Windows.

$Env:COGNITIVE_SERVICE_KEY = your-key
setx COGNITIVE_SERVICE_KEY your-key

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

لتعيين متغير البيئة لمنطقة مورد Speech، اتبع نفس الخطوات. تعيين COGNITIVE_SERVICE_REGION إلى منطقة المورد الخاص بك. على سبيل المثال، westus

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

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

  1. في "Azure portal"، توسيع القائمة على الجانب الأيمن لفتح قائمة الخدمات، واختيار "Resource Groups" لعرض قائمة مجموعات الموارد.
  2. حدد موقع مجموعة الموارد التي تحتوي على المورد المراد حذفه.
  3. إذا كنت تريد حذف مجموعة الموارد بأكملها، فحدد اسم مجموعة الموارد. في الصفحة التالية، حدد Delete resource group، وقم بالتأكيد.
  4. إذا كنت تريد حذف مورد خدمات Azure الذكاء الاصطناعي فقط، فحدد مجموعة الموارد لمشاهدة جميع الموارد داخلها. في الصفحة التالية، حدد المورد الذي تريد حذفه، وحدد قائمة علامات الحذف لهذا الصف، وحدد Delete.

استخدم هذا التشغيل السريع لإنشاء مورد خدمات Azure الذكاء الاصطناعي باستخدام أوامر Azure Command-Line Interface (CLI). بعد إنشاء المورد، استخدم المفاتيح ونقطة النهاية التي تم إنشاؤها لك لمصادقة تطبيقاتك.

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

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

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • واجهة Azure CLI
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.
  • إذا كنت تخطط لاستخدام التحليل المكاني في Azure الذكاء الاصطناعي Vision أو Text Analytics for Health في Azure الذكاء الاصطناعي Language، فيجب عليك إنشاء موارد الرؤية أو اللغة الأولى من مدخل Microsoft Azure حتى تتمكن من مراجعة الشروط والأحكام والاعتراف بها. يمكنك القيام بذلك هنا: Azure الذكاء الاصطناعي Language وAzure الذكاء الاصطناعي Vision. بعد ذلك، يمكنك إنشاء موارد لاحقة باستخدام أي أداة نشر (على سبيل المثال، قالب SDK أو CLI أو ARM) ضمن نفس اشتراك Azure.

قم بتثبيت Azure CLI ثم تسجيل الدخول

قم بتثبيت Azure CLI. لتسجيل الدخول إلى التثبيت المحلي الخاص بك لـ CLI، قم بتشغيل الأمر تسجيل الدخول إلى az:

az login

يمكنك أيضاً استخدام الزر الأخضر Try It لتشغيل هذه الأوامر في المستعرض.

إنشاء مجموعة موارد خدمات Azure الذكاء الاصطناعي جديدة

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

اختيار موقع مجموعة الموارد

لإنشاء مورد، ستحتاج إلى أحد مواقع Azure المتوفرة للاشتراك. يمكنك استرداد قائمة بالمواقع المتوفرة باستخدام الأمر az account list-locations. يمكن الوصول إلى معظم خدمات Azure الذكاء الاصطناعي من عدة مواقع. اختر الأقرب إليك، أو اطلع على المواقع المتاحة للخدمة.

هام

  • تذكر موقع Azure، حيث ستحتاج إليه عند استدعاء موارد خدمات Azure الذكاء الاصطناعي.
  • يمكن أن يختلف توفر بعض خدمات Azure الذكاء الاصطناعي حسب المنطقة. للحصول على مزيدٍ من المعلومات، اطلع على منتجات Azure حسب المنطقة.
az account list-locations --query "[].{Region:name}" --out table

بعد أن يكون لديك موقع Azure، قم بإنشاء مجموعة موارد جديدة في CLI Azure باستخدام الأمر az group create. في المثال أدناه، استبدل موقع Azure westus2 بأحد مواقع Azure المتوفرة للاشتراك.

az group create --name ai-services-resource-group --location westus2

إنشاء مورد خدمات الذكاء الاصطناعي في Azure

اختيار مستوى الخدمة والتسعير

عند إنشاء مورد جديد، ستحتاج إلى معرفة نوع الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) الذي تريده. ستستخدم هذه المعلومات وغيرها كمعلمات عند إنشاء المورد.

توفر الجداول التالية معلومات حول المنتجات والأسعار لخدمات Azure الذكاء الاصطناعي.

متعدد الخدمات

الخدمة النوع
خدمات متعددة. لمزيد من المعلومات، راجع صفحة التسعير. CognitiveServices

البحث الضوئي

الخدمة النوع
البحث الضوئي ComputerVision
Custom Vision - التنبؤ CustomVision.Prediction
Custom Vision - التدريب CustomVision.Training
وجه Face
ذكاء المستند FormRecognizer

الكلام

الخدمة النوع
الكلام SpeechServices

اللغة

الخدمة النوع
فهم اللغة (LUIS) LUIS
QnA Maker QnAMaker
اللغة TextAnalytics
مترجم النصوص TextTranslation

القرار

الخدمة النوع
Anomaly Detector AnomalyDetector
مشرف المحتوى ContentModerator
Personalizer Personalizer

Azure OpenAI

الخدمة النوع
Azure OpenAI OpenAI

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقا من المعاملات. سيؤدي تجاوز هذا الرقم إلى فرض رسوم إضافية، كما هو محدد في تفاصيل التسعير لخدمتك.

إشعار

تحتوي العديد من خدمات Azure الذكاء الاصطناعي على مستوى مجاني يمكنك استخدامه لتجربة الخدمة. لاستخدام المستوى المجاني، استخدم F0 كطبقة تسعير لموردك.

يمكنك العثور على قائمة بخدمات Azure الذكاء الاصطناعي المتوفرة "أنواع" باستخدام الأمر az cognitiveservices account list-kinds :

az cognitiveservices account list-kinds

إضافة مورد جديد إلى مجموعة الموارد

لإنشاء مورد خدمات Azure الذكاء الاصطناعي جديد والاشتراك فيه، استخدم الأمر az cognitiveservices account create . يضيف هذا الأمر موردًا جديدًا قابل للفوترة إلى مجموعة الموارد التي قمت بإنشائها مسبقًا. عند إنشاء موردك الجديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، جنبًا إلى جنب مع فئة التسعير (أو SKU) وموقع Azure:

يمكنك إنشاء مورد قياسي S0 متعدد الخدمات باسم multi-service-resource مع الأمر أدناه.

az cognitiveservices account create --name multi-service-resource --resource-group ai-services-resource-group  --kind CognitiveServices --sku F0 --location westus2 --yes

تلميح

إذا لم يسمح لك اشتراكك بإنشاء مورد خدمات Azure الذكاء الاصطناعي، فقد تحتاج إلى تمكين امتياز موفر موارد Azure هذا باستخدام مدخل Microsoft Azure أو أمر PowerShell أو أمر Azure CLI. إذا لم تكن مالك الاشتراك، فاطلب من مالك الاشتراك أو أي شخص له دور مسؤول إكمال التسجيل لك أو طلب امتيازات /register/action الممنوحة لحسابك.

الحصول على مفاتيح المورد الخاص بك

لتسجيل الدخول إلى التثبيت المحلي الخاص بك من واجهة سطر الأوامر (CLI)، استخدم الأمر az login.

az login

استخدم الأمر az cognitiveservices account keys list للحصول على مفاتيح المورد الخاص بك.

az cognitiveservices account keys list  --name multi-service-resource --resource-group ai-services-resource-group

تكوين متغير البيئة للمصادقة

يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. لتعيين متغير البيئة لمفتاح المورد الخاص بك، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير. لتعيين COGNITIVE_SERVICE_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.

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

تلميح

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

يتضمن PowerShell حلا قابلا للتوسيع، إدارة سرية، لتخزين السلاسل الآمنة في أنظمة أساسية مثل مخزن البيانات السرية أو Azure KeyVault.

لإعداد مخزن سري لاستضافة سلاسل آمنة، راجع المقالة بدء استخدام المخزن السري. ثم استخدم الأمثلة التالية لتخزين مفاتيح واجهة برمجة التطبيقات.

Set-Secret -Name COGNITIVE_SERVICE_KEY -value your-key

بالنسبة لبيئات الاختبار، يمكنك إما استخدام بناء جملة PowerShell $Env: لتعيين متغير بيئة لجلسة العمل الحالية فقط، أو setx الأمر للاحتفاظ بالمتغير عبر جلسات العمل. تذكر أن هذه القيم مخزنة في نص واضح في مفاتيح تسجيل Windows.

$Env:COGNITIVE_SERVICE_KEY = your-key
setx COGNITIVE_SERVICE_KEY your-key

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

لتعيين متغير البيئة لمنطقة مورد Speech، اتبع نفس الخطوات. تعيين COGNITIVE_SERVICE_REGION إلى منطقة المورد الخاص بك. على سبيل المثال، westus

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته لك) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقاً من المعاملات. سيؤدي تجاوز هذا المبلغ إلى فرض رسوم إضافية كما هو محدد في تفاصيل التسعير لخدمتك.

الحصول على استخدام الحصة الحالية لمواردك

استخدم الأمر az cognitiveservices account list-usage للحصول على استخدام المورد الخاص بك.

az cognitiveservices account list-usage --name multi-service-resource --resource-group ai-services-resource-group --subscription subscription-name

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

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

لإزالة مجموعة الموارد والموارد المرتبطة بها، استخدم الأمر az group delete.

az group delete --name ai-services-resource-group

استخدم هذا التشغيل السريع لإنشاء مورد خدمات Azure الذكاء الاصطناعي باستخدام أوامر Azure PowerShell . بعد إنشاء المورد، استخدم المفاتيح ونقطة النهاية التي تم إنشاؤها لك لمصادقة تطبيقاتك.

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

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

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • Azure PowerShell
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.
  • إذا كنت تخطط لاستخدام التحليل المكاني في Azure الذكاء الاصطناعي Vision أو Text Analytics for Health في Azure الذكاء الاصطناعي Language، فيجب عليك إنشاء موارد الرؤية أو اللغة الأولى من مدخل Microsoft Azure حتى تتمكن من مراجعة الشروط والأحكام والاعتراف بها. يمكنك القيام بذلك هنا: Azure الذكاء الاصطناعي Language وAzure الذكاء الاصطناعي Vision. بعد ذلك، يمكنك إنشاء موارد لاحقة باستخدام أي أداة نشر (على سبيل المثال، قالب SDK أو CLI أو ARM) ضمن نفس اشتراك Azure.

تثبيت Azure PowerShell وتسجيل الدخول

تثبيت Azure PowerShell. لتسجيل الدخول، قم بتشغيل الأمر الاتصال-AzAccount:

Connect-AzAccount

يمكنك أيضاً استخدام الزر الأخضر Try It لتشغيل هذه الأوامر في المستعرض.

إنشاء مجموعة موارد خدمات Azure الذكاء الاصطناعي جديدة

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

اختيار موقع مجموعة الموارد

لإنشاء مورد، ستحتاج إلى أحد مواقع Azure المتوفرة للاشتراك. يمكنك استرداد قائمة بالمواقع المتوفرة باستخدام الأمر Get-AzLocation . يمكن الوصول إلى معظم خدمات Azure الذكاء الاصطناعي من عدة مواقع. اختر الأقرب إليك، أو اطلع على المواقع المتاحة للخدمة.

هام

  • تذكر موقع Azure، حيث ستحتاج إليه عند استدعاء موارد خدمات Azure الذكاء الاصطناعي.
  • يمكن أن يختلف توفر بعض خدمات Azure الذكاء الاصطناعي حسب المنطقة. للحصول على مزيدٍ من المعلومات، اطلع على منتجات Azure حسب المنطقة.
Get-AzLocation | Select-Object -Property Location, DisplayName

بعد أن يكون لديك موقع Azure، قم بإنشاء مجموعة موارد جديدة في Azure PowerShell باستخدام الأمر New-AzResourceGroup . في المثال أدناه، استبدل موقع Azure westus2 بأحد مواقع Azure المتوفرة للاشتراك.

New-AzResourceGroup -Name ai-services-resource-group -Location westus2

إنشاء مورد خدمات الذكاء الاصطناعي في Azure

اختيار مستوى الخدمة والتسعير

عند إنشاء مورد جديد، ستحتاج إلى معرفة نوع الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) الذي تريده. ستستخدم هذه المعلومات وغيرها كمعلمات عند إنشاء المورد.

توفر الجداول التالية معلومات حول المنتجات والأسعار لخدمات Azure الذكاء الاصطناعي.

متعدد الخدمات

الخدمة النوع
خدمات متعددة. لمزيد من المعلومات، راجع صفحة التسعير. CognitiveServices

البحث الضوئي

الخدمة النوع
البحث الضوئي ComputerVision
Custom Vision - التنبؤ CustomVision.Prediction
Custom Vision - التدريب CustomVision.Training
وجه Face
ذكاء المستند FormRecognizer

الكلام

الخدمة النوع
الكلام SpeechServices

اللغة

الخدمة النوع
فهم اللغة (LUIS) LUIS
QnA Maker QnAMaker
اللغة TextAnalytics
مترجم النصوص TextTranslation

القرار

الخدمة النوع
Anomaly Detector AnomalyDetector
مشرف المحتوى ContentModerator
Personalizer Personalizer

Azure OpenAI

الخدمة النوع
Azure OpenAI OpenAI

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقا من المعاملات. سيؤدي تجاوز هذا الرقم إلى فرض رسوم إضافية، كما هو محدد في تفاصيل التسعير لخدمتك.

إشعار

تحتوي العديد من خدمات Azure الذكاء الاصطناعي على مستوى مجاني يمكنك استخدامه لتجربة الخدمة. لاستخدام المستوى المجاني، استخدم F0 كطبقة تسعير لموردك.

يمكنك العثور على قائمة بخدمات Azure الذكاء الاصطناعي المتوفرة "أنواع" باستخدام الأمر Get-AzCognitiveServicesAccountType :

Get-AzCognitiveServicesAccountType

إضافة مورد جديد إلى مجموعة الموارد

لإنشاء مورد خدمات Azure الذكاء الاصطناعي جديد والاشتراك فيه، استخدم الأمر New-AzCognitiveServicesAccount . يضيف هذا الأمر موردًا جديدًا قابل للفوترة إلى مجموعة الموارد التي قمت بإنشائها مسبقًا. عند إنشاء موردك الجديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، جنبًا إلى جنب مع فئة التسعير (أو SKU) وموقع Azure:

يمكنك إنشاء مورد قياسي S0 متعدد الخدمات باسم multi-service-resource مع الأمر أدناه.

New-AzCognitiveServicesAccount -ResourceGroupName ai-services-resource-group -Name multi-service-resource -Type CognitiveServices -SkuName F0 -Location westus2

تلميح

إذا لم يسمح لك اشتراكك بإنشاء مورد خدمات Azure الذكاء الاصطناعي، فقد تحتاج إلى تمكين امتياز موفر موارد Azure هذا باستخدام مدخل Microsoft Azure أو أمر Azure PowerShell أو أمر Azure CLI. إذا لم تكن مالك الاشتراك، فاطلب من مالك الاشتراك أو أي شخص له دور مسؤول إكمال التسجيل لك أو طلب امتيازات /register/action الممنوحة لحسابك.

الحصول على مفاتيح المورد الخاص بك

استخدم الأمر Get-AzCognitiveServicesAccountKey للحصول على مفاتيح المورد الخاص بك.

Get-AzCognitiveServicesAccountKey -Name multi-service-resource -ResourceGroupName ai-services-resource-group

تكوين متغير البيئة للمصادقة

يجب مصادقة التطبيق الخاص بك للوصول إلى موارد خدمات Azure الذكاء الاصطناعي. لتعيين متغير البيئة لمفتاح المورد الخاص بك، افتح نافذة وحدة التحكم، واتبع الإرشادات الخاصة بنظام التشغيل وبيئة التطوير. لتعيين COGNITIVE_SERVICE_KEY متغير البيئة، استبدل your-key بأحد مفاتيح المورد الخاص بك.

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

تلميح

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

يتضمن PowerShell حلا قابلا للتوسيع، إدارة سرية، لتخزين السلاسل الآمنة في أنظمة أساسية مثل مخزن البيانات السرية أو Azure KeyVault.

لإعداد مخزن سري لاستضافة سلاسل آمنة، راجع المقالة بدء استخدام المخزن السري. ثم استخدم الأمثلة التالية لتخزين مفاتيح واجهة برمجة التطبيقات.

Set-Secret -Name COGNITIVE_SERVICE_KEY -value your-key

بالنسبة لبيئات الاختبار، يمكنك إما استخدام بناء جملة PowerShell $Env: لتعيين متغير بيئة لجلسة العمل الحالية فقط، أو setx الأمر للاحتفاظ بالمتغير عبر جلسات العمل. تذكر أن هذه القيم مخزنة في نص واضح في مفاتيح تسجيل Windows.

$Env:COGNITIVE_SERVICE_KEY = your-key
setx COGNITIVE_SERVICE_KEY your-key

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

لتعيين متغير البيئة لمنطقة مورد Speech، اتبع نفس الخطوات. تعيين COGNITIVE_SERVICE_REGION إلى منطقة المورد الخاص بك. على سبيل المثال، westus

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته لك) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقاً من المعاملات. سيؤدي تجاوز هذا المبلغ إلى فرض رسوم إضافية كما هو محدد في تفاصيل التسعير لخدمتك.

الحصول على استخدام الحصة الحالية لمواردك

استخدم الأمر Get-AzCognitiveServicesAccountUsage للحصول على استخدام المورد الخاص بك.

Get-AzCognitiveServicesAccountUsage -ResourceGroupName ai-services-resource-group -Name multi-service-resource

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

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

لإزالة مجموعة الموارد والموارد المقترنة بها، استخدم الأمر Remove-AzResourceGroup .

Remove-AzResourceGroup -Name ai-services-resource-group

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

المتطلبات الأساسية للغة C#‎

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • الإصدار الحالي من .NET Core.
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.
  • إذا كنت تخطط لاستخدام التحليل المكاني في Azure الذكاء الاصطناعي Vision أو Text Analytics for Health في Azure الذكاء الاصطناعي Language، فيجب عليك إنشاء موارد الرؤية أو اللغة الأولى من مدخل Microsoft Azure حتى تتمكن من مراجعة الشروط والأحكام والاعتراف بها. يمكنك القيام بذلك هنا: Azure الذكاء الاصطناعي Language وAzure الذكاء الاصطناعي Vision. بعد ذلك، يمكنك إنشاء موارد لاحقة باستخدام أي أداة نشر (على سبيل المثال، قالب SDK أو CLI أو ARM) ضمن نفس اشتراك Azure.

إنشاء كيان خدمة Azure

لكي يتفاعل تطبيقك مع حسابك على Azure، فإنك تحتاج إلى كيان خدمة Azure لإدارة الأذونات. اتبع الإرشادات الموجودة في إنشاء كيان خدمة Azure.

عند إنشاء كيان خدمة، ستعرف أنه يحتوي على قيمة سرية ومعرّف ومعرف التطبيق. احفظ معرّف التطبيق والسرية في موقع مؤقت للخطوات اللاحقة.

إنشاء مجموعة موارد

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

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

قم بإنشاء تطبيق .NET Core جديد. في نافذة وحدة تحكم (مثل cmd أو PowerShell أو Bash)، استخدم الأمر ⁧dotnet new⁩ لإنشاء تطبيق وحدة تحكم جديد بالاسم ⁧azure-management-quickstart⁩. ينشئ هذا الأمر مشروع مرحبًا بالعالم «Hello World» بلغة C#‎ بسيطًا مع ملف مصدر واحد: program.cs.

dotnet new console -n azure-management-quickstart

غيّر دليلك إلى مجلد التطبيق المنشأ حديثاً. يمكنك إنشاء التطبيق باستخدام:

dotnet build

يجب ألا يحتوي إخراج البناء على تحذيرات أو أخطاء.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

تثبيت مكتبة العميل

ضمن دليل التطبيق، قم بتثبيت مكتبة عميل Azure Management لـ .NET باستخدام الأمر التالي:

dotnet add package Azure.ResourceManager.CognitiveServices
dotnet add package Microsoft.Azure.Management.Fluent
dotnet add package Microsoft.Azure.Management.ResourceManager.Fluent

إذا كنت تستخدم Visual Studio IDE، تتوفر مكتبة العميل كحزمة NuGet قابلة للتحميل.

استيراد مكتبات

افتح program.cs وأضف عبارات using التالية في الجزء العلوي من الملف:

using System;
using Microsoft.Azure.Management.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent;
using Microsoft.Azure.Management.ResourceManager.Fluent.Authentication;
using Microsoft.Azure.Management.CognitiveServices;
using Microsoft.Azure.Management.CognitiveServices.Models;

مصادقة العميل

أضف الحقول التالية إلى جذر program.cs وقم بتعبئة قيمها، باستخدام أساس الخدمة الذي أنشأته ومعلومات حساب Azure.

const string  service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
const string  service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
const string  subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
const string  tenant_id = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
const string  resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names. */
const string subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

ثم، في الأسلوب Main لديك، استخدم هذه القيم لإنشاء كائن CognitiveServicesManagementClient. هذا الكائن مطلوب لكافة عمليات إدارة Azure.

var service_principal_credentials = new ServicePrincipalLoginInformation ();
service_principal_credentials.ClientId = service_principal_application_id;
service_principal_credentials.ClientSecret = service_principal_secret;

var credentials = SdkContext.AzureCredentialsFactory.FromServicePrincipal(service_principal_application_id, service_principal_secret, tenant_id, AzureEnvironment.AzureGlobalCloud);
var client = new CognitiveServicesManagementClient(credentials);
client.SubscriptionId = subscription_id;

أساليب إدارة الاتصالات

قم بإضافة التعليمات البرمجية التالية إلى الأسلوب Main لديك لسرد الموارد المتاحة وإنشاء نموذج المورد وسرد الموارد المملوكة الخاصة بك ثم قم بحذف نموذج المورد. ستقوم بتعريف هذه الأساليب في الخطوات التالية.

    // Uncomment to list all available resource kinds, SKUs, and locations for your Azure account:
    //list_available_kinds_skus_locations(client);

    // Create a resource with kind TextTranslation, F0 (free tier), location global.
    create_resource(client, "test_resource", "TextTranslation", "F0", "Global");

    // List all resources for your Azure account and resource group:
    list_resources(client);

    // Delete the resource.
    delete_resource(client, "test_resource");

    Console.WriteLine("Press any key to exit.");
    Console.ReadKey();

إنشاء مورد خدمات Azure الذكاء الاصطناعي (C#)

لإنشاء مورد خدمات Azure الذكاء الاصطناعي جديد والاشتراك فيه، استخدم الأسلوب Create . يضيف هذا الأسلوب موردًا جديدًا قابلاً للفوترة إلى مجموعة الموارد التي تمررها. عند إنشاء مورد جديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) وموقع Azure. يأخذ الأسلوب التالي كل هذه كوسيطات و ينشئ موردًا.

static void create_resource(CognitiveServicesManagementClient client, string resource_name, string kind, string account_tier, string location)
{
    Console.WriteLine("Creating resource: " + resource_name + "...");
    /* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
    property from CognitiveServicesAccountProperties. */
    CognitiveServicesAccount parameters = 
        new CognitiveServicesAccount(null, null, kind, location, resource_name, new CognitiveServicesAccountProperties(customSubDomainName : subdomain_name), new Sku(account_tier));
    var result = client.Accounts.Create(resource_group_name, resource_name, parameters);
    Console.WriteLine("Resource created.");
    Console.WriteLine("ID: " + result.Id);
    Console.WriteLine("Kind: " + result.Kind);
    Console.WriteLine();
}

اختيار مستوى الخدمة والتسعير

عند إنشاء مورد جديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) الذي تريده. ستستخدم هذه المعلومات وغيرها كمعلمات عند إنشاء المورد. يمكنك العثور على قائمة بخدمات Azure الذكاء الاصطناعي المتوفرة "أنواع" عن طريق استدعاء الأسلوب التالي في البرنامج النصي الخاص بك:

static void list_available_kinds_skus_locations(CognitiveServicesManagementClient client)
{

    Console.WriteLine("Available SKUs:");
    var result = client.ResourceSkus.List();
    Console.WriteLine("Kind\tSKU Name\tSKU Tier\tLocations");
    foreach (var x in result) {
        var locations = "";
        foreach (var region in x.Locations)
        {
            locations += region;
        }
        Console.WriteLine(x.Kind + "\t" + x.Name + "\t" + x.Tier + "\t" + locations);
    };
}

توفر الجداول التالية معلومات حول المنتجات والأسعار لخدمات Azure الذكاء الاصطناعي.

متعدد الخدمات

الخدمة النوع
خدمات متعددة. لمزيد من المعلومات، راجع صفحة التسعير. CognitiveServices

البحث الضوئي

الخدمة النوع
البحث الضوئي ComputerVision
Custom Vision - التنبؤ CustomVision.Prediction
Custom Vision - التدريب CustomVision.Training
وجه Face
ذكاء المستند FormRecognizer

الكلام

الخدمة النوع
الكلام SpeechServices

اللغة

الخدمة النوع
فهم اللغة (LUIS) LUIS
QnA Maker QnAMaker
اللغة TextAnalytics
مترجم النصوص TextTranslation

القرار

الخدمة النوع
Anomaly Detector AnomalyDetector
مشرف المحتوى ContentModerator
Personalizer Personalizer

Azure OpenAI

الخدمة النوع
Azure OpenAI OpenAI

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقا من المعاملات. سيؤدي تجاوز هذا الرقم إلى فرض رسوم إضافية، كما هو محدد في تفاصيل التسعير لخدمتك.

إشعار

تحتوي العديد من خدمات Azure الذكاء الاصطناعي على مستوى مجاني يمكنك استخدامه لتجربة الخدمة. لاستخدام المستوى المجاني، استخدم F0 كطبقة تسعير لموردك.

عرض الموارد الخاصة بك

لعرض كافة الموارد ضمن حساب Azure (عبر كافة مجموعات الموارد)، استخدم الطريقة التالية:

static void list_resources(CognitiveServicesManagementClient client)
{
    Console.WriteLine("Resources in resource group: " + resource_group_name);
    var result = client.Accounts.ListByResourceGroup(resource_group_name);
    foreach (var x in result)
    {
        Console.WriteLine("ID: " + x.Id);
        Console.WriteLine("Name: " + x.Name);
        Console.WriteLine("Type: " + x.Type);
        Console.WriteLine("Kind: " + x.Kind);
        Console.WriteLine();
    }
}

حذف مَورد

يحذف الأسلوب التالي المورد المحدد من مجموعة الموارد المحددة.

static void delete_resource(CognitiveServicesManagementClient client, string resource_name)
{
    Console.WriteLine("Deleting resource: " + resource_name + "...");
    client.Accounts.Delete (resource_group_name, resource_name);

    Console.WriteLine("Resource deleted.");
    Console.WriteLine();
}

شغّل التطبيق

شغّل التطبيق من دليل تطبيقك باستخدام الأمر dotnet run.

dotnet run

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

متطلبات Java

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • الإصدار الحالي من Java Development Kit(JDK)
  • أداة إنشاء Gradleأو مدير تبعية آخر.
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.
  • إذا كنت تخطط لاستخدام التحليل المكاني في Azure الذكاء الاصطناعي Vision أو Text Analytics for Health في Azure الذكاء الاصطناعي Language، فيجب عليك إنشاء موارد الرؤية أو اللغة الأولى من مدخل Microsoft Azure حتى تتمكن من مراجعة الشروط والأحكام والاعتراف بها. يمكنك القيام بذلك هنا: Azure الذكاء الاصطناعي Language وAzure الذكاء الاصطناعي Vision. بعد ذلك، يمكنك إنشاء موارد لاحقة باستخدام أي أداة نشر (على سبيل المثال، قالب SDK أو CLI أو ARM) ضمن نفس اشتراك Azure.

إنشاء كيان خدمة Azure

لكي يتفاعل تطبيقك مع حسابك على Azure، فإنك تحتاج إلى كيان خدمة Azure لإدارة الأذونات. اتبع الإرشادات الموجودة في إنشاء كيان خدمة Azure.

عند إنشاء كيان خدمة، ستعرف أنه يحتوي على قيمة سرية ومعرّف ومعرف التطبيق. احفظ معرّف التطبيق والسرية في موقع مؤقت للخطوات اللاحقة.

إنشاء مجموعة موارد

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

إنشاء تطبيق Java جديد

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

mkdir myapp && cd myapp

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

gradle init --type basic

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

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

mkdir -p src/main/java

تثبيت مكتبة العميل

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

في ملف build.gradle.kts الخاص بمشروعك، قم بتضمين مكتبة العميل كبيان implementation، بالإضافة إلى المكونات الإضافية والإعدادات المطلوبة.

plugins {
    java
    application
}
application {
    mainClass.set("FormRecognizer")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.microsoft.azure", name = "azure-mgmt-cognitiveservices", version = "1.10.0-beta")
}

استيراد مكتبات

انتقل إلى مجلد src/main/java الجديد وأنشئ ملفًا يسمى Management.java. افتحه في المحرر المفضل لديك أو IDE وأضف عبارات import التالية:

import com.azure.core.management.*;
import com.azure.core.management.profile.*;
import com.azure.identity.*;
import com.azure.resourcemanager.cognitiveservices.*;
import com.azure.resourcemanager.cognitiveservices.implementation.*;
import com.azure.resourcemanager.cognitiveservices.models.*;

import java.io.*;
import java.lang.Object.*;
import java.util.*;
import java.net.*;

مصادقة العميل

قم بإضافة فئة في Management.java، ثم قم بإضافة الحقول التالية وقيمها داخله. قم بتعبئة قيمها، باستخدام مبدأ الخدمة الذي أنشأته ومعلومات حساب Azure الأخرى.

/*
Be sure to use the service pricipal application ID, not simply the ID. 
*/

private static String applicationId = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
private static String applicationSecret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
private static String subscriptionId = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
private static String tenantId = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
private static String resourceGroupName = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names. */
private static String subDomainName = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

ثم، في الأسلوب الرئيسي لديك، استخدم هذه القيم لإنشاء كائن CognitiveServicesManager. هذا الكائن مطلوب لكافة عمليات إدارة Azure.

/* For more information see:
https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/resourcemanager/docs/AUTH.md
*/

ClientSecretCredential credential = new ClientSecretCredentialBuilder()
    .clientId(applicationId)
    .clientSecret(applicationSecret)
    .tenantId(tenantId)
    .build();
AzureProfile profile = new AzureProfile(tenantId, subscriptionId, AzureEnvironment.AZURE);

CognitiveServicesManager client = CognitiveServicesManager.authenticate(credential, profile);

أساليب إدارة الاتصالات

قم بإضافة التعليمات البرمجية التالية إلى الأسلوب Main لديك لسرد الموارد المتاحة وإنشاء نموذج المورد وسرد الموارد المملوكة الخاصة بك ثم قم بحذف نموذج المورد. ستقوم بتعريف هذه الأساليب في الخطوات التالية.

String resourceName = "test_resource";
String resourceKind = "TextTranslation";
String resourceSku = "F0";
Region resourceRegion = Region.US_WEST;

// Uncomment to list all available resource kinds, SKUs, and locations for your Azure account.
// list_available_kinds_skus_locations (client);

// Create a resource with kind Text Translation, SKU F0 (free tier), location US West.
String resourceId = create_resource (client, resourceName, resourceGroupName, resourceKind, resourceSku, resourceRegion);

// Uncomment this to list all resources for your Azure account.
// list_resources (client, resourceGroupName);

// Delete the resource.
delete_resource (client, resourceId);

/* NOTE: When you delete a resource, it is only soft-deleted. You must also purge it. Otherwise, if you try to create another
resource with the same name or custom subdomain, you will receive an error stating that such a resource already exists. */
purge_resource (client, resourceName, resourceGroupName, resourceRegion);

إنشاء مورد خدمات Azure الذكاء الاصطناعي (Java)

لإنشاء مورد خدمات Azure الذكاء الاصطناعي جديد والاشتراك فيه ، استخدم أسلوب الإنشاء . يضيف هذا الأسلوب موردًا جديدًا قابلاً للفوترة إلى مجموعة الموارد التي تمررها. عند إنشاء مورد جديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) وموقع Azure. يأخذ الأسلوب التالي كل هذه كوسيطات و ينشئ موردًا.

public static String create_resource (CognitiveServicesManager client, String resourceName, String resourceGroupName, String resourceKind, String resourceSku, Region resourceRegion) {
    System.out.println ("Creating resource: " + resourceName + "...");

    /* NOTE: If you do not want to use a custom subdomain name, remove the withCustomSubDomainName
    setter from the AccountProperties object. */
    Account result = client.accounts().define(resourceName)
        .withExistingResourceGroup(resourceGroupName)
        // Note: Do not call withRegion() first, as it does not exist on the Blank interface returned by define().
        .withRegion(resourceRegion)
        .withKind(resourceKind)
        .withSku(new Sku().withName(resourceSku))
        .withProperties(new AccountProperties().withCustomSubDomainName(subDomainName))
        .create();

    System.out.println ("Resource created.");
    System.out.println ("ID: " + result.id());
    System.out.println ("Provisioning state: " + result.properties().provisioningState().toString());
    System.out.println ();

    return result.id();
}

اختيار مستوى الخدمة والتسعير

عند إنشاء مورد جديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) الذي تريده. ستستخدم هذه المعلومات وغيرها كمعلمات عند إنشاء المورد. يمكنك العثور على قائمة بخدمات Azure الذكاء الاصطناعي المتوفرة "أنواع" عن طريق استدعاء الأسلوب التالي:

public static void list_available_kinds_skus_locations (CognitiveServicesManager client) {
    System.out.println ("Available SKUs:");
    System.out.println("Kind\tSKU Name\tSKU Tier\tLocations");
    ResourceSkus skus = client.resourceSkus();
    for (ResourceSku sku : skus.list()) {
        String locations = String.join (",", sku.locations());
        System.out.println (sku.kind() + "\t" + sku.name() + "\t" + sku.tier() + "\t" + locations);
    }
}

توفر الجداول التالية معلومات حول المنتجات والأسعار لخدمات Azure الذكاء الاصطناعي.

متعدد الخدمات

الخدمة النوع
خدمات متعددة. لمزيد من المعلومات، راجع صفحة التسعير. CognitiveServices

البحث الضوئي

الخدمة النوع
البحث الضوئي ComputerVision
Custom Vision - التنبؤ CustomVision.Prediction
Custom Vision - التدريب CustomVision.Training
وجه Face
ذكاء المستند FormRecognizer

الكلام

الخدمة النوع
الكلام SpeechServices

اللغة

الخدمة النوع
فهم اللغة (LUIS) LUIS
QnA Maker QnAMaker
اللغة TextAnalytics
مترجم النصوص TextTranslation

القرار

الخدمة النوع
Anomaly Detector AnomalyDetector
مشرف المحتوى ContentModerator
Personalizer Personalizer

Azure OpenAI

الخدمة النوع
Azure OpenAI OpenAI

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقا من المعاملات. سيؤدي تجاوز هذا الرقم إلى فرض رسوم إضافية، كما هو محدد في تفاصيل التسعير لخدمتك.

إشعار

تحتوي العديد من خدمات Azure الذكاء الاصطناعي على مستوى مجاني يمكنك استخدامه لتجربة الخدمة. لاستخدام المستوى المجاني، استخدم F0 كطبقة تسعير لموردك.

عرض الموارد الخاصة بك

لعرض كافة الموارد ضمن حساب Azure (عبر كافة مجموعات الموارد)، استخدم الطريقة التالية:

public static void list_resources (CognitiveServicesManager client, String resourceGroupName) {
    System.out.println ("Resources in resource group: " + resourceGroupName);
    // Note Azure resources are also sometimes referred to as accounts.
    Accounts accounts = client.accounts();
    for (Account account : accounts.listByResourceGroup(resourceGroupName)) {
        System.out.println ("ID: " + account.id());
        System.out.println ("Kind: " + account.kind ());
        System.out.println ("SKU Name: " + account.sku().name());
        System.out.println ("Custom subdomain name: " + account.properties().customSubDomainName());
        System.out.println ();
    }
}

حذف مَورد

يحذف الأسلوب التالي المورد المحدد من مجموعة الموارد المحددة.

public static void delete_resource (CognitiveServicesManager client, String resourceId) {
    System.out.println ("Deleting resource: " + resourceId + "...");
    client.accounts().deleteById (resourceId);
    System.out.println ("Resource deleted.");
    System.out.println ();
}

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

متطلبات جافا سكريبت

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • الإصدار الحالي من Node.js
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.
  • إذا كنت تخطط لاستخدام التحليل المكاني في Azure الذكاء الاصطناعي Vision أو Text Analytics for Health في Azure الذكاء الاصطناعي Language، فيجب عليك إنشاء موارد الرؤية أو اللغة الأولى من مدخل Microsoft Azure حتى تتمكن من مراجعة الشروط والأحكام والاعتراف بها. يمكنك القيام بذلك هنا: Azure الذكاء الاصطناعي Language وAzure الذكاء الاصطناعي Vision. بعد ذلك، يمكنك إنشاء موارد لاحقة باستخدام أي أداة نشر (على سبيل المثال، قالب SDK أو CLI أو ARM) ضمن نفس اشتراك Azure.

إنشاء كيان خدمة Azure

لكي يتفاعل تطبيقك مع حسابك على Azure، فإنك تحتاج إلى كيان خدمة Azure لإدارة الأذونات. اتبع الإرشادات الموجودة في إنشاء كيان خدمة Azure.

عند إنشاء كيان خدمة، ستعرف أنه يحتوي على قيمة سرية ومعرّف ومعرف التطبيق. احفظ معرّف التطبيق والسرية في موقع مؤقت للخطوات اللاحقة.

إنشاء مجموعة موارد

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

إنشاء تطبيق Node.js جديد

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

mkdir myapp && cd myapp

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

 init

إنشاء ملف باسم index.js قبل الخوض.

تثبيت مكتبة العميل

ثبت حزم npm التالية:

npm install @azure/arm-cognitiveservices
npm install @azure/identity

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

استيراد مكتبات

افتح البرنامج النصي index.js واستورد المكتبات التالية.

"use strict";

/* To run this sample, install the following modules.
 * npm install @azure/arm-cognitiveservices @azure/identity
 */
var Arm = require("@azure/arm-cognitiveservices");
var Identity = require("@azure/identity");

مصادقة العميل

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

const service_principal_application_id =
  "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE";
const service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE";

/* The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions. */
const subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE";

/* The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory. */
const tenant_id = "PASTE_YOUR_TENANT_ID_HERE";

/* The name of the Azure resource group in which you want to create the resource.
You can find resource groups in the Azure Dashboard under Home > Resource groups. */
const resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE";

/* The name of the custom subdomain to use when you create the resource. This is optional.
For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
Note not all Cognitive Services allow custom subdomain names.
*/
const subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE";

بعد ذلك، أضف الدالة التالية quickstart للتعامل مع العمل الرئيسي لبرنامجك. تنشئ الكتلة الأولى من التعليمات البرمجية كائن CognitiveServicesManagementClient باستخدام متغيرات بيانات الاعتماد التي أدخلتها أعلاه. هذا الكائن مطلوب لكافة عمليات إدارة Azure.

async function quickstart() {
  /* For more information see:
https://www.npmjs.com/package/@azure/arm-cognitiveservices/v/6.0.0
https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/samples/AzureIdentityExamples.md#authenticating-a-service-principal-with-a-client-secret
*/
  const credentials = new Identity.ClientSecretCredential(
    tenant_id,
    service_principal_application_id,
    service_principal_secret
  );
  const client = new Arm.CognitiveServicesManagementClient(
    credentials,
    subscription_id
  );
  // Note Azure resources are also sometimes referred to as accounts.
  const accounts_client = client.accounts;
  const resource_skus_client = client.resourceSkus;
  const deleted_accounts_client = client.deletedAccounts;

استدعاء دوال الإدارة

أضف التعليمات البرمجية التالية إلى نهاية الدالة الخاصة بك quickstart لسرد الموارد المتوفرة، وإنشاء نموذج مورد، وسرد الموارد المملوكة، ثم حذف نموذج المورد. ستحدد هذه الوظائف في الخطوات التالية.

إنشاء مورد خدمات Azure الذكاء الاصطناعي (Node.js)

لإنشاء مورد خدمات Azure الذكاء الاصطناعي جديد والاشتراك فيه، استخدم الدالة Create . تضيف هذه الوظيفة موردًا جديدًا قابلاً للفواتير إلى مجموعة الموارد التي تمررها. عند إنشاء مورد جديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) وموقع Azure. الوظيفة التالية تأخذ كافة هذه الوسائط وإنشاء مورد.

async function create_resource(
  client,
  resource_name,
  resource_kind,
  resource_sku,
  resource_region
) {
  console.log("Creating resource: " + resource_name + "...");
  /* NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
property from the properties object. */
  var parameters = {
    sku: { name: resource_sku },
    kind: resource_kind,
    location: resource_region,
    properties: { customSubDomainName: subdomain_name },
  };
  return client
    .beginCreateAndWait(resource_group_name, resource_name, parameters)
    .then((result) => {
      console.log("Resource created.");
      console.log();
      console.log("ID: " + result.id);
      console.log("Kind: " + result.kind);
      console.log();
    })
    .catch((err) => {
      console.log(err);
    });
}

اختيار مستوى الخدمة والتسعير

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

async function list_available_kinds_skus_locations(client) {
  console.log("Available SKUs:");
  var result = client.list();
  console.log("Kind\tSKU Name\tSKU Tier\tLocations");
  for await (let item of result) {
    var locations = item.locations.join(",");
    console.log(item.kind + "\t" + item.name + "\t" + item.tier + "\t" + locations);
  }
}

توفر الجداول التالية معلومات حول المنتجات والأسعار لخدمات Azure الذكاء الاصطناعي.

متعدد الخدمات

الخدمة النوع
خدمات متعددة. لمزيد من المعلومات، راجع صفحة التسعير. CognitiveServices

البحث الضوئي

الخدمة النوع
البحث الضوئي ComputerVision
Custom Vision - التنبؤ CustomVision.Prediction
Custom Vision - التدريب CustomVision.Training
وجه Face
ذكاء المستند FormRecognizer

الكلام

الخدمة النوع
الكلام SpeechServices

اللغة

الخدمة النوع
فهم اللغة (LUIS) LUIS
QnA Maker QnAMaker
اللغة TextAnalytics
مترجم النصوص TextTranslation

القرار

الخدمة النوع
Anomaly Detector AnomalyDetector
مشرف المحتوى ContentModerator
Personalizer Personalizer

Azure OpenAI

الخدمة النوع
Azure OpenAI OpenAI

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقا من المعاملات. سيؤدي تجاوز هذا الرقم إلى فرض رسوم إضافية، كما هو محدد في تفاصيل التسعير لخدمتك.

إشعار

تحتوي العديد من خدمات Azure الذكاء الاصطناعي على مستوى مجاني يمكنك استخدامه لتجربة الخدمة. لاستخدام المستوى المجاني، استخدم F0 كطبقة تسعير لموردك.

عرض الموارد الخاصة بك

لعرض كافة الموارد ضمن حساب Azure (عبر كافة مجموعات الموارد)، استخدم الوظيفة التالية:

async function list_resources(client) {
  console.log("Resources in resource group: " + resource_group_name);
  var result = client.listByResourceGroup(resource_group_name);
  for await (let item of result) {
    console.log(item);
    console.log();
  }
}

حذف مَورد

الوظيفة التالية حذف المورد المحدد من مجموعة الموارد المحددة.

async function delete_resource(client, resource_name) {
  console.log("Deleting resource: " + resource_name + "...");
  await client.beginDeleteAndWait(resource_group_name, resource_name);
  console.log("Resource deleted.");
  console.log();
}

شغّل التطبيق

أضف التعليمات البرمجية التالية إلى الجزء السفلي من البرنامج النصي لاستدعاء الدالة الرئيسية quickstart مع معالجة الأخطاء.

try {
  quickstart();
} catch (error) {
  console.log(error);
}

ثم، في نافذة وحدة التحكم الخاصة بك، قم بتشغيل التطبيق باستخدام node الأمر .

node index.js

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

متطلبات Python

  • اشتراك Azure صالح - إنشاء اشتراك مجاناً.
  • Python 3.x
  • يجب أن يكون Cognitive Services Contributor لحساب Azure دور معين لكي توافق على شروط الذكاء الاصطناعي المسؤولة وإنشاء مورد. للحصول على هذا الدور المعين لحسابك، اتبع الخطوات الواردة في وثائق تعيين الأدوار، أو اتصل بالمسؤول.
  • إذا كنت تخطط لاستخدام التحليل المكاني في Azure الذكاء الاصطناعي Vision أو Text Analytics for Health في Azure الذكاء الاصطناعي Language، فيجب عليك إنشاء موارد الرؤية أو اللغة الأولى من مدخل Microsoft Azure حتى تتمكن من مراجعة الشروط والأحكام والاعتراف بها. يمكنك القيام بذلك هنا: Azure الذكاء الاصطناعي Language وAzure الذكاء الاصطناعي Vision. بعد ذلك، يمكنك إنشاء موارد لاحقة باستخدام أي أداة نشر (على سبيل المثال، قالب SDK أو CLI أو ARM) ضمن نفس اشتراك Azure.

إنشاء كيان خدمة Azure

لكي يتفاعل تطبيقك مع حسابك على Azure، فإنك تحتاج إلى كيان خدمة Azure لإدارة الأذونات. اتبع الإرشادات الموجودة في إنشاء كيان خدمة Azure.

عند إنشاء كيان خدمة، ستعرف أنه يحتوي على قيمة سرية ومعرّف ومعرف التطبيق. احفظ معرّف التطبيق والسرية في موقع مؤقت للخطوات اللاحقة.

إنشاء مجموعة موارد

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

إنشاء تطبيق Python جديد

إنشاء تطبيق Python جديد في المحرر المفضل لديك أو IDE وانتقل إلى مشروعك في نافذة وحدة تحكم.

تثبيت مكتبة العميل

يمكنك تثبيت مكتبة العميل باستخدام:

pip install azure-mgmt-cognitiveservices

قم أيضا بتثبيت مكتبة Azure Identity لدعم مصادقة الرمز المميز ل Microsoft Entra.

pip install azure-identity

استيراد مكتبات

افتح برنامج Python النصي واستورد المكتبات التالية.

import time
from azure.identity import ClientSecretCredential
from azure.mgmt.cognitiveservices import CognitiveServicesManagementClient
from azure.mgmt.cognitiveservices.models import Account, Sku

مصادقة العميل

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

# Be sure to use the service pricipal application ID, not simply the ID. 
service_principal_application_id = "PASTE_YOUR_SERVICE_PRINCIPAL_APPLICATION_ID_HERE"
service_principal_secret = "PASTE_YOUR_SERVICE_PRINCIPAL_SECRET_HERE"

# The ID of your Azure subscription. You can find this in the Azure Dashboard under Home > Subscriptions.
subscription_id = "PASTE_YOUR_SUBSCRIPTION_ID_HERE"

# The Active Directory tenant ID. You can find this in the Azure Dashboard under Home > Azure Active Directory.
tenant_id = "PASTE_YOUR_TENANT_ID_HERE"

# The name of the Azure resource group in which you want to create the resource.
# You can find resource groups in the Azure Dashboard under Home > Resource groups.
resource_group_name = "PASTE_YOUR_RESOURCE_GROUP_NAME_HERE"

# The name of the custom subdomain to use when you create the resource. This is optional.
# For example, if you create a Bing Search v7 resource with the custom subdomain name 'my-search-resource',
# your resource would have the endpoint https://my-search-resource.cognitiveservices.azure.com/.
# Note not all Cognitive Services allow custom subdomain names.
subdomain_name = "PASTE_YOUR_SUBDOMAIN_NAME_HERE"

# How many seconds to wait between checking the status of an async operation.
wait_time = 10

ثم أضف التعليمات البرمجية التالية لإنشاء كائن CognitiveServicesManagementClient . هذا الكائن مطلوب لكافة عمليات إدارة Azure.

credential = ClientSecretCredential(tenant_id, service_principal_application_id, service_principal_secret)
client = CognitiveServicesManagementClient(credential, subscription_id)

إنشاء مورد خدمات Azure الذكاء الاصطناعي (Python)

لإنشاء مورد خدمات Azure الذكاء الاصطناعي جديد والاشتراك فيه، استخدم الدالة Create . تضيف هذه الوظيفة موردًا جديدًا قابلاً للفواتير إلى مجموعة الموارد التي تمررها. عند إنشاء مورد جديد، ستحتاج إلى معرفة "نوع" الخدمة التي تريد استخدامها، بالإضافة إلى مستوى التسعير (أو SKU) وموقع Azure. الوظيفة التالية تأخذ كافة هذه الوسائط وإنشاء مورد.

def create_resource (resource_name, kind, sku_name, location) :
    print("Creating resource: " + resource_name + "...")

# NOTE If you do not want to use a custom subdomain name, remove the customSubDomainName
# property from the properties object.
    parameters = Account(sku=Sku(name=sku_name), kind=kind, location=location, properties={ 'custom_sub_domain_name' : subdomain_name })

    poller = client.accounts.begin_create(resource_group_name, resource_name, parameters)
    while (False == poller.done ()) :
        print ("Waiting {wait_time} seconds for operation to finish.".format (wait_time = wait_time))
        time.sleep (wait_time)
# This will raise an exception if the server responded with an error.
    result = poller.result ()

    print("Resource created.")
    print()
    print("ID: " + result.id)
    print("Name: " + result.name)
    print("Type: " + result.type)
    print()

اختيار مستوى الخدمة والتسعير

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

def list_available_kinds_skus_locations():
    print("Available SKUs:")
    result = client.resource_skus.list()
    print("Kind\tSKU Name\tSKU Tier\tLocations")
    for x in result:
        locations = ",".join(x.locations)
        print(x.kind + "\t" + x.name + "\t" + x.tier + "\t" + locations)

توفر الجداول التالية معلومات حول المنتجات والأسعار لخدمات Azure الذكاء الاصطناعي.

متعدد الخدمات

الخدمة النوع
خدمات متعددة. لمزيد من المعلومات، راجع صفحة التسعير. CognitiveServices

البحث الضوئي

الخدمة النوع
البحث الضوئي ComputerVision
Custom Vision - التنبؤ CustomVision.Prediction
Custom Vision - التدريب CustomVision.Training
وجه Face
ذكاء المستند FormRecognizer

الكلام

الخدمة النوع
الكلام SpeechServices

اللغة

الخدمة النوع
فهم اللغة (LUIS) LUIS
QnA Maker QnAMaker
اللغة TextAnalytics
مترجم النصوص TextTranslation

القرار

الخدمة النوع
Anomaly Detector AnomalyDetector
مشرف المحتوى ContentModerator
Personalizer Personalizer

Azure OpenAI

الخدمة النوع
Azure OpenAI OpenAI

مستويات التسعير والفوترة

تستند مستويات التسعير (والمبلغ الذي تتم فوترته) إلى عدد المعاملات التي ترسلها باستخدام معلومات المصادقة الخاصة بك. يحدد كل مستوى تسعير ما يلي:

  • الحد الأقصى لعدد المعاملات المسموح بها في الثانية (TPS).
  • ميزات الخدمة الممكنة ضمن مستوى التسعير.
  • تكلفة عدد محدد مسبقا من المعاملات. سيؤدي تجاوز هذا الرقم إلى فرض رسوم إضافية، كما هو محدد في تفاصيل التسعير لخدمتك.

إشعار

تحتوي العديد من خدمات Azure الذكاء الاصطناعي على مستوى مجاني يمكنك استخدامه لتجربة الخدمة. لاستخدام المستوى المجاني، استخدم F0 كطبقة تسعير لموردك.

عرض الموارد الخاصة بك

لعرض كافة الموارد ضمن حساب Azure (عبر كافة مجموعات الموارد)، استخدم الوظيفة التالية:

def list_resources():
    print("Resources in resource group: " + resource_group_name)
    result = client.accounts.list_by_resource_group(resource_group_name)
    for x in result:
        print(x.name)
        print(x)
        print()

حذف مَورد

الوظيفة التالية حذف المورد المحدد من مجموعة الموارد المحددة.

def delete_resource(resource_name) :
    print("Deleting resource: " + resource_name + "...")

    poller = client.accounts.begin_delete(resource_group_name, resource_name)
    while (False == poller.done ()) :
        print ("Waiting {wait_time} seconds for operation to finish.".format (wait_time = wait_time))
        time.sleep (wait_time)
# This will raise an exception if the server responded with an error.
    result = poller.result ()

    print("Resource deleted.")

استدعاء دوال الإدارة

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

resource_name = "test_resource"
resource_kind = "TextTranslation"
resource_sku = "F0"
resource_location = "Global"

# Uncomment this to list all available resource kinds, SKUs, and locations for your Azure account.
#list_available_kinds_skus_locations ()

# Create a resource with kind Text Translation, SKU F0 (free tier), location global.
create_resource(resource_name, resource_kind, resource_sku, resource_location)

# Uncomment this to list all resources for your Azure account.
#list_resources()

# Delete the resource.
delete_resource(resource_name)

# NOTE: Deleting a resource only soft-deletes it. To delete it permanently, you must purge it.
# Otherwise, if you later try to create a resource with the same name, you will receive the following error:
# azure.core.exceptions.ResourceExistsError: (FlagMustBeSetForRestore) An existing resource with ID '<your resource ID>' has been soft-deleted. To restore the resource, you must specify 'restore' to be 'true' in the property. If you don't want to restore existing resource, please purge it first.
# Code: FlagMustBeSetForRestore

# Purge the resource.
purge_resource(resource_name, resource_location)

شغّل التطبيق

قم بتشغيل التطبيق الخاص بك من سطر الأوامر باستخدام python الأمر .

python <your-script-name>.py

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