حاويات تعريف اللغة باستخدام Docker

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

إشعار

تتوفر حاوية تعريف لغة الكلام في المعاينة العامة. لا تزال الحاويات قيد المعاينة قيد التطوير ولا تفي بمتطلبات الاستقرار والدعم من Microsoft.

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

تلميح

للحصول على النتائج الأكثر فائدة، استخدم حاوية تعريف لغة الكلام مع تحويل الكلام إلى نص أو كلام مخصص إلى حاويات نصية .

صور الحاوية

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

A screenshot of the search connectors and triggers dialog.

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

‏‏الإصدار المسار
الأحدث mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:latest
1.12.0 mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection:1.12.0-amd64-preview

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

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

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

{
  "name": "azure-cognitive-services/speechservices/language-detection",
  "tags": [
    "1.1.0-amd64-preview",
    "1.11.0-amd64-preview",
    "1.12.0-amd64-preview",
    "1.3.0-amd64-preview",
    "1.5.0-amd64-preview",
    <--redacted for brevity-->
    "1.8.0-amd64-preview",
    "latest"
  ]
}

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

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

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

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

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

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

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

المعلمة ‏‏الوصف‬
{ENDPOINT_URI} نقطة النهاية مطلوبة للقياس والفوترة. لمزيد من المعلومات، راجع وسيطات الفوترة.
{API_KEY} مفتاح API مطلوب. لمزيد من المعلومات، راجع وسيطات الفوترة.

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

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

docker run --rm -it -p 5000:5003 --memory 1g --cpus 1 \
mcr.microsoft.com/azure-cognitive-services/speechservices/language-detection \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

هذا الأمر:

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

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

تشغيل مع حاوية الكلام إلى النص

إذا كنت ترغب في تشغيل حاوية تعريف اللغة مع حاوية الكلام إلى النص، يمكنك استخدام صورة docker هذه. بعد بدء تشغيل كلتا الحاويتين، استخدم هذا docker run الأمر لتنفيذ speech-to-text-with-languagedetection-client:

docker run --rm -v ${HOME}:/root -ti antsu/on-prem-client:latest ./speech-to-text-with-languagedetection-client ./audio/LanguageDetection_en-us.wav --host localhost --lport 5003 --sport 5000

يمكن أن تؤثر زيادة عدد الاستدعاءات المتزامنة على الموثوقية وزمن الانتقال. لتحديد اللغة، نوصي بأن يكون هناك أربعة استدعاءات متزامنة كحد أقصى باستخدام وحدة معالجة مركزية واحدة مع ذاكرة سعة 1 غيغابايت. بالنسبة للمضيفين الذين لديهم وحدتا CPU وذاكرة سعة 2 غيغابايت، نوصي بأن يكون هناك ستة استدعاءات متزامنة كحد أقصى.

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

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

هام

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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