Configuración de contenedores de Documento de inteligencia
Documento de inteligencia no admite contenedores para v4.0. La compatibilidad con contenedores está disponible actualmente con la versión de Document Intelligence 2022-08-31 (GA)
para todos los modelos y 2023-07-31 (GA)
para los modelos de documentos de lectura, diseño, factura, recepción e ID:
- API de REST
2022-08-31 (GA)
- API de REST
2023-07-31 (GA)
- Bibliotecas cliente destinadas a
REST API 2022-08-31 (GA)
- Bibliotecas cliente destinadas a
REST API 2023-07-31 (GA)
✔️ Consulte Configurar contenedores de Documento de inteligencia v3.0 o Configurar contenedores de Documento de inteligencia v3.1 para ver las versiones compatibles de la documentación del contenedor.
Este contenido se aplica a: v3.0 (GA) v3.1 (GA)
Con los contenedores de Documento de inteligencia, puede compilar una arquitectura de aplicación optimizada para aprovechar las sólidas funcionalidades de la nube y la localidad del perímetro. Los contenedores proporcionan un entorno minimalista y aislado que se puede implementar fácilmente en el entorno local y en la nube. En este artículo, se muestra cómo configurar el entorno en tiempo de ejecución del contenedor de Documento de inteligencia mediante los argumentos del comando docker compose
. Las características de Inteligencia de documentos son admitidos con siete contenedores— de características de Inteligencia de documentos delectura,Diseño, tarjeta de presentación,id. de documento , recibo, factura, personalizado. Estos dos contenedores tienen configuraciones obligatorias y opcionales. Para ver algunos ejemplos, consulte la sección Archivo de ejemplo docker-compose.yml.
Parámetros de configuración
Cada contenedor tiene las siguientes opciones de configuración:
Obligatorio | Configuración | Propósito |
---|---|---|
Sí | Clave | Realiza el seguimiento de la información de facturación. |
Sí | Facturación | Especifica el URI del punto de conexión del recurso de servicio en Azure. Para obtener más información, consulte Facturación. Para obtener más información y una lista completa de puntos de conexión regionales, consulte Nombres de subdominios personalizados para los servicios de Azure AI. |
Sí | Eula | Indica que ha aceptado la licencia del contenedor. |
No | ApplicationInsights | Permite agregar compatibilidad con el cliente de Azure Application Insights al contenedor. |
No | Fluentd | Escribe el registro y, opcionalmente, los datos de métricas en un servidor de Fluentd. |
No | Proxy HTTP | Configura un proxy HTTP para realizar solicitudes de salida. |
No | Logging | Proporciona compatibilidad con el registro de ASP.NET Core al contenedor. |
Importante
Los valores de configuración Key
, Billing
y Eula
se usan juntos. Debe proporcionar valores válidos para los tres o los contenedores no se iniciarán. Para obtener más información sobre el uso de estas opciones de configuración para crear instancias de un contenedor, consulte Facturación.
Configuración de Key y Billing
El valor Key
especifica la clave de recurso de Azure que se usa para realizar el seguimiento de la información de facturación del contenedor. El valor de la clave debe ser una clave válida para el recurso especificado en Billing
en la sección "Valor de configuración de facturación".
El valor Billing
especifica el URI de punto de conexión del recurso de Azure que se usa para medir la información de facturación del contenedor. El valor de esta opción de configuración debe ser un URI de punto de conexión válido para un recurso de Azure. El contenedor informa sobre el uso cada 10 a 15 minutos.
Puede encontrar estos valores en Azure Portal, en la página Keys and Endpoint (Claves y puntos de conexión).
Valor de EULA
La opción de configuración Eula
indica que ha aceptado la licencia del contenedor. Debe especificar un valor para esta opción de configuración y el valor debe establecerse en accept
.
Obligatorio | Nombre | Tipo de datos | Descripción |
---|---|---|---|
Sí | Eula |
String | Aceptación de la licencia Ejemplo: Eula=accept |
Los contenedores de servicios de Azure AI tienen una licencia sujeta al contrato que rige el uso de Azure. Si no tiene ningún contrato que rija el uso de Azure, acepta que el contrato que rige el uso de Azure es el Contrato Microsoft Online Subscription, que incorpora los Términos de Online Services. En el caso de las versiones preliminares, acepta también los Términos de uso complementarios para las versiones preliminares de Microsoft Azure. Al usar el contenedor, acepta estos términos.
Opción de configuración ApplicationInsights
La opción de configuración ApplicationInsights
le permite agregar compatibilidad con los datos de telemetría de Azure Application Insights al contenedor. Application Insights proporciona una supervisión detallada del contenedor. Puede supervisar fácilmente la disponibilidad, el rendimiento y el uso del contenedor. También puede identificar y diagnosticar errores en el contenedor rápidamente.
En la tabla siguiente se describen las opciones de configuración compatibles en la sección ApplicationInsights
.
Obligatorio | Nombre | Tipo de datos | Descripción |
---|---|---|---|
No | InstrumentationKey |
String | Clave de instrumentación de la instancia de Application Insights para la que se envían los datos de telemetría del contenedor. Para más información, consulte Application Insights para ASP.NET Core. Ejemplo: InstrumentationKey=123456789 |
Opción de configuración Fluentd
Fluentd es un recopilador de datos de código abierto para el registro unificado. La opción de configuración Fluentd
administra la conexión del contenedor a un servidor de Fluentd. En el contenedor, se incluye un proveedor de registros de Fluentd que permite que el contenedor escriba los registros y, opcionalmente, los datos de métricas en un servidor de Fluentd.
En la tabla siguiente se describen las opciones de configuración compatibles en la sección Fluentd
.
Nombre | Tipo de datos | Descripción |
---|---|---|
Host |
String | Dirección IP o nombre de host DNS del servidor de Fluentd. |
Port |
Entero | Puerto del servidor de Fluentd. El valor predeterminado es 24 224. |
HeartbeatMs |
Entero | Intervalo de latidos (en milisegundos). Si no se envía ningún tráfico de evento antes de que este intervalo expire, se envía un latido al servidor de Fluentd. El valor predeterminado es 60 000 milisegundos (1 minuto). |
SendBufferSize |
Entero | Espacio en búfer de red (en bytes) asignado para las operaciones de envío. El valor predeterminado es 32 768 bytes (32 kilobytes). |
TlsConnectionEstablishmentTimeoutMs |
Entero | Tiempo de expiración (en milisegundos) para establecer una conexión SSL/TLS con el servidor de Fluentd. El valor predeterminado es 10 000 milisegundos (10 segundos). Si UseTLS se establece en false, este valor se ignora. |
UseTLS |
Boolean | Indica si el contenedor debe utilizar SSL/TLS para comunicarse con el servidor de Fluentd. El valor predeterminado es false. |
Configuración de las credenciales del proxy HTTP
Si necesita configurar un proxy HTTP para realizar solicitudes de salida, use estos dos argumentos:
Nombre | Tipo de datos | Descripción |
---|---|---|
HTTP_PROXY | string | El proxy que se va a utilizar, por ejemplo, http://proxy:8888 <proxy-url> |
HTTP_PROXY_CREDS | string | Las credenciales necesarias para autenticarse en el proxy, por ejemplo, username:password . Este valor debe estar en minúsculas. |
<proxy-user> |
string | El usuario del proxy. |
<proxy-password> |
string | La contraseña asociada con <proxy-user> para el proxy. |
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> \
Opción de configuración Logging
La opción de configuración Logging
administra la compatibilidad con el registro de ASP.NET Core del contenedor. Puede usar los mismos valores y opciones de configuración para el contenedor que los que usa para una aplicación ASP.NET Core.
Los siguientes proveedores de registro son compatibles con el contenedor:
Proveedor | Propósito |
---|---|
Consola | Proveedor de registro de Console de ASP.NET Core. Se admiten todos los valores predeterminados y las opciones de configuración de ASP.NET Core para este proveedor de registro. |
Depurar | Proveedor de registro de Debug de ASP.NET Core. Se admiten todos los valores predeterminados y las opciones de configuración de ASP.NET Core para este proveedor de registro. |
Disco | Proveedor de registro JSON. Este proveedor de registro escribe datos de registro para el montaje de salida. |
Este comando de contenedor almacena información de registro en formato JSON en el montaje de salida:
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
Este comando de contenedor muestra información de depuración, con el prefijo dbug
mientras el contenedor se ejecuta:
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
Registro del disco
El proveedor de registro Disk
admite la configuración siguiente:
Nombre | Tipo de datos | Descripción |
---|---|---|
Format |
String | Formato de salida de los archivos de registro. Nota: Este valor debe establecerse en json para habilitar el proveedor de registro. Si se especifica este valor sin especificar también un montaje de salida al crear una instancia de un contenedor, se produce un error. |
MaxFileSize |
Entero | Tamaño máximo en megabytes (MB) de un archivo de registro. Cuando el tamaño del archivo de registro actual cumple este valor o lo supera, el proveedor de registro inicia un nuevo archivo de registro. Si se especifica -1, el tamaño del archivo de registro solo está limitado por el tamaño máximo de archivo, si existe, para el montaje de salida. El valor predeterminado es 1. |
Para obtener más información acerca de cómo configurar la compatibilidad con el registro de ASP.NET Core, consulte Configuración del archivo de configuración.
Configuración del volumen
Utilice volúmenes para leer y escribir datos en el contenedor y desde ahí. Los volúmenes son el medio preferido para conservar los datos generados y usados por los contenedores de Docker. Puede especificar un montaje de entrada o un montaje de salida incluyendo la opción volumes
y especificando type
(enlazar), source
(ruta de acceso a la carpeta) y target
(parámetro de ruta de acceso de archivo).
El contenedor de Documento de inteligencia requiere un volumen de entrada y un volumen de salida. El volumen de entrada puede ser de solo lectura (ro
) y es necesario para acceder a los datos que se usan para el entrenamiento y la puntuación. El volumen de salida se debe poder escribir y se usará para almacenar los modelos y los datos temporales.
La sintaxis exacta de la ubicación de volumen del host varía según el sistema operativo host. Además, la ubicación de volumen del equipo host puede no ser accesible debido a un conflicto entre los permisos de la cuenta de servicio de Docker y los permisos de la ubicación de montaje del host.
Archivo docker-compose.yml de ejemplo
El método docker compose se crea a partir de tres pasos:
- Creación de un archivo Dockerfile.
- Defina los servicios en un archivo docker-compose.yml, para que se puedan ejecutar juntos en un entorno aislado.
- Ejecute
docker-compose up
para iniciar y ejecutar los servicios.
Ejemplo de contenedor único
En este ejemplo, escriba los valores {FORM_RECOGNIZER_ENDPOINT_URI} y {FORM_RECOGNIZER_KEY} para la instancia de contenedor de diseño.
Contenedor de diseño
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
Ejemplo de varios contenedores
Contenedores de recibo y lectura de OCR
En este ejemplo, escriba los valores {FORM_RECOGNIZER_ENDPOINT_URI} y {FORM_RECOGNIZER_KEY} para el contenedor de Recibo y los valores {COMPUTER_VISION_ENDPOINT_URI} y {COMPUTER_VISION_KEY} para el contenedor de Lectura de Visión de Azure AI.
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