تكوين حاويات خدمة الكلام

تُمكِّن حاويات الكلام العملاء من إنشاء بنية تطبيق كلام فردية مُحسَّنة للاستفادة من كل من إمكانات السحابة القوية والحافة المحلية.

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

إعدادات التكوين

تحتوي الحاوية على إعدادات التكوين التالية:

المطلوب الإعدادات الغرض
‏‏نعم‬ مفتاح واجهة برمجة التطبيقات يتعقب معلومات الفوترة.
لا ApplicationInsights يمكن إضافة دعم بيانات تتبع الاستخدام Azure Application Insights إلى الحاوية الخاصة بك.
‏‏نعم‬ الفواتير يحدد URI نقطة النهاية لمورد الخدمة على Azure.
‏‏نعم‬ Eula يشير إلى أنك قد قبلت ترخيص الحاوية.
لا Fluentd يكتب السجل وبيانات القياس اختياريًا إلى خادم Fluentd.
لا الوكيل الخاص بـHTTP يكوّن وكيل HTTP لإجراء الطلبات الصادرة.
لا تسجيل يوفر دعم تسجيل الأساسية ASP.NET للحاوية الخاصة بك.
لا Mounts يقرأ ويكتب البيانات من الكمبيوتر المضيف إلى الحاوية ومن الحاوية إلى الكمبيوتر المضيف.

هام

يتم استخدام الإعدادات ApiKey وBilling وEula معاً، ويجب توفير قيم صالحة لجميعها الثلاثة؛ وإلا فلن تبدأ حاويتك. لمزيد من المعلومات بشأن استخدام إعدادات التكوين هذه لإنشاء مثيل للحاوية، راجع الفوترة.

إعداد تكوين ApiKey

يحدد الإعداد ApiKey مفتاح مورد Azure المستخدم لتتبع معلومات الفوترة للحاوية. يجب تحديد قيمة لـ ApiKey ويجب أن تكون القيمة مفتاحًا صالحًا لمورد الكلامالمحدد لإعداد التكوينBilling.

يمكن العثور على هذا الإعداد في المكان التالي:

  • مدخل Microsoft Azure: Speech Resource Management، ضمن Keys

إعداد ApplicationInsights

يسمح لك الإعداد ApplicationInsights بإضافة دعم القياس عن بُعد Azure Application Insights إلى الحاوية الخاصة بك. توفر نتائج Application Insights مراقبة متعمقة لحاويتك. يمكنك بسهولة مراقبة الحاوية لمعرفة مدى توفرها وأدائها واستخدامها. يمكنك أيضاً التعرف على الأخطاء وتشخيصها بسرعة في الحاوية.

يصف الجدول التالي إعدادات التكوين المدعومة ضمن قسم ApplicationInsights.

المطلوب الاسم نوع البيانات ‏‏الوصف
لا InstrumentationKey السلسلة‬ مفتاح الأجهزة لمثيل Application Insights الذي يتم إرسال بيانات القياس عن بُعد للحاوية إليه. لمزيد من المعلومات، راجع Application Insights لـ ASP.NET Core.

مثال:
InstrumentationKey=123456789

إعداد تكوين الفواتير

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

يمكن العثور على هذا الإعداد في المكان التالي:

  • مدخل Microsoft Azure: مسمى Endpoint في صفحة نظرة عامة على الكلام
المطلوب الاسم نوع البيانات ‏‏الوصف
‏‏نعم‬ Billing السلسلة‬ عنوان URI لنقطة نهاية الفوترة. لمزيد من المعلومات حول الحصول على URI للفوترة، راجع الفوترة. لمزيد من المعلومات وقائمة كاملة بنقاط النهاية الإقليمية، راجع أسماء النطاقات الفرعية المخصصة لخدمات Azure الذكاء الاصطناعي.

إعداد Eula

يشير الإعداد Eula إلى قبولك ترخيص الحاوية. يجب تحديد قيمة لإعداد التكوين هذا، ويجب تعيين القيمة على accept.

المطلوب الاسم نوع البيانات ‏‏الوصف
‏‏نعم‬ Eula السلسلة‬ قبول الترخيص

مثال:
Eula=accept

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

الإعدادات Fluentd

Fluentd هو مُجمع بيانات مفتوح المصدر للتسجيل الموحد. تدير إعدادات Fluentd اتصال الحاوية بخادم Fluentd. تتضمن الحاوية موفر تسجيل Fluentd، والذي يسمح لحاويتك بكتابة السجلات، واختيارياً، البيانات المترية إلى خادم Fluentd.

يصف الجدول التالي إعدادات التكوين المدعومة ضمن قسم Fluentd.

الاسم نوع البيانات ‏‏الوصف
Host السلسلة‬ عنوان IP أو اسم مضيف DNS لخادم Fluentd.
Port Integer منفذ خادم Fluentd.
القيمة الافتراضية هي 24224.
HeartbeatMs Integer الفاصل الزمني لضربات القلب بالملّي ثانية. إذا لم يتم إرسال حركة مرور حدث قبل انتهاء صلاحية هذا الفاصل الزمني، فسيتم إرسال نبضة قلب إلى خادم Fluentd. القيمة الافتراضية هي 60000 ملّي ثانية (دقيقة واحدة).
SendBufferSize Integer مساحة المخزن المؤقت للشبكة، بالبايت، المخصصة لعمليات الإرسال. القيمة الافتراضية هي 32768 بايت (32 كيلوبايت).
TlsConnectionEstablishmentTimeoutMs Integer مهلة تأسيس اتصال SSL/TLS مع خادم Fluentd بالمللي ثانية. القيمة الافتراضية هي 10000 مللي ثانية (10 ثوانٍ).
إذا تم تعيين UseTLS إلى خطأ، يتم تجاهل هذه القيمة.
UseTLS Boolean يشير إلى ما إذا كان يجب على الحاوية استخدام SSL/TLS للاتصال بخادم Fluentd. القيمة الافتراضية هي false.

إعدادات بيانات اعتماد وكيل HTTP

إذا كنت بحاجة إلى تكوين وكيل HTTP لإجراء طلبات صادرة، فاستخدم هاتين الوسيطتين:

الاسم نوع البيانات ‏‏الوصف
HTTP_PROXY سلسلة الوكيل المطلوب استخدامه، على سبيل المثال, http://proxy:8888
<proxy-url>
HTTP_PROXY_CREDS سلسلة أي بيانات اعتماد مطلوبة للمصادقة على الخادم الوكيل، على سبيل المثال، username:password. هذه القيمة يجب أن تكون بأحرف صغيرة.
<proxy-user> سلسلة مستخدم الوكيل.
<proxy-password> سلسلة كلمة المرور المقترنة بـ <proxy-user> للوكيل.
docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
HTTP_PROXY=<proxy-url> \
HTTP_PROXY_CREDS=<proxy-user>:<proxy-password> \

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

تدير إعدادات Logging دعم تسجيل ASP.NET Core لحاويتك. يمكنك استخدام نفس إعدادات التكوين والقيم للحاوية التي تستخدمها لتطبيق ASP.NET Core.

يتم دعم موفري التسجيل التاليين بواسطة الحاوية:

الموفر الغرض
وحده التحكم موفر تسجيل ASP.NET Core Console. يتم دعم جميع إعدادات التكوين والقيم الافتراضية لـ ASP.NET Core لموفر التسجيل هذا.
تصحيح موفر تسجيل ASP.NET Core Debug. يتم دعم جميع إعدادات التكوين والقيم الافتراضية لـ ASP.NET Core لموفر التسجيل هذا.
القرص موفر تسجيل JSON. يكتب موفر التسجيل هذا بيانات السجل إلى تحميل الإخراج.

يخزن أمر الحاوية هذا معلومات التسجيل بتنسيق JSON إلى حامل الإخراج:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type=bind,src=/home/azureuser/output,target=/output \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

يعرض أمر الحاوية هذا معلومات تصحيح الأخطاء، مسبوقة بـ dbug، أثناء تشغيل الحاوية:

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
<registry-location>/<image-name> \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Console:LogLevel:Default=Debug

تسجيل القرص

يدعم موفر التسجيل Disk إعدادات التكوين التالية:

الاسم نوع البيانات ‏‏الوصف
Format السلسلة‬ تنسيق الإخراج لملفات السجل.
ملاحظة: يجب تعيين هذه القيمة على json لتمكين موفر التسجيل. إذا تم تحديد هذه القيمة دون تحديد أيضاً تحميل الإخراج أثناء إنشاء حاوية، يحدث خطأ.
MaxFileSize Integer الحد الأقصى لحجم ملف السجل بالميجابايت (MB). عندما يلبي حجم ملف السجل الحالي هذه القيمة أو يتجاوزها، يبدأ موفر التسجيل ملف سجل جديد. إذا تم تحديد -1، فإن حجم ملف السجل يقتصر فقط على الحجم الأقصى للملف، إن وجد، لتحميل الإخراج. القيمة الافتراضية هي 1.

لمزيد من المعلومات حول تكوين دعم تسجيل ASP.NET Core، راجع تكوين ملف الإعدادات.

إعدادات التحميل

استخدم روابط الربط لقراءة البيانات وكتابتها من وإلى الحاوية. يمكنك تحديد تحميل الإدخال أو تحميل الإخراج بتحديد الخيار --mount في الأمر docker run.

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

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

اختياري الاسم نوع البيانات ‏‏الوصف
غير مسموح Input السلسلة‬ لا تستخدم حاويات الكلام القياسية هذا. تستخدم حاويات الكلام المخصصة تحميل وحدة التخزين.
اختياري Output السلسلة‬ الهدف تحميل الإخراج. القيمة الافتراضية هي /output. هذا هو موقع السجلات. يتضمن ذلك سجلات الحاوية.

مثال:
--mount type=bind,src=c:\output,target=/output

إعدادات تحميل وحدات التخزين

تستخدم حاويات الكلام المخصصة تحميل وحدة التخزين لاستمرار النماذج المخصصة. يمكنك تحديد تحميل وحدات التخزين عن طريق إضافة خيار -v (أو --volume) إلى الأمر docker run.

إشعار

تنطبق إعدادات تحميل وحدة التخزين فقط على الكلام المخصص لحاويات النص .

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

يتكون إعداد تحميل وحدة التخزين من ثلاثة حقول مفصولة بالألوان ::

  1. الحقل الأول هو اسم وحدة التخزين على الجهاز المضيف، على سبيل المثال C: \input.
  2. الحقل الثاني هو الدليل الموجود في الحاوية، على سبيل المثال /usr/local/models.
  3. الحقل الثالث (اختياري) هو قائمة خيارات مفصولة بفواصل، لمزيد من المعلومات، راجع استخدام وحدات التخزين.

فيما يلي مثال على تحميل وحدة التخزين الذي يقوم بتحميل دليل الجهاز المضيف C:\input إلى دليل الحاويات /usr/local/models .

-v C:\input:/usr/local/models

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