تكوين حاويات أداة التعرف على النموذج
هام
حاويات التعرف على النموذج في معاينة مسورة. لاستخدامها ، يجب عليك تقديم طلب عبر الإنترنت ، والموافقة عليه. لمزيد من المعلومات، راجع طلب الموافقة على تشغيل الحاوية.
باستخدام حاويات Azure Form Recognizer، يمكنك إنشاء بنية تطبيق محسنة للاستفادة من كل من إمكانات السحابة القوية وموقع الحافة. توفر الحاويات بيئة بسيطة ومعزولة يمكن نشرها بسهولة في الموقع وفي السحابة. في هذه المقالة، ستتعلم كيفية تكوين بيئة وقت تشغيل حاوية التعرف على النموذج باستخدام وسيطات الأوامر docker compose . يتم دعم ميزات أداة التعرف على النموذج بواسطة ست حاويات ميزات التعرف على النموذج - التخطيطوبطاقة العملومستند الهويةوالإيصالوالفاتورةوالمخصص. تحتوي هذه الحاويات على العديد من الإعدادات المطلوبة وبعض الإعدادات الاختيارية. للحصول على بعض الأمثلة، راجع قسم مثال ملف docker-compose.yml.
إعدادات التكوين
تحتوي كل حاوية على إعدادات التكوين التالية:
| مطلوب | إعداد | الغرض |
|---|---|---|
| نعم | المفتاح | يتتبع معلومات الفوترة. |
| نعم | الفوترة | يحدد عنوان URI لنقطة النهاية لمورد الخدمة على Azure. راجع [الفوترة]] (النموذج-التعرف-الحاوية-التثبيت-run.md#الفوترة)، لمزيد من المعلومات. لمزيد من المعلومات وقائمة كاملة بنقاط النهاية الإقليمية، راجعأسماء النطاقات الفرعية المخصصة للخدمات المعرفية. |
| نعم | Eula | يشير إلى أنك قبلت ترخيص الحاوية. |
| لا | رؤى التطبيقات | تمكين إضافة تطبيق Azure Insights دعم القياس عن بعد إلى الحاوية الخاصة بك. |
| لا | بطلاقة | يكتب السجل ، واختياريا ، البيانات المترية إلى خادم Fluentd. |
| لا | وكيل HTTP | تكوين وكيل HTTP لتقديم الطلبات الصادرة. |
| لا | تسجيل الدخول | يوفر دعم تسجيل ASP.NET Core للحاوية الخاصة بك. |
هام
يتم Keyاستخدام الإعدادات و Billing، والإعدادات Eula معا. يجب عليك توفير قيم صالحة لجميع الإعدادات الثلاثة. وإلا، فلن تبدأ حاوياتك التشغيلية. لمزيد من المعلومات حول استخدام إعدادات التكوين هذه لإنشاء حاوية في مكانية، راجع الفوترة.
إعداد تكوين المفتاح والفوترة
Key يحدد الإعداد مفتاح مورد Azure المستخدم لتعقب معلومات الفوترة للحاوية. يجب أن تكون قيمة المفتاح مفتاحا صالحا للمورد المحدد Billing له في قسم "إعداد تكوين الفوترة".
Billing يحدد الإعداد عنوان URI لنقطة النهاية للمورد على Azure المستخدم لقياس معلومات الفوترة للحاوية. يجب أن تكون قيمة إعداد التكوين هذا عنوان URI صالحا لنقطة نهاية لمورد على Azure. تقوم الحاوية بالإبلاغ عن الاستخدام كل 10 إلى 15 دقيقة تقريبا.
يمكنك العثور على هذه الإعدادات في مدخل Azure في صفحة المفاتيح ونقطة النهاية .
إعداد اتفاقية ترخيص المستخدم النهائي (EULA)
Eula يشير الإعداد إلى أنك قبلت ترخيص الحاوية. يجب عليك تحديد قيمة لإعداد التكوين هذا، ويجب تعيين القيمة إلى accept.
| مطلوب | الاسم | نوع البيانات | الوصف |
|---|---|---|---|
| نعم | Eula |
سلسلة | قبول الترخيص مثال: Eula=accept |
حاويات الخدمات المعرفية مرخصة بموجب اتفاقيتك التي تحكم استخدامك ل Azure. إذا لم تكن لديك اتفاقية حالية تحكم استخدامك ل Azure، فأنت توافق على أن اتفاقيتك التي تحكم استخدام Azure هي اتفاقية اشتراك Microsoft عبر الإنترنت، والتي تتضمن شروط الخدمات عبر الإنترنت. بالنسبة للمعاينات، فإنك توافق أيضا على شروط الاستخدام التكميلية لمعاينات Microsoft Azure. باستخدام الحاوية فإنك توافق على هذه الشروط.
إعداد رؤى التطبيق
ApplicationInsights يسمح لك الإعداد بإضافة تطبيق Azure Insights دعم القياس عن بعد إلى الحاوية الخاصة بك. يوفر Insights التطبيق مراقبة متعمقة للحاوية الخاصة بك. يمكنك بسهولة مراقبة الحاوية لمعرفة مدى توفرها وأدائها واستخدامها. يمكنك أيضاً التعرف على الأخطاء وتشخيصها بسرعة في الحاوية.
يصف الجدول التالي إعدادات التكوين المدعومة ضمن القسم ApplicationInsights .
| مطلوب | الاسم | نوع البيانات | الوصف |
|---|---|---|---|
| لا | InstrumentationKey |
سلسلة | مفتاح الأجهزة الخاص بالتطبيق Insights المثال الذي يتم إرسال بيانات القياس عن بعد للحاوية إليه. لمزيد من المعلومات، راجع Insights التطبيقات ل ASP.NET Core. مثال: InstrumentationKey=123456789 |
الإعدادات Fluentd
Fluentd هو مُجمع بيانات مفتوح المصدر للتسجيل الموحد. تدير Fluentd الإعدادات اتصال الحاوية بخادم Fluentd . تتضمن الحاوية موفر تسجيل Fluentd ، والذي يسمح للحاوية الخاصة بك بكتابة السجلات ، واختياريا ، البيانات المترية إلى خادم Fluentd.
يصف الجدول التالي إعدادات التكوين المدعومة ضمن القسم Fluentd .
| الاسم | نوع البيانات | الوصف |
|---|---|---|
Host |
سلسلة | عنوان IP أو اسم مضيف DNS لخادم Fluentd. |
Port |
عدد صحيح | منفذ خادم Fluentd. القيمة الافتراضية هي 24224. |
HeartbeatMs |
عدد صحيح | الفاصل الزمني لضربات القلب، بالمللي ثانية. إذا لم يتم إرسال أي حركة مرور للأحداث قبل انتهاء صلاحية هذا الفاصل الزمني، إرسال نبضات قلب إلى خادم Fluentd. القيمة الافتراضية هي 60000 مللي ثانية (1 دقيقة). |
SendBufferSize |
عدد صحيح | المساحة العازلة للشبكة، بالبايت، المخصصة لعمليات الإرسال. القيمة الافتراضية هي 32768 بايت (32 كيلوبايت). |
TlsConnectionEstablishmentTimeoutMs |
عدد صحيح | مهلة تأسيس اتصال SSL/TLS مع خادم Fluentd بالمللي ثانية. القيمة الافتراضية هي 10000 مللي ثانية (10 ثوانٍ). إذا UseTLS تم تعيينه إلى false، تجاهل هذه القيمة. |
UseTLS |
منطقي | يشير إلى ما إذا كان يجب على الحاوية استخدام SSL/TLS للاتصال بخادم Fluentd. القيمة الافتراضية كاذبة. |
إعدادات بيانات اعتماد وكيل 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 |
عدد صحيح | الحد الأقصى لحجم ملف سجل بالميغابايت (MB). عندما يفي حجم ملف السجل الحالي بهذه القيمة أو يتجاوزها، يتم بدء تشغيل ملف سجل جديد بواسطة موفر التسجيل. إذا تم تحديد -1 ، فإن حجم ملف السجل محدود فقط بالحد الأقصى لحجم الملف ، إن وجد ، لتحميل الإخراج. القيمة الافتراضية هي 1. |
لمزيد من المعلومات حول تكوين دعم تسجيل ASP.NET Core، راجع تكوين الملف الإعدادات.
إعدادات مستوى الصوت
استخدم وحدات التخزين لقراءة البيانات وكتابتها من وإلى الحاوية. وحدات التخزين هي المفضلة للبيانات المستمرة التي يتم إنشاؤها واستخدامها بواسطة حاويات Docker. يمكنك تحديد حامل إدخال أو حامل إخراج عن طريق تضمين volumes الخيار وتحديد type (ربط) و (مسار إلى المجلد) source و target (معلمة مسار الملف).
تتطلب حاوية التعرف على النموذج وحدة تخزين إدخال ووحدة تخزين إخراج. يمكن أن يكون حجم الإدخال للقراءة فقط (ro)، وهو مطلوب للوصول إلى البيانات المستخدمة للتدريب والتسجيل. يجب أن يكون حجم الإخراج قابلا للكتابة ، وتستخدمه لتخزين النماذج والبيانات المؤقتة.
يختلف بناء الجملة الدقيق لموقع وحدة تخزين المضيف وفقا لنظام التشغيل المضيف. بالإضافة إلى ذلك، قد لا يمكن الوصول إلى موقع وحدة التخزين للكمبيوتر المضيف بسبب تعارض بين أذونات حساب خدمة Docker وأذونات موقع تحميل المضيف .
مثال على ملف docker-compose.yml
تم بناء طريقة تأليف عامل الرصيف من ثلاث خطوات:
- إنشاء ملف Dockerfile.
- حدد الخدمات في docker-compose.yml بحيث يمكن تشغيلها معا في بيئة معزولة.
- قم بالتشغيل
docker-compose upلبدء تشغيل خدماتك وتشغيلها.
مثال على حاوية واحدة
في هذا المثال، أدخل قيمتي {FORM_RECOGNIZER_ENDPOINT_URI} و{FORM_RECOGNIZER_KEY} لمثيل حاوية التخطيط.
حاوية التخطيط
version: "3.9"
services:
azure-cognitive-service-layout:
container_name: azure-cognitive-service-layout
image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/layout
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- key={FORM_RECOGNIZER_KEY}
ports:
- "5000"
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge
مثال على حاويات متعددة
حاويات الاستلام وقراءة OCR
في هذا المثال، أدخل قيمتي {FORM_RECOGNIZER_ENDPOINT_URI} و{FORM_RECOGNIZER_KEY} لحاوية الإيصال وقيم {COMPUTER_VISION_ENDPOINT_URI} و{COMPUTER_VISION_KEY} لحاوية قراءة رؤية الكمبيوتر.
version: "3"
services:
azure-cognitive-service-receipt:
container_name: azure-cognitive-service-receipt
image: cognitiveservicespreview.azurecr.io/microsoft/cognitive-services-form-recognizer-receipt:2.1
environment:
- EULA=accept
- billing={FORM_RECOGNIZER_ENDPOINT_URI}
- key={FORM_RECOGNIZER_KEY}
- AzureCognitiveServiceReadHost=http://azure-cognitive-service-read:5000
ports:
- "5000:5050"
networks:
- ocrvnet
azure-cognitive-service-read:
container_name: azure-cognitive-service-read
image: mcr.microsoft.com/azure-cognitive-services/vision/read:3.2
environment:
- EULA=accept
- billing={COMPUTER_VISION_ENDPOINT_URI}
- key={COMPUTER_VISION_KEY}
networks:
- ocrvnet
networks:
ocrvnet:
driver: bridge