تثبيت حاويات الكلام وتشغيلها باستخدام Docker

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

إشعار

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

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

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

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

لا يتم ترخيص حاويات الكلام للتشغيل دون الاتصال ب Azure لقياسها. يجب تكوين الحاوية لتوصيل معلومات الفوترة مع خدمة القياس دائما.

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

تتم فوترة الاستعلامات إلى الحاوية في طبقة الأسعار لمورد Azure المستخدم للمعلمة ApiKey.

docker run يبدأ الأمر الحاوية عند توفير جميع الخيارات الثلاثة التالية بقيم صالحة:

الخيار ‏‏الوصف
ApiKey مفتاح واجهة برمجة التطبيقات لمورد الكلام المستخدم لتعقب معلومات الفوترة.
ApiKey يتم استخدام القيمة لبدء الحاوية وهي متوفرة في صفحة مفاتيح مدخل Microsoft Azure لمورد الكلام المقابل. انتقل إلى صفحة Keys وحدد الأيقونة Copy to clipboard.
Billing نقطة نهاية مورد الكلام المستخدم لتعقب معلومات الفوترة.
تتوفر نقطة النهاية في صفحة نظرة عامة على مدخل Microsoft Azure لمورد الكلام المقابل. انتقل إلى صفحة Overview، ومرر مؤشر الماوس فوق نقطة النهاية، وستظهر أيقونة نسخ إلى الحافظة. انسخ واستخدم نقطة النهاية عند الحاجة.
Eula يشير إلى أنك قبلت ترخيص الحاوية.
يجب تعيين قيمة هذا الخيار على accept.

هام

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

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

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

متطلبات الحاوية وتوصياتها

يصف الجدول التالي الحد الأدنى والموصى به لتخصيص الموارد لكل حاوية Speech:

الحاوية الحد الأدنى مستحسن نموذج الكلام
الكلام إلى النص 4 نويات، ذاكرة 4 جيجابايت 8 ذاكرة أساسية، ذاكرة 8 غيغابايت +4 إلى 8 غيغابايت الذاكرة
تحويل الكلام المخصص إلى نص 4 نويات، ذاكرة 4 جيجابايت 8 ذاكرة أساسية، ذاكرة 8 غيغابايت +4 إلى 8 غيغابايت الذاكرة
تحديد لغة الكلام 1 أنوية وذاكرة 1 غيغابايت 1 أنوية وذاكرة 1 غيغابايت غير متوفر
النص العصبي إلى كلام 6 أنوية وذاكرة 12 غيغابايت 8 أنوية وذاكرة 16 غيغابايت غير متوفر

يجب أن يكون كل نواة 2.6 غيغاهيرتز على الأقل (غيغاهرتز) أو أسرع.

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

إشعار

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

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

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

إشعار

تدعم الحاويات إدخال الصوت المضغوط إلى Speech SDK باستخدام GStreamer. لتثبيت GStreamer في حاوية، اتبع تعليمات Linux الخاصة بـ GStreamer في استخدام إدخال الصوت المضغوط باستخدام برنامج ضغط الوسائط وفكها بواسطة Speech SDK.

دعم ملحقات المتجهات المتقدمة

المضيف هو جهاز الكمبيوتر الذي يقوم بتشغيل حاوية Docker. يجب أن يكون المضيف داعماًلــAdvanced Vector Extensions (AVX2). يمكنك التحقق من دعم AVX2 على مضيفي Linux باستخدام الأمر التالي:

grep -q avx2 /proc/cpuinfo && echo AVX2 supported || echo No AVX2 support detected

تحذير

الكمبيوتر المضيف يكون مطلوباً لدعم AVX2. لن تعمل الحاوية بشكل صحيح دون دعم AVX2.

تشغيل الحاوية

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

لاحظ أفضل الممارسات التالية باستخدام docker run الأمر :

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

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

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

فيما يلي مثال على النتيجة:

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

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

هناك عدة طرق للتحقق من أن الحاوية قيد التشغيل. حدد موقع عنوان External IP والمنفذ المكشوف للحاوية المعنية، وافتح متصفح الويب المفضل لديك. استخدم عناوين URL المختلفة للطلبات التالية للتحقق من تشغيل الحاوية.

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

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

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

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

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

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

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

عناوين URL للمضيف

إشعار

استخدم رقم منفذ فريداً إذا كنت تقوم بتشغيل حاويات متعددة.

البروتوكول عنوان URL للمضيف الحاويات
WS ws://localhost:5000 تحويل الكلام إلى نص

تحويل الكلام المخصص إلى نص
HTTP http://localhost:5000 النص العصبي إلى كلام

تحديد لغة الكلام

لمزيد من المعلومات حول استخدام بروتوكولات WSS وHTTPS، راجع أمان الحاوية في وثائق خدمات Azure الذكاء الاصطناعي.

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

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

تلميح

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

إعدادات التسجيل

تأتي حاويات الكلام مع دعم تسجيل ASP.NET Core. فيما يلي مثال على بدء neural-text-to-speech container التسجيل الافتراضي إلى وحدة التحكم:

docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY} \
Logging:Console:LogLevel:Default=Information

لمزيد من المعلومات حول التسجيل، راجع تكوين حاويات الكلام وسجلاتالاستخدام في وثائق خدمات Azure الذكاء الاصطناعي.

حاوية تشخيص Microsoft

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

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

docker pull mcr.microsoft.com/azure-cognitive-services/diagnostic

ثم قم بتشغيل الحاوية. واستبدل {ENDPOINT_URI} بنقطة النهاية الخاصة بك، واستبدل {API_KEY} بمفتاحك للمورد الخاص بك:

docker run --rm mcr.microsoft.com/azure-cognitive-services/diagnostic \
eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

تختبر الحاوية اتصال الشبكة بنقطة نهاية الفوترة.

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

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

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