Automatizzare l'elaborazione dei moduli PDF

Informazioni sui documenti di Azure AI
Servizi di intelligenza artificiale di Azure
App per la logica di Azure
Funzioni di Azure

Questo articolo descrive un'architettura di Azure che è possibile usare per sostituire metodi di elaborazione di moduli costosi e flessibili con elaborazione PDF automatizzata conveniente e flessibile.

Architettura

Diagramma dell'architettura per l'elaborazione di moduli PDF

Scaricare un file PowerPoint di questa architettura.

Workflow

  1. Un account di posta elettronica di Outlook designato riceve i file PDF come allegati. L'arrivo di un messaggio di posta elettronica attiva un'app per la logica per elaborare il messaggio di posta elettronica. L'app per la logica viene compilata usando le funzionalità di App per la logica di Azure.
  2. L'app per la logica carica i file PDF in un contenitore in Azure Data Lake Archiviazione.
  3. È anche possibile caricare manualmente o a livello di codice i file PDF nello stesso contenitore PDF.
  4. L'arrivo di un file PDF nel contenitore PDF attiva un'altra app per la logica per elaborare i moduli PDF presenti nel file PDF.
  5. L'app per la logica invia il percorso del file PDF a un'app per le funzioni per l'elaborazione. L'app per le funzioni viene compilata usando le funzionalità di Funzioni di Azure.
  6. L'app per le funzioni riceve il percorso del file e esegue queste azioni:
    1. Suddivide il file in singole pagine se il file contiene più pagine. Ogni pagina contiene un modulo indipendente. I file di divisione vengono salvati in un secondo contenitore in Data Lake Archiviazione.
    2. Usa HTTPS POST, un'API REST di Azure, per inviare il percorso del file PDF a pagina singola all'intelligenza artificiale document intelligence per l'elaborazione. Quando Azure AI Document Intelligence completa l'elaborazione, invia una risposta all'app per le funzioni, che inserisce le informazioni in una struttura di dati.
    3. Crea un file di dati JSON che contiene i dati di risposta e archivia il file in un terzo contenitore in Data Lake Archiviazione.
  7. L'app per la logica di elaborazione dei moduli riceve i dati di risposta elaborati.
  8. L'app per la logica per l'elaborazione dei moduli invia i dati elaborati ad Azure Cosmos DB, che salva i dati in un database e nelle raccolte.
  9. Power BI ottiene i dati da Azure Cosmos DB e fornisce informazioni dettagliate e dashboard.
  10. È possibile implementare un'ulteriore elaborazione in base alle esigenze sui dati presenti in Azure Cosmos DB.

Componenti

  • I servizi di intelligenza artificiale di Azure sono una categoria di prodotti azure per intelligenza artificiale che usano i servizi di intelligenza artificiale di Azure, l'intelligenza artificiale specifica dell'attività e la logica di business per fornire servizi di intelligenza artificiale chiavi in mano per processi aziendali comuni. Uno di questi prodotti è Azure AI Document Intelligence, che usa modelli di Machine Learning per estrarre coppie chiave-valore, testo e tabelle dai documenti.
  • App per la logica di Azure è un servizio cloud serverless per la creazione e l'esecuzione di flussi di lavoro automatizzati che integrano app, dati, servizi e sistemi.
  • Funzioni di Azure è una soluzione serverless che consente di scrivere meno codice, mantenere meno infrastruttura e risparmiare sui costi.
  • Azure Data Lake Archiviazione è la base per la creazione di data lake aziendali in Azure.
  • Azure Cosmos DB è un database relazionale e NoSQL completamente gestito per lo sviluppo di app moderne.
  • Power BI è una raccolta di servizi software, app e connettori che interagiscono in modo da poter trasformare le origini di dati non correlate in informazioni dettagliate coerenti, visivamente immersive e interattive.

Alternative

  • È possibile usare database SQL di Azure anziché Azure Cosmos DB per archiviare i dati dei moduli elaborati.
  • È possibile usare Azure Esplora dati per visualizzare i dati elaborati dei moduli archiviati in Data Lake Archiviazione.

Dettagli dello scenario

L'elaborazione dei moduli è spesso una funzione aziendale critica. Molte aziende si basano ancora su processi manuali costosi, dispendiosi in termini di tempo e soggetti a errori. La sostituzione dei processi manuali riduce i costi e i rischi e rende un'azienda più agile.

Questo articolo descrive un'architettura che è possibile usare per sostituire l'elaborazione manuale dei moduli PDF o sistemi legacy costosi che automatizzano l'elaborazione dei moduli PDF. Intelligenza artificiale di Azure elabora i moduli PDF, App per la logica fornisce il flusso di lavoro e Funzioni offre funzionalità di elaborazione dati.

Per informazioni sulla distribuzione, vedere Distribuire questo scenario in questo articolo.

Potenziali casi d'uso

La soluzione descritta in questo articolo può elaborare molti tipi di moduli, tra cui:

  • Fatture
  • Record di pagamento
  • record Cassaforte ty
  • Record degli eventi imprevisti
  • Record di conformità
  • Ordini fornitore
  • Moduli di autorizzazione per i pagamenti
  • Moduli di screening dell'integrità
  • Moduli di sondaggio

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, un set di set di principi guida che è possibile usare per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

Un carico di lavoro affidabile è un carico di lavoro resiliente e disponibile. La resilienza è la capacità di un sistema di recuperare in caso di errore e continuare a funzionare. L'obiettivo della resilienza consiste nel ripristinare uno stato completamente funzionale dell'applicazione dopo un errore. La disponibilità è una misura che indica se gli utenti possono accedere al carico di lavoro quando necessario.

Questa architettura è destinata a un'architettura iniziale che è possibile distribuire e creare rapidamente prototipi per offrire una soluzione aziendale. Se il prototipo ha esito positivo, è possibile estendere e migliorare l'architettura, se necessario, per soddisfare requisiti aggiuntivi.

Questa architettura usa tecnologie e infrastrutture di Azure scalabili e resilienti. Ad esempio, Azure Cosmos DB include ridondanza predefinita e copertura globale che è possibile configurare per soddisfare le proprie esigenze.

Per le garanzie di disponibilità dei servizi di Azure usati da questa soluzione, vedere Contratti di servizio per i servizi online.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

L'account di posta elettronica di Outlook usato in questa architettura è un account di posta elettronica dedicato che riceve moduli PDF come allegati. È consigliabile limitare i mittenti solo alle parti attendibili e impedire agli attori malintenzionati di spammingare l'account di posta elettronica.

L'implementazione di questa architettura descritta in Distribuire questo scenario adotta le misure seguenti per aumentare la sicurezza:

  • Gli script di distribuzione di PowerShell e Bicep usano Azure Key Vault per archiviare informazioni riservate in modo che non vengano visualizzate nelle schermate del terminale o archiviate nei log di distribuzione.
  • Le identità gestite forniscono un'identità gestita automaticamente in Microsoft Entra ID per le applicazioni da usare quando si connettono alle risorse che supportano l'autenticazione di Microsoft Entra. L'app per le funzioni usa identità gestite in modo che il codice non dipenda da singole entità e non contenga informazioni sull'identità sensibili.

Ottimizzazione dei costi

L'ottimizzazione dei costi consiste nell'esaminare i modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

Ecco alcune linee guida per l'ottimizzazione dei costi:

  • Usare la strategia con pagamento in base al consumo per l'architettura e aumentare il numero di istanze in base alle esigenze anziché investire in risorse su larga scala all'inizio.
  • L'implementazione dell'architettura descritta in Distribuire questo scenario distribuisce una soluzione iniziale adatta al modello di verifica. Gli script di distribuzione creano un'architettura funzionante con requisiti minimi per le risorse. Ad esempio, gli script di distribuzione creano un host Linux serverless più piccolo per eseguire l'app per le funzioni.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità del carico di lavoro di ridimensionarsi in modo efficiente per soddisfare le esigenze poste dagli utenti. Per altre informazioni, vedere Panoramica dell'efficienza delle prestazioni.

Questa architettura usa servizi con funzionalità di scalabilità predefinite che è possibile usare per migliorare l'efficienza delle prestazioni. Di seguito sono riportati alcuni esempi.

Distribuire lo scenario

È possibile distribuire una versione rudimentale di questa architettura, un acceleratore di soluzioni e usarla come punto di partenza per la distribuzione della propria soluzione. L'implementazione di riferimento per l'acceleratore include codice, script di distribuzione e una guida alla distribuzione.

L'acceleratore riceve i moduli PDF, estrae i campi dati e salva i dati in Azure Cosmos DB. Power BI visualizza i dati. La progettazione usa una metodologia modulare basata sui metadati. Nessun campo modulo è hardcoded. Può elaborare qualsiasi modulo PDF.

È possibile usare l'acceleratore così come è, senza modifica del codice, per elaborare e visualizzare moduli PDF a pagina singola, ad esempio moduli di sicurezza, fatture, record di eventi imprevisti e molti altri. Per usarlo, è sufficiente raccogliere moduli PDF di esempio, eseguire il training di un nuovo modello per apprendere il layout dei moduli e collegare il modello alla soluzione. È anche necessario riprogettare il report di Power BI per i set di dati in modo che fornisca le informazioni dettagliate desiderate.

L'implementazione usa Azure AI Document Intelligence Studio per creare modelli personalizzati. L'acceleratore usa i nomi di campo salvati nel modello di Machine Learning come riferimento per elaborare altri moduli. Per creare un modello di Machine Learning personalizzato sono necessari solo cinque moduli di esempio. È possibile unire fino a 100 modelli personalizzati per creare un modello di Machine Learning composito in grado di elaborare un'ampia gamma di moduli.

Repository di distribuzione

Il repository GitHub per l'acceleratore di soluzioni è disponibile in Azure PDF Processing Automation Solution Accelerator che contiene la guida alla distribuzione per questa soluzione.

Prerequisiti per la distribuzione

Per eseguire la distribuzione, è necessaria una sottoscrizione di Azure. Per informazioni sulle sottoscrizioni gratuite, vedere Creare nel cloud con un account Gratuito di Azure.

Per informazioni sui servizi usati nell'acceleratore, vedere gli articoli di panoramica e di riferimento elencati in:

Considerazioni sulla distribuzione

Per elaborare un nuovo tipo di modulo PDF, usare i file PDF di esempio per creare un nuovo modello di Machine Learning. Quando il modello è pronto, collegare l'ID modello alla soluzione.

Questo nome di contenitore è configurabile negli script di distribuzione che si ottengono dal repository GitHub.

L'architettura non soddisfa i requisiti di disponibilità elevata o ripristino di emergenza. Se si vuole estendere e migliorare l'architettura corrente per la distribuzione di produzione, prendere in considerazione i consigli e le procedure consigliate seguenti:

  • Progettare l'architettura di disponibilità elevata/ripristino di emergenza in base ai requisiti e usare le funzionalità di ridondanza predefinite, se applicabile.
  • Aggiornare il codice di distribuzione Bicep per creare un ambiente di elaborazione in grado di gestire i volumi di elaborazione.
  • Aggiornare il codice di distribuzione Bicep per creare più istanze dei componenti dell'architettura per soddisfare i requisiti di disponibilità elevata/ripristino di emergenza.
  • Seguire le linee guida in Archiviazione di Azure ridondanza durante la progettazione e il provisioning dell'archiviazione.
  • Seguire le linee guida in Continuità aziendale e ripristino di emergenza durante la progettazione e il provisioning delle app per la logica.
  • Seguire le linee guida in Affidabilità in Funzioni di Azure durante la progettazione e il provisioning dell'app per le funzioni.
  • Seguire le linee guida in Ottenere la disponibilità elevata con Azure Cosmos DB durante la progettazione e il provisioning di un database creato usando Azure Cosmos DB.
  • Se si consiglia di inserire questo sistema nell'ambiente di produzione per elaborare grandi volumi di moduli PDF, è possibile modificare gli script di distribuzione per creare un host Linux con più risorse. A tale scopo, modificare il codice all'interno di deploy-functionsapp.bicep

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Altri contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi