تكوين حاويات المترجم Docker

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

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

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

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

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

هام

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

إعداد تكوين ApiKey

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

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

  • مدخل Microsoft Azure: إدارة موارد المترجم، ضمن 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 رقم صحيح منفذ خادم Fluentd.
القيمة الافتراضية هي 24224.
HeartbeatMs رقم صحيح الفاصل الزمني لضربات القلب بالملّي ثانية. إذا لم يتم إرسال حركة مرور حدث قبل انتهاء صلاحية هذا الفاصل الزمني، فسيتم إرسال نبضة قلب إلى خادم Fluentd. القيمة الافتراضية هي 60000 ملّي ثانية (دقيقة واحدة).
SendBufferSize رقم صحيح مساحة المخزن المؤقت للشبكة، بالبايت، المخصصة لعمليات الإرسال. القيمة الافتراضية هي 32768 بايت (32 كيلوبايت).
TlsConnectionEstablishmentTimeoutMs رقم صحيح مهلة تأسيس اتصال SSL/TLS مع خادم Fluentd بالمللي ثانية. القيمة الافتراضية هي 10000 مللي ثانية (10 ثوانٍ).
إذا تم تعيين UseTLS إلى خطأ، يتم تجاهل هذه القيمة.
UseTLS Boolean يشير إلى ما إذا كان يجب على الحاوية استخدام SSL/TLS للاتصال بخادم Fluentd. القيمة الافتراضية هي false.

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

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

الاسم نوع البيانات ‏‏الوصف
HTTPS_PROXY سلسلة عنوان URL للوكيل، على سبيل المثال، https://proxy:8888
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> \
HTTPS_PROXY=<proxy-url>

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

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

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

  • Logging.LogLevel يحدد الحد الأدنى للمستوى الذي يجب تسجيله. تتراوح خطورة LogLevel النطاقات من 0 إلى 6. LogLevel عند تحديد، يتم تمكين التسجيل للرسائل على المستوى المحدد وأعلى: تتبع = 0، تتبع الأخطاء = 1، معلومات = 2، تحذير = 3، خطأ = 4، حرج = 5، بلا = 6.

  • حاليا، المترجم الحاويات لديها القدرة على تقييد السجلات في Warning LogLevel أو أعلى.

بناء جملة الأمر العام للتسجيل كما يلي:

    -Logging:LogLevel:{Provider}={FilterSpecs}

يبدأ الأمر التالي حاوية Docker مع LogLevel تعيين إلى موفر التحذير والتسجيل المعين إلى وحدة التحكم. يطبع هذا الأمر أحداثا شاذة أو غير متوقعة أثناء تدفق التطبيق إلى وحدة التحكم:

docker run --rm -it -p 5000:5000
-v /mnt/d/TranslatorContainer:/usr/local/models \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru  \
-e Logging:LogLevel:Console="Warning"
mcr.microsoft.com/azure-cognitive-services/translator/text-translation:latest

تسجيل القرص

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

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

مثال موفر القرص

docker run --rm -it -p 5000:5000 \
--memory 2g --cpus 1 \
--mount type-bind,src=/home/azureuser/output,target=/output \
-e apikey={API_KEY} \
-e eula=accept \
-e billing={ENDPOINT_URI} \
-e Languages=en,fr,es,ar,ru  \
Eula=accept \
Billing=<endpoint> \
ApiKey=<api-key> \
Logging:Disk:Format=json \
Mounts:Output=/output

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

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

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

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