استخدام حاويات Docker للكشف عن اللغة محلياً

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

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

  • إذا لم يكن لديك اشتراك في Azure، فأنشئ حساباً مجانياً.
  • تم تثبيت Docker على كمبيوتر مضيف. يجب تكوين Docker للسماح للحاويات بالاتصال وإرسال بيانات الفوترة إلى Azure.
    • في Windows، يجب أيضاً تكوين Docker لدعم حاويات Linux.
    • يجب أن يكون لديك فهم أساسي لمفاهيم Docker.
  • مورد لغة باستخدام طبقة الأسعار المجانية (F0) أو القياسية (S).

جمع المعلمات المطلوبة

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

URI نقطة النهاية

{ENDPOINT_URI} تتوفر القيمة في صفحة نظرة عامة على مدخل Microsoft Azure لمورد خدمات Azure الذكاء الاصطناعي المقابل. الانتقال إلى صفحة Overview، وتمرير مؤشر الماوس فوق نقطة النهاية حيث ستظهر أيقونة النسخ إلى الحافظة. نسخ نقطة النهاية واستخدمها عند الحاجة.

لقطة شاشة توضح تجميع معرف موارد منتظم لنقطة النهاية لاستخدامها لاحقاً.

المفاتيح

{API_KEY} يتم استخدام القيمة لبدء الحاوية وهي متوفرة في صفحة مفاتيح مدخل Microsoft Azure لمورد خدمات Azure الذكاء الاصطناعي المقابل. انتقل إلى صفحة Keys، وحدد أيقونة Copy to clipboard.

لقطة شاشة توضح الحصول على أحد المفتاحين لاستخدامه لاحقاً.

هام

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

متطلبات وتوصيات الكمبيوتر المضيف

المضيف هو كمبيوتر يعمل بإصدار x64 يقوم بتشغيل حاوية Docker. وقد يكون هذا أحد أجهزة الكمبيوتر التي في موقعك أو خدمة استضافة Docker في Azure مثل:

يصف الجدول التالي الحد الأدنى والمواصفات الموصى بها لحاوية الكشف عن اللغة. يجب أن تكون كل نواة 2.6 جيجاهيرتز على الأقل (GHz) أو أسرع. يتم أيضاً سرد المعاملات المسموح بها في الثانية (TPS).

الحد الأدنى من مواصفات المضيف مواصفات المضيف الموصى بها الحد الأدنى لـ TPS الحد الأقصى لـ TPS
تحديد اللغة نواة واحدة، ذاكرة 2GB نواة واحدة، ذاكرة 4GB 15 30

تتوافق نواة وذاكرة CPU مع إعدادات --cpusو--memory، التي تستخدم كجزء من أمر docker run.

أحصل على صورة الحاوية باستخدام docker pull

يمكن العثور على نسخة حاوية Language Detection على تجمع سجل الحاوية mcr.microsoft.com. موجودة داخل المستودع azure-cognitive-services/textanalytics/ ويطلق عليها اسم language. اسم نسخة الحاوية المؤهل بالكامل هو mcr.microsoft.com/azure-cognitive-services/textanalytics/language

لاستخدام أحدث إصدار من الحاوية، يمكنك استخدام العلامة latest . يمكنك أيضاً العثور على قائمة كاملة من العلامات على MCR.

استخدم docker pull الأمر لتنزيل صورة حاوية من سجل حاوية Microsoft.

docker pull mcr.microsoft.com/azure-cognitive-services/textanalytics/language:latest

تلميح

يمكنك استخدام أمر docker images لسرد صور الحاوية التي تم تنزيلها. على سبيل المثال، يسرد الأمر التالي المعرّف والمستودع والعلامة الخاصة بكل صورة حاوية تم تنزيلها، منسقة في شكل جدول:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

تشغيل الحاوية باستخدام docker run

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

هام

  • تستخدم أوامر Docker في الأقسام التالية القطع الخلفية، \ كحرف استمرار في الخط. استبدل هذا أو أزله استناداً إلى متطلبات نظام التشغيل المضيف.
  • تُحدد الخياراتEula وBillingApiKey لتشغيل الحاوية؛ وإلا فلن يتم تشغيل الحاوية. لمزيد من المعلومات، انظرالفواتير.

لتشغيل حاوية Language Detection، قم بتنفيذ الأمر التالي docker run. قم باستبدال العناصر النائبة بقيمك الخاصة:

العنصر النائب القيمة تنسيق أو مثال
{API_KEY} المفتاح لمورد اللغة الخاص بك. يمكنك العثور عليه في صفحة المفتاح ونقطة النهاية الخاصة بموردك، على مدخل Microsoft Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{ENDPOINT_URI} نقطة النهاية للوصول إلى واجهة برمجة تطبيقات الكشف عن اللغة. يمكنك العثور عليه في صفحة المفتاح ونقطة النهاية الخاصة بموردك، على مدخل Microsoft Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
docker run --rm -it -p 5000:5000 --memory 4g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/textanalytics/language \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

هذا الأمر:

  • تشغيل حاوية كشف اللغة من صورة الحاوية
  • يخصص وحدة المعالجة المركزية الأساسية واحدة و 4 جيجابايت (GB) من الذاكرة
  • يعرض منفذ TCP 5000 وتخصيص TTY زائف للحاوية
  • يزيل الحاوية تلقائياً بعد إنهائها. صورة الحاوية لا تزال متوفرة على الكمبيوتر المضيف.

تشغيل حاويات متعددة على نفس المضيف

إذا كانت لديك النية في تشغيل حاويات متعددة بمنافذ مكشوفة، فيتعين التأكد من تشغيل كل حاوية بمنفذ مكشوف مختلف. على سبيل المثال، القيام بتشغيل الحاوية الأولى على المنفذ 5000 والحاوية الثانية على المنفذ 5001.

يمكن أن يكون لديك هذه الحاوية وحاوية خدمات azure الذكاء الاصطناعي مختلفة تعمل على HOST معا. يمكن أن يكون لديك أيضا حاويات متعددة من نفس حاوية خدمات Azure الذكاء الاصطناعي قيد التشغيل.

الاستعلام عن نقطة نهاية التنبؤ للحاوية

توفر الحاوية واجهات برمجة التطبيقات لنقاط نهاية توقّع الاستعلام المستند إلى REST.

استخدم المضيف http://localhost:5000، لواجهات برمجة تطبيقات الحاوية.

التحقق من أن الحاوية قيد التشغيل

هناك عدة طرق للتحقق من أن الحاوية قيد التشغيل. تحديد موقع عنوان IP الخارجي والمنفذ المكشوف للحاوية المعنية، وفتح مستعرض الويب المفضل لديك. استخدم عناوين URL المختلفة للطلب التي تتبع التحقق من صحة الحاوية. عناوين URL لطلب المثال المذكورة هنا هي http://localhost:5000، ولكن قد تختلف الحاوية المحددة. تأكد من الاعتماد على عنوان IP الخارجي للحاوية والمنفذ المكشوف.

URL للطلب الغرض
http://localhost:5000/ توفر الحاوية صفحةً رئيسيةً.
http://localhost:5000/ready المطلوب مع GET، يوفر عنوان URL هذا التحقق من أن الحاوية جاهزة لقبول استعلام مقابل النموذج. ويمكن استخدام هذا الطلب لـ Kubernetes تحقيقات الحيوية والاستعداد.
http://localhost:5000/status ومطلوب أيضاً مع GET، يتحقق عنوان URL هذا مما إذا كان مفتاح واجهة برمجة التطبيقات المستخدم لبدء الحاوية صالحاً دون إجراء استعلام نقطة النهاية. ويمكن استخدام هذا الطلب لـ Kubernetes تحقيقات الحيوية والاستعداد.
http://localhost:5000/swagger توفر الحاوية مجموعةً كاملةً من الوثائق لنقاط النهاية وميزة Try it out. باستخدام هذه الميزة، يمكنك إدخال إعداداتك في نموذج HTML المستند إلى الويب وجعل الاستعلام دون الحاجة إلى كتابة أي رمز. بعد عودة الاستعلام، يتم توفير مثال على أمر Curl لإظهار عناوين HTTP وتنسيق الجسم المطلوب.

الصفحة الرئيسية للحاوية

تشغيل الحاوية غير متصلة بالإنترنت

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

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

DownloadLicense=True ستقوم المعلمة في الأمر بتنزيل docker run ملف ترخيص سيمكن حاوية Docker من التشغيل عندما لا تكون متصلة بالإنترنت. يحتوي أيضا على تاريخ انتهاء صلاحية، وبعد ذلك سيكون ملف الترخيص غير صالح لتشغيل الحاوية. يمكنك فقط استخدام ملف ترخيص مع الحاوية المناسبة التي تمت الموافقة عليها. على سبيل المثال، لا يمكنك استخدام ملف ترخيص لحاوية نصية للكلام مع حاوية معلومات المستند.

العنصر النائب القيمة تنسيق أو مثال
{IMAGE} صورة الحاوية التي تريد استخدامها. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{LICENSE_MOUNT} المسار حيث سيتم تنزيل الترخيص وتثبيته. /host/license:/path/to/license/directory
{ENDPOINT_URI} نقطة النهاية للمصادقة على طلب واجهة برمجة التطبيقات. يمكنك العثور عليه في صفحة المفتاح ونقطة النهاية الخاصة بموردك، على مدخل Microsoft Azure. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API_KEY} مفتاح مورد Text Analytics. يمكنك العثور عليه في صفحة المفتاح ونقطة النهاية للمورد الخاص بك، في مدخل Microsoft Azure. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
{CONTAINER_LICENSE_DIRECTORY} موقع مجلد الترخيص على نظام الملفات المحلي للحاوية. /path/to/license/directory
docker run --rm -it -p 5000:5000 \ 
-v {LICENSE_MOUNT} \
{IMAGE} \
eula=accept \
billing={ENDPOINT_URI} \
apikey={API_KEY} \
DownloadLicense=True \
Mounts:License={CONTAINER_LICENSE_DIRECTORY} 

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

أينما يتم تشغيل الحاوية، يجب تحميل ملف الترخيص إلى الحاوية ويجب تحديد موقع مجلد الترخيص على نظام الملفات المحلي للحاوية باستخدام Mounts:License=. يجب أيضا تحديد تحميل الإخراج بحيث يمكن كتابة سجلات استخدام الفوترة.

العنصر النائب القيمة تنسيق أو مثال
{IMAGE} صورة الحاوية التي تريد استخدامها. mcr.microsoft.com/azure-cognitive-services/form-recognizer/invoice
{MEMORY_SIZE} الحجم المناسب للذاكرة لتخصيصها للحاوية الخاصة بك. 4g
{NUMBER_CPUS} العدد المناسب من وحدات المعالجة المركزية لتخصيصها للحاوية الخاصة بك. 4
{LICENSE_MOUNT} المسار حيث سيتم تحديد موقع الترخيص وتثبيته. /host/license:/path/to/license/directory
{OUTPUT_PATH} مسار الإخراج لتسجيل سجلات الاستخدام. /host/output:/path/to/output/directory
{CONTAINER_LICENSE_DIRECTORY} موقع مجلد الترخيص على نظام الملفات المحلي للحاوية. /path/to/license/directory
{CONTAINER_OUTPUT_DIRECTORY} موقع مجلد الإخراج على نظام الملفات المحلي للحاوية. /path/to/output/directory
docker run --rm -it -p 5000:5000 --memory {MEMORY_SIZE} --cpus {NUMBER_CPUS} \ 
-v {LICENSE_MOUNT} \ 
-v {OUTPUT_PATH} \
{IMAGE} \
eula=accept \
Mounts:License={CONTAINER_LICENSE_DIRECTORY}
Mounts:Output={CONTAINER_OUTPUT_DIRECTORY}

إيقاف الحاوية

لإيقاف تشغيل الحاوية، في بيئة سطر الأوامر حيث يتم تشغيل الحاوية، تحديد Ctrl+C.

استكشاف الأخطاء وإصلاحها

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

تلميح

لمزيد من المعلومات والإرشادات حول استكشاف الأخطاء وإصلاحها، راجع حاويات خدمات Azure الذكاء الاصطناعي الأسئلة المتداولة (FAQ).

الفوترة

ترسل حاويات الكشف عن اللغة معلومات الفوترة إلى Azure، باستخدام مورد Language على حساب Azure الخاص بك.

تتم فوترة استعلامات الحاوية على مستوى تسعير مورد "Azure" المستخدم للمعلمة ApiKey.

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

قم بالاتصال بـ Azure

تحتاج الحاوية إلى قيم وسيطة للفوترة لتشغيلها. تسمح هذه القيم للحاوية بالاتصال بنقطة نهاية الفوترة. تبلغ الحاوية عن الاستخدام كل 10 - 15 دقيقة. إذا لم تتصل الحاوية بــ Azure ضمن النافذة الزمنية المسموح بها، تستمر الحاوية في التشغيل ولكنها لا تقدم الاستعلامات حتى تتم استعادة نقطة نهاية الفوترة. تتم محاولة الاتصال 10 مرات في نفس الفاصل الزمني من 10 إلى 15 دقيقة. تتوقف الحاوية عن تقديم الطلبات إذا لم تتمكن من الاتصال بنقطة نهاية الفوترة ضمن المحاولات العشرة. راجع الأسئلة المتداولة حول حاوية خدمات azure الذكاء الاصطناعي للحصول على مثال على المعلومات المرسلة إلى Microsoft للفوترة.

وسيطات الفوترة

سيبدأ الأمر docker run في تشغيل الحاوية عند وضع قيم صالحة في كافة الخيارات الثلاثة التالية:

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

لمزيد من المعلومات حول هذه الخيارات، راجع تكوين الحاويات.

الملخص

في هذه المقالة، تعلمت المفاهيم وسير العمل لتنزيل حاويات الكشف عن اللغة وتثبيتها وتشغيلها. وخلاصة القول:

  • يوفر الكشف عن اللغة حاويات Linux لـ Docker
  • يتم تنزيل صور الحاوية من سجل حاوية Microsoft (MCR).
  • يتم تشغيل صور الحاوية في Docker.
  • يجب تحديد معلومات الفوترة عند إنشاء حاوية.

هام

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

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