Usar modelos precompilados de Documento de inteligencia
En este ejercicio, configurará un recurso de Documento de inteligencia de Azure AI en la suscripción de Azure. Usará tanto Documento de inteligencia de Azure AI Studio como C# o Python para enviar formularios a ese recurso para su análisis.
Creación de un recurso de Documento de inteligencia de Azure AI
Para poder llamar al servicio Documento de inteligencia de Azure AI, debe crear un recurso para hospedar ese servicio en Azure:
- En una pestaña del explorador, abra Azure Portal en https://portal.azure.com e inicie sesión con la cuenta de Microsoft asociada a su suscripción de Azure.
- En la página principal de Azure Portal, navegue al cuadro de búsqueda superior, escriba Documento de inteligencia y presione Entrar.
- En la página Documento de inteligencia, selecciona Crear documento de inteligencia.
- En la página Crear Documento de inteligencia, use lo siguiente para configurar el recurso:
- Suscripción: su suscripción de Azure.
- Grupo de recursos: seleccione o cree un grupo de recursos con un nombre único, como DocIntelligenceResources.
- Región: seleccione una región cercana.
- Nombre: escriba un nombre único global.
- Plan de tarifa: seleccione Free F0 (si no tiene un nivel Gratis disponible, seleccione Standard S0).
- Seleccione Revisar y crear y Crear. Espere mientras Azure crea el recurso de Documento de inteligencia de Azure AI.
- Cuando la implementación se complete, seleccione Ir al recurso. Mantenga esta página abierta para el resto de este ejercicio.
Uso del modelo de lectura
Empecemos por usar el Documento de inteligencia de Azure AI Studio y el modelo de lectura para analizar un documento con varios idiomas. Conectará Documento de inteligencia de Azure AI Studio al recurso que acaba de crear para realizar el análisis:
- Abra una nueva pestaña del explorador y vaya a Documento de inteligencia de Azure AI Studio en https://documentintelligence.ai.azure.com/studio.
- En Análisis de documentos, seleccione el icono Leer.
- Si se le pide que inicie sesión en su cuenta, use las credenciales de Azure.
- Si se le pregunta qué recurso de Documento de inteligencia de Azure AI va a usar, seleccione la suscripción y el nombre del recurso que usó al crear el recurso de Documento de inteligencia de Azure AI.
-
En la lista de documentos de la izquierda, seleccione read-german.pdf.
- En la parte superior izquierda, seleccione Opciones de análisis y, a continuación, marque la casilla Idioma (en Detección opcional) en el panel Opciones de análisis y haga clic en Guardar.
- En la parte superior izquierda, seleccione Ejecutar análisis.
- Una vez completado el análisis, el texto extraído de la imagen se muestra a la derecha en la pestaña Contenido. Revise este texto y compárelo con el texto de la imagen original para comprobar su exactitud.
- Seleccione la pestaña Resultado. Esta pestaña muestra el código JSON extraído.
-
Desplázate hasta la parte inferior del código JSON en la pestaña Resultado. Observa que el modelo de lectura ha detectado el idioma de cada intervalo indicado por
locale
. La mayoría de los intervalos están en alemán (código de idiomade
), pero puede encontrar otros códigos de idioma en los intervalos (por ejemplo, inglés: código de idiomaen
, en uno de los últimos intervalos).
Preparación para desarrollar una aplicación en Visual Studio Code
Ahora vamos a explorar la aplicación que usa el SDK del servicio Documento de inteligencia de Azure. Desarrollará la aplicación con Visual Studio Code. Los archivos de código de la aplicación se han proporcionado en un repositorio de GitHub.
Sugerencia: Si ya ha clonado el repositorio mslearn-ai-document-intelligence, ábralo en Visual Studio Code. De lo contrario, siga estos pasos para clonarlo en el entorno de desarrollo.
- Inicie Visual Studio Code.
- Abra la paleta (Mayús + Ctrl + P) y ejecute un comando Git: Clone para clonar el repositorio
https://github.com/MicrosoftLearning/mslearn-ai-document-intelligence
en una carpeta local (no importa qué carpeta). -
Cuando se haya clonado el repositorio, abra la carpeta en Visual Studio Code.
Nota: Si Visual Studio Code muestra un mensaje emergente para solicitarle que confíe en el código que está abriendo, haga clic en la opción Sí, confío en los autores en el elemento emergente.
-
Espere mientras se instalan archivos adicionales para admitir los proyectos de código de C# en el repositorio.
Nota: Si se le pide que agregue los recursos necesarios para compilar y depurar, seleccione Ahora no. Si aparece el mensaje Se ha detectado un proyecto de función de Azure en la carpeta, puede cerrarlo de forma segura.
Configuración de la aplicación
Se han proporcionado aplicaciones para C# y Python, así como un archivo PDF de ejemplo que usará para probar Documento de inteligencia. Las dos aplicaciones tienen la misma funcionalidad. Primero, completará algunas partes clave de la aplicación para habilitar el uso del recurso Documento de inteligencia de Azure.
-
Examine la siguiente factura y anote algunos de sus campos y valores. Esta es la factura que analizará el código.
-
En Visual Studio Code, en el panel Explorador, vaya a la carpetaLabfiles/01-prebuild-models y expanda la carpeta CSharp o Python según sus preferencias de lenguaje. Cada carpeta contiene los archivos específicos del lenguaje de una aplicación en la que va a integrar la funcionalidad de Documento de inteligencia de Azure.
-
Haga clic con el botón derecho en la carpeta CSharp o Python que contenga los archivos de código y seleccione Abrir un terminal integrado. Instale el paquete Azure Form Recognizer (el nombre anterior de Documento de inteligencia) mediante la ejecución del comando adecuado para sus preferencias de lenguaje:
C#:
dotnet add package Azure.AI.FormRecognizer --version 4.1.0
Python:
pip install azure-ai-formrecognizer==3.3.3
Agregar código para usar el servicio Documento de inteligencia de Azure.
Ahora está listo para usar el SDK para evaluar el archivo PDF.
- Cambie a la pestaña del explorador que muestra la información general de Documento de inteligencia de Azure AI en Azure Portal. En el panel izquierdo, en Administración de recursos, seleccione Claves y punto de conexión. A la derecha del valor Punto de conexión, haga clic en el botón Copiar en el portapapeles.
-
En el panel Explorador, en la carpeta CSharp o Python, abra el archivo de código para su lenguaje preferido y reemplace
<Endpoint URL>
por la cadena que acaba de copiar:C#: Program.cs
string endpoint = "<Endpoint URL>";
Python: document-analysis.py
endpoint = "<Endpoint URL>"
- Cambie a la pestaña del explorador que muestra las claves y punto de conexión de Documento de inteligencia de Azure AI en Azure Portal. A la derecha del valor CLAVE 1, haga clic en el botón Copiar en el portapapeles.
-
En el archivo de código de Visual Studio Code, busque esta línea y reemplace
<API Key>
por la cadena que acaba de copiar:C#
string apiKey = "<API Key>";
Python
key = "<API Key>"
-
Busque el comentario
Create the client
. A continuación, en líneas nuevas, escriba el código siguiente:C#
var cred = new AzureKeyCredential(apiKey); var client = new DocumentAnalysisClient(new Uri(endpoint), cred);
Python
document_analysis_client = DocumentAnalysisClient( endpoint=endpoint, credential=AzureKeyCredential(key) )
-
Busque el comentario
Analyze the invoice
. A continuación, en líneas nuevas, escriba el código siguiente:C#
AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, "prebuilt-invoice", fileUri);
Python
poller = document_analysis_client.begin_analyze_document_from_url( fileModelId, fileUri, locale=fileLocale )
-
Busque el comentario
Display invoice information to the user
. A continuación, en las líneas nuevas, escriba el código siguiente:C#
AnalyzeResult result = operation.Value; foreach (AnalyzedDocument invoice in result.Documents) { if (invoice.Fields.TryGetValue("VendorName", out DocumentField? vendorNameField)) { if (vendorNameField.FieldType == DocumentFieldType.String) { string vendorName = vendorNameField.Value.AsString(); Console.WriteLine($"Vendor Name: '{vendorName}', with confidence {vendorNameField.Confidence}."); } }
Python
receipts = poller.result() for idx, receipt in enumerate(receipts.documents): vendor_name = receipt.fields.get("VendorName") if vendor_name: print(f"\nVendor Name: {vendor_name.value}, with confidence {vendor_name.confidence}.")
[!NOTE] Ha agregado código para mostrar el nombre del proveedor. El proyecto de inicio también incluye código para mostrar el nombre del cliente y el total de la factura.
-
Guarde los cambios en el archivo del código.
-
En el panel de terminal interactivo, asegúrese de que el contexto de la carpeta es la carpeta del lenguaje que prefiera. Después, escriba el siguiente comando para ejecutar la aplicación.
-
For C# only, para compilar el proyecto, escriba este comando:
C#:
dotnet build
-
Para ejecutar el código, escriba este comando:
C#:
dotnet run
Python:
python document-analysis.py
El programa muestra el nombre del proveedor, el nombre del cliente y el total de la factura con niveles de confianza. Compare los valores que notifica con la factura de ejemplo que abrió al principio de esta sección.
Limpiar
Si ha terminado de usar el recurso de Azure, recuerde eliminar el recurso en Azure Portal para evitar cambios.
Más información
Para obtener más información sobre el servicio Documento de inteligencia, consulte la documentación de Documento de inteligencia.