الكلام المخصص للحاويات النصية باستخدام Docker

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

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

صور الحاوية

يمكن العثور على صورة الحاوية النصية المخصصة للكلام لجميع الإصدارات و المحلية المدعومة في نقابة Microsoft Container Registry (MCR ). موجودة داخل المستودع azure-cognitive-services/speechservices/ ويطلق عليها اسم custom-speech-to-text.

A screenshot of the search connectors and triggers dialog.

اسم نسخة الحاوية المؤهل بالكامل هو mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text. إما إلحاق إصدار معين أو إلحاق :latest للحصول على أحدث إصدار.

إصدار المسار
الأحدث mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:4.6.0-amd64

تكون جميع العلامات، باستثناء latest، بالتنسيق التالي وهي حساسة لحالة الأحرف:

<major>.<minor>.<patch>-<platform>-<prerelease>

إشعار

locale يتم تحديد و voice للكلام المخصص للحاويات النصية بواسطة النموذج المخصص الذي تم استيعابه بواسطة الحاوية.

تتوفر العلامات أيضا بتنسيق JSON لراحتك. يتضمن النص الأساسي مسار الحاوية وقائمة العلامات. لا يتم فرز العلامات حسب الإصدار، ولكن "latest" يتم تضمينها دائما في نهاية القائمة كما هو موضح في هذه القصاصة البرمجية:

{
  "name": "azure-cognitive-services/speechservices/custom-speech-to-text",
  "tags": [
    "2.10.0-amd64",
    "2.11.0-amd64",
    "2.12.0-amd64",
    "2.12.1-amd64",
    <--redacted for brevity-->
    "latest"
  ]
}

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

تحتاج إلى المتطلبات الأساسية بما في ذلك الأجهزة المطلوبة. راجع أيضا التخصيص الموصى به للموارد لكل حاوية Speech.

استخدم الأمر سحب docker لتنزيل صورة حاوية من Microsoft Container Registry:

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text:latest

إشعار

يتم تحديد locale وvoice لحاويات الكلام المخصصة بواسطة النموذج المخصص الذي تم إدخاله بواسطة الحاوية.

الحصول على معرف النموذج

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

يجب تدريب النموذج المخصص باستخدام Speech Studio. للحصول على معلومات حول كيفية الحصول على معرف النموذج، راجع دورة حياة نموذج الكلام المخصصة.

Screenshot that shows the custom speech training page.

احصل على معرف النموذج لاستخدامه كوسيطة لمعلمة ModelId الخاصة بالأمر docker run.

Screenshot that shows custom speech model details.

عرض تنزيل النموذج

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

إشعار

على الرغم من docker run أنك تستخدم الأمر ، لم يتم بدء تشغيل الحاوية للخدمة.

يمكنك الاستعلام عن أي من أنواع نماذج العرض هذه أو تنزيلها كلها: إعادة تسجيل (Rescore)، وعلامة الترقيم (Punct)، وإعادة التقسيم (Resegment)، وwfstitn (Wfstitn). بخلاف ذلك، يمكنك استخدام الخيار FullDisplay (مع الأنواع الأخرى أو بدونها) للاستعلام عن جميع أنواع نماذج العرض أو تنزيلها.

قم بتعيين BaseModelLocale للاستعلام عن أحدث نموذج عرض متاح في الإعداد المحلي الهدف. إذا قمت بتضمين أنواع نماذج عرض متعددة، يقوم الأمر بإرجاع أحدث نماذج العرض المتوفرة لكل نوع. على سبيل المثال:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \   # Specify `FullDisplay` or a space-separated subset of display models
BaseModelLocale={LOCALE} \           
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

قم بتعيين DisplayLocale لتنزيل أحدث نموذج عرض متاح على الإعداد المحلي الهدف. عند تعيين DisplayLocale، يجب عليك أيضا تحديد FullDisplay أو مجموعة فرعية من نماذج العرض مفصولة بمسافة. يقوم الأمر بتنزيل أحدث طراز عرض متوفر لكل نوع محدد. على سبيل المثال:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
Punct Rescore Resegment Wfstitn \   # Specify `FullDisplay` or a space-separated subset of display models
DisplayLocale={LOCALE} \           
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

قم بتعيين معلمة معرف نموذج واحد لتنزيل نموذج عرض معين: إعادة تسجيل (RescoreId)، أو علام الترقيم (PunctId)، أو إعادة التقسيم (ResegmentId)، أو wfstitn (WfstitnId). هذا مشابه لكيفية تنزيل نموذج أساسي عبر المعلمة ModelId. على سبيل المثال، لتنزيل نموذج عرض إعادة تسجيل، يمكنك استخدام الأمر التالي مع المعلمة RescoreId:

docker run --rm -it \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
RescoreId={RESCORE_MODEL_ID} \         
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

إشعار

إذا قمت بتعيين أكثر من استعلام أو معلمة تنزيل، فسيحدد الأمر الأولوية بهذا الترتيب: BaseModelLocale، ومعرف النموذج، ثم DisplayLocale (ينطبق فقط على نماذج العرض).

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

استخدم الأمر docker run لتشغيل الحاوية للخدمة.

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

المعلمة ‏‏الوصف‬
{VOLUME_MOUNT} تحميل وحدة تخزين الكمبيوتر المضيف، والذي يستخدمه Docker لاستمرار النموذج المخصص. مثال على ذلك هو c:\CustomSpeech مكان وجود محرك الأقراص c:\ على الجهاز المضيف.
{MODEL_ID} الكلام المخصص أو معرف النموذج الأساسي. لمزيد من المعلومات، راجع الحصول على معرف النموذج.
{ENDPOINT_URI} نقطة النهاية مطلوبة للقياس والفوترة. لمزيد من المعلومات، راجع وسيطات الفوترة.
{API_KEY} مفتاح API مطلوب. لمزيد من المعلومات، راجع وسيطات الفوترة.

عند تشغيل الكلام المخصص إلى حاوية نصية، قم بتكوين المنفذ والذاكرة وCPU وفقا للكلام المخصص لمتطلبات وتوصيات حاوية النص.

فيما يلي مثال docker run على الأمر مع قيم العنصر النائب. يجب تحديد VOLUME_MOUNTMODEL_IDالقيم و ENDPOINT_URIو وAPI_KEY:

docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
-v {VOLUME_MOUNT}:/usr/local/models \
mcr.microsoft.com/azure-cognitive-services/speechservices/custom-speech-to-text \
ModelId={MODEL_ID} \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

هذا الأمر:

  • تشغيل كلام مخصص إلى حاوية نصية من صورة الحاوية.
  • يخصص 4 ذاكرات أساسية لوحدة المعالجة المركزية و8 غيغابايت من الذاكرة.
  • تحميل الكلام المخصص إلى نموذج النص من تحميل إدخال وحدة التخزين، على سبيل المثال، C:\CustomSpeech.
  • يعرض منفذ TCP 5000 ويخصص TTY زائف للحاوية.
  • يقوم بتنزيل النموذج بناءً على ModelId (إذا لم يتم العثور عليه عند تحميل وحدة التخزين).
  • إذا تم تنزيل النموذج المخصص مسبقاً، فسيتم تجاهل ModelId.
  • يزيل الحاوية تلقائياً بعد إنهائها. صورة الحاوية لا تزال متوفرة على الكمبيوتر المضيف.

لمزيد من المعلومات حول docker run حاويات الكلام، راجع تثبيت حاويات الكلام وتشغيلها باستخدام Docker.

استخدام الحاوية

توفر حاويات الكلام واجهات برمجة تطبيقات نقطة نهاية الاستعلام المستندة إلى websocket التي يتم الوصول إليها من خلال Speech SDK و Speech CLI. بشكل افتراضي، يستخدم Speech SDK و Speech CLI خدمة Speech العامة. لاستخدام الحاوية، تحتاج إلى تغيير أسلوب التهيئة.

هام

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

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

var config = SpeechConfig.FromSubscription(...);

استخدم هذا التكوين مع مضيف الحاوية:

var config = SpeechConfig.FromHost(
    new Uri("ws://localhost:5000"));

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

auto speechConfig = SpeechConfig::FromSubscription(...);

استخدم هذا التكوين مع مضيف الحاوية:

auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

استخدم هذا التكوين مع مضيف الحاوية:

speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

استخدم هذا التكوين مع مضيف الحاوية:

SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

استخدم هذا التكوين مع مضيف الحاوية:

const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

استخدم هذا التكوين مع مضيف الحاوية:

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

استخدم هذا التكوين مع مضيف الحاوية:

let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");

بدلا من استخدام تكوين تهيئة سحابة Azure هذا:

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

استخدم هذا التكوين مع نقطة نهاية الحاوية:

speech_config = speechsdk.SpeechConfig(
    host="ws://localhost:5000")

عند استخدام Speech CLI في حاوية، قم بتضمين --host ws://localhost:5000/ الخيار . يجب عليك أيضا تحديد --key none للتأكد من أن CLI لا يحاول استخدام مفتاح الكلام للمصادقة. للحصول على معلومات حول كيفية تكوين Speech CLI، راجع بدء استخدام Azure الذكاء الاصطناعي Speech CLI.

جرب التشغيل السريع لتحويل الكلام إلى نص باستخدام مصادقة المضيف بدلا من المفتاح والمنطقة.

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