تكوين حاويات معلومات المستند

يتوفر دعم الحاويات حاليا مع إصدار 2022-08-31 (GA) Document Intelligence لجميع النماذج ولنماذج Read و 2023-07-31 (GA) Layout و Invoice و Receipt و ID Document:

✔️ راجع تكوين حاويات Document Intelligence v3.0 لوثائق الحاوية المدعومة.

ينطبق هذا المحتوى على:علامهv3.0 (GA)علامهv3.1 (GA)

باستخدام حاويات Document Intelligence، يمكنك إنشاء بنية تطبيق محسنة للاستفادة من كل من قدرات السحابة القوية ومحة الحافة. توفر الحاويات بيئة بسيطة ومعزولة يمكن نشرها بسهولة في أماكن العمل وفي السحابة. في هذه المقالة، نعرض لك كيفية تكوين بيئة وقت تشغيل حاوية Document Intelligence باستخدام docker compose وسيطات الأمر. يتم دعم ميزات ذكاء المستند بواسطة سبع حاويات لميزة ذكاء المستند - قراءة وتخطيط وبطاقة عمل ومستند معرف وإيصال وفاتورة ومخصصة. تحتوي هذه الحاويات على إعدادات مطلوبة واختيارية. للحصول على بعض الأمثلة، راجع قسم Example docker-compose.yml file.

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

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

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

هام

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

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

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

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

يمكنك العثور على هذه الإعدادات في مدخل Microsoft Azure على صفحة Keys and Endpoint.

لقطة شاشة لمفاتيح مدخل Azure وصفحة نقطة النهاية.

إعداد EULA

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

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

مثال:
Eula=accept

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

إعداد ApplicationInsights

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

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

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

مثال:
InstrumentationKey=123456789

الإعدادات 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

إذا كنت بحاجة إلى تكوين وكيل 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 (معلمة مسار الملف).

تتطلب حاوية Document Intelligence وحدة تخزين إدخال ومستوى إخراج. يمكن أن تكون وحدة تخزين الإدخال للقراءة فقط (ro)، وهي مطلوبة للوصول إلى البيانات المستخدمة للتدريب وتسجيل النقاط. يجب أن يكون حجم الإخراج قابلاً للكتابة، ويمكنك استخدامه لتخزين النماذج والبيانات المؤقتة.

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

مثال ملف docker-compose.yml

تم إنشاء أسلوب docker compose من ثلاث خطوات:

  1. إنشاء ملف Dockerfile.
  2. حدد الخدمات في docker-compose.yml حتى يمكن تشغيلها معًا في بيئة معزولة.
  3. قم بتشغيل 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

مثال على حاويات متعددة

حاويات الإيصال وقراءة التعرف البصري على الحروف

في هذا المثال، أدخل قيم {FORM_RECOGNIZER_ENDPOINT_URI} و{FORM_RECOGNIZER_KEY} لحاوية الإيصالات وقيم {COMPUTER_VISION_ENDPOINT_URI} و{COMPUTER_VISION_KEY} لحاوية Azure الذكاء الاصطناعي Vision Read.

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

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