Instalación y ejecución de contenedores

Este contenido se aplica a: marca de verificación v3.0 (GA) marca de verificación v3.1 (GA)

Documento de inteligencia de Azure AI es uno de los servicios de Azure AI y permite crear software de procesamiento de datos automatizado mediante la tecnología de aprendizaje automático. Document Intelligence le permite identificar y extraer texto, pares clave-valor, marcas de selección, datos de tabla y mucho más de los documentos. Los resultados se entregan como datos estructurados que incluyen las relaciones del fichero original. Los contenedores procesan solo los datos proporcionados y utilizan únicamente los recursos a los que tienen permiso para acceder. Los contenedores no pueden procesar datos de otras regiones.

En este artículo puede aprender a descargar, instalar y ejecutar contenedores de Document Intelligence. Los contenedores le permiten ejecutar el servicio Document Intelligence en su propio entorno. Los contenedores son excelentes para requisitos específicos de control de datos y seguridad.

  • Lectura, Diseño, Id. documento, Recibo, y Factura son compatibles con los contenedores de Document Intelligence v3.1.

  • Lectura, Diseño, Documento general, Tarjeta de presentación, y modelos personalizados son compatibles con contenedores de Document Intelligence v3.0.

Compatibilidad con versiones

La compatibilidad con contenedores está disponible actualmente con la versión de Document Intelligence v3.0: 2022-08-31 (GA) para todos los modelos y v3.1 2023-07-31 (GA) para los modelos de lectura, diseño, documento de identificación, recibo y factura:

Requisitos previos

Para empezar, necesita una cuenta de Azure activa. En caso de no tener ninguna, puede crear una cuenta gratuita.

También necesita lo siguiente para usar contenedores de Document Intelligence:

Obligatorio Propósito
Conocimientos sobre Docker Debe tener una comprensión básica de conceptos de Docker, como los registros, los repositorios, los contenedores y las imágenes de contenedor, así como conocimientos de terminología y comandos básicos de docker.
Motor de Docker instalado
  • Necesita que el motor de Docker esté instalado en un equipo host. Docker dispone de paquetes que configuran el entorno de Docker en macOS, Windows y Linux. Para conocer los principios básicos de Docker y de los contenedores, consulte Introducción a Docker.
  • Docker debe configurarse para permitir que los contenedores se conecten con Azure y envíen datos de facturación a dicho servicio.
  • En Windows, Docker también debe estar configurado de forma que admita contenedores de Linux.
Recurso de Inteligencia de documentos Un recurso de Documento de inteligencia de Azure AI de servicio único o multiservicio en Azure Portal. Para usar los contenedores, debe tener la clave y el URI del punto de conexión asociados. Ambos valores están disponibles en la página de claves y punto de conexión de Documento de inteligencia de Azure Portal:
  • {FORM_RECOGNIZER_KEY}: una de las dos claves de recurso disponibles.
  • {FORM_RECOGNIZER_ENDPOINT_URI} : el punto de conexión del recurso que se usa para realizar el seguimiento de la información de facturación.
Opcionales Propósito
CLI (interfaz de la línea de comandos) de Azure La CLI de Azure permite usar un conjunto de comandos en línea para crear y administrar recursos de Azure. Está disponible para instalarse en entornos Windows, macOS y Linux, y se puede ejecutar en un contenedor de Docker y Azure Cloud Shell.

Requisitos del equipo host

El host es un equipo basado en x64 que ejecuta el contenedor de Docker. Puede ser un equipo del entorno local o un servicio de hospedaje de Docker incluido en Azure, como:

Nota:

Tenga en cuenta que el contenedor de Studio no se puede implementar ni ejecutar en Azure Kubernetes Service. El contenedor de Studio solo se admite para ejecutarse en el equipo local.

Recomendaciones y requisitos del contenedor

Contenedores auxiliares requeridos

En la tabla siguiente se enumeran uno o varios contenedores de compatibilidad para cada contenedor de Document Intelligence que descargue. Para más información, consulte la sección Facturación.

Contenedor de características Contenedores auxiliares
Leer No se requiere
Diseño No se requiere
Tarjeta de presentación Lectura
Documento general Diseño
Factura Diseño
Recibo Lectura o Diseño
Documento de identificación Lectura
Plantilla personalizada Diseño

Nota

Los valores mínimos y recomendados se basan en los límites de Docker y no de los recursos de la máquina host.

Contenedores de Document Intelligence
Contenedor Mínima Recomendado
Read 8 núcleos, 10 GB de memoria 8 núcleos, 24 GB de memoria
Layout 8 núcleos, 16 GB de memoria 8 núcleos, 24 GB de memoria
Business Card 8 núcleos, 16 GB de memoria 8 núcleos, 24 GB de memoria
General Document 8 núcleos, 12 GB de memoria 8 núcleos, 24 GB de memoria
ID Document 8 núcleos, 8 GB de memoria 8 núcleos, 24 GB de memoria
Invoice 8 núcleos, 16 GB de memoria 8 núcleos, 24 GB de memoria
Receipt 8 núcleos, 11 GB de memoria 8 núcleos, 24 GB de memoria
Custom Template 8 núcleos, 16 GB de memoria 8 núcleos, 24 GB de memoria
  • Cada núcleo debe ser de 2,6 gigahercios (GHz) como mínimo.
  • El núcleo y la memoria se corresponden con los valores de --cpus y --memory, que se usan como parte del comando docker compose o docker run.

Sugerencia

Puede usar el comando docker images para enumerar las imágenes de contenedor descargadas. Por ejemplo, el comando siguiente muestra el id., el repositorio y la etiqueta de cada imagen de contenedor descargada, con formato de tabla:

docker images --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"

IMAGE ID         REPOSITORY                TAG
<image-id>       <repository-path/name>    <tag-name>

Ejecución del contenedor con el comando docker-compose up

  • Reemplace los valores {ENDPOINT_URI} y {API_KEY} por el URI del punto de conexión del recurso y la clave de la página de recursos de Azure.

    Captura de pantalla de la página Claves y punto de conexión de Azure Portal.

  • Asegúrese de que el valor EULA esté establecido en accept.

  • Los valores EULA, Billing y ApiKey deben estar especificados; de lo contrario, el contenedor no se podrá iniciar.

Importante

Las claves se usan para acceder al recurso de Document Intelligence. No comparta las claves. Almacénelas de forma segura, por ejemplo, con Azure Key Vault. También se recomienda regenerar estas claves periódicamente. Solo se necesita una clave para realizar una llamada API. Al volver a generar la primera clave, puede usar la segunda clave para seguir teniendo acceso al servicio.

A continuación se muestra un ejemplo de docker compose autocontenido para ejecutar el contenedor Diseño de Document Intelligence. Con docker compose, se usa un archivo YAML para configurar los servicios de la aplicación. A continuación, con el comando docker-compose up, se crean e inician todos los servicios de la configuración. Escriba los valores {FORM_RECOGNIZER_ENDPOINT_URI} y {FORM_RECOGNIZER_KEY} para la instancia de contenedor de diseño.

version: "3.9"
services:
  azure-form-recognizer-read:
    container_name: azure-form-recognizer-read
    image: mcr.microsoft.com/azure-cognitive-services/form-recognizer/read-3.1
    environment:
      - EULA=accept
      - billing={FORM_RECOGNIZER_ENDPOINT_URI}
      - apiKey={FORM_RECOGNIZER_KEY}
    ports:
      - "5000:5000"
    networks:
      - ocrvnet
networks:
  ocrvnet:
    driver: bridge

Ahora, puede iniciar el servicio con el comando docker compose:

docker-compose up

Valide que el servicio se está ejecutando.

Hay varias maneras de comprobar que el contenedor se está ejecutando:

  • El contenedor proporciona una página principal en \ como validación visual de que se está ejecutando.

  • Puede abrir el explorador web que prefiera e ir a la dirección IP externa y el puerto expuesto del contenedor en cuestión. Use las direcciones URL de solicitud enumeradas para validar que el contenedor se está ejecutando. Las direcciones URL de solicitud de ejemplo que se enumeran son http://localhost:5000, pero el contenedor específico puede variar. Tenga en cuenta que va a ir a la dirección IP externa y al puerto expuesto del contenedor.

    URL de la solicitud Propósito
    http://localhost:5000/ El contenedor proporciona una página principal.
    http://localhost:5000/ready Solicitado con GET, esta solicitud proporciona una comprobación de que el contenedor está listo para aceptar una consulta para el modelo. Esta solicitud se puede usar con los sondeos de ejecución y preparación de Kubernetes.
    http://localhost:5000/status Solicitado con GET, esta solicitud comprueba si el valor de api-key usado para iniciar el contenedor es válido sin generar una consulta de punto de conexión. Esta solicitud se puede usar con los sondeos de ejecución y preparación de Kubernetes.
    http://localhost:5000/swagger El contenedor cuenta con un completo conjunto de documentación sobre los puntos de conexión y una característica de prueba. Esta característica le permite especificar la configuración en un formulario HTML basado en web y realizar la consulta sin necesidad de escribir código. Después de que la consulta devuelve resultados, se proporciona un ejemplo del comando CURL para mostrar los encabezados HTTP y el formato de cuerpo requeridos.

Captura de pantalla de página principal de los contenedores de Azure.

Detener los contenedores

Para detener los contenedores, use el comando siguiente:

docker-compose down

Facturación

Los contenedores de Document Intelligence envían información de facturación a Azure mediante un recurso de Document Intelligence en la cuenta de Azure.

Las consultas en el contenedor se facturan con el plan de tarifa del recurso de Azure que se usa para la API Key. La facturación se calcula por cada instancia de contenedor que se utilice para procesar los documentos e imágenes.

Si recibe el siguiente error: El contenedor no está en un estado válido. Error de validación de la suscripción con el estado "OutOfQuota" La clave de API está fuera de cuota. Es un indicador de que los contenedores no se están comunicando con el punto de conexión de facturación.

Conexión con Azure

El contenedor necesita que se ejecuten los valores del argumento de facturación. Estos valores permiten al contenedor conectarse al punto de conexión de facturación. El contenedor informa sobre el uso cada 10 a 15 minutos. Si el contenedor no se conecta a Azure en la ventana de tiempo permitida, continuará ejecutándose pero no atenderá las consultas hasta que se restaure el punto de conexión de facturación. Se intenta 10 veces la conexión en el mismo intervalo de tiempo de 10 a 15 minutos. Si no se puede conectar con el punto de conexión de facturación en esos 10 intentos, el contenedor deja de atender solicitudes. Consulte Preguntas más frecuentes acerca de los contenedores de Azure AI para obtener un ejemplo de la información que se envía a Microsoft para la facturación.

Argumentos de facturación

El comando docker-compose up inicia el contenedor cuando se especifiquen las tres opciones siguientes con valores válidos:

Opción Descripción
ApiKey La clave del recurso de servicios de Azure AI que se usa para realizar un seguimiento de la información de facturación.
El valor de esta opción debe establecerse en una clave del recurso aprovisionado especificado en Billing.
Billing El punto de conexión del recurso de servicios de Azure AI que se usa para realizar el seguimiento de la información de facturación.
El valor de esta opción debe establecerse en el URI del punto de conexión de un recurso aprovisionado de Azure.
Eula Indica que ha aceptado la licencia del contenedor.
El valor de esta opción debe establecerse en accept.

Para obtener más información acerca de estas opciones, consulte Configure containers (Configuración de contenedores).

Resumen

Eso es todo. En este artículo, ha aprendido los conceptos y el flujo de trabajo para la descarga, instalación y ejecución de contenedores de Document Intelligence. En resumen:

  • Document Intelligence proporciona siete contenedores de Linux para Docker.
  • Las imágenes de contenedor se descargan desde mcr.
  • Las imágenes de contenedor se ejecutan en Docker.
  • La información de facturación debe especificarse al crear una instancia de contenedor.

Importante

Los contenedores de Azure AI no tienen licencia para ejecutarse sin estar conectados a Azure para realizar mediciones. Los clientes tienen que habilitar los contenedores para comunicar la información de facturación con el servicio de medición en todo momento. Los contenedores de Azure AI no envían datos de los clientes (por ejemplo, la imagen o el texto que se está analizando) a Microsoft.

Pasos siguientes