Automatizzare la classificazione dei documenti in Azure
Questo articolo descrive un'architettura che è possibile usare per elaborare vari documenti. L'architettura usa la funzionalità durable functions di Funzioni di Azure per implementare le pipeline. Le pipeline elaborano i documenti tramite Intelligence per i documenti di Intelligenza artificiale di Azure per la suddivisione dei documenti, il riconoscimento delle entità denominate (NER) e la classificazione. Il contenuto e i metadati dei documenti vengono usati per l'elaborazione del linguaggio naturale (NLP) basata sul recupero.
Architettura
Scaricare un file di Visio di questa architettura.
Flusso di lavoro
Un utente carica un file di documento in un'app Web. Il file contiene più documenti incorporati di vari tipi, ad esempio file PDF o file TIFF (Tag Image Format) a più pagine. Il file di documento viene archiviato in Archiviazione BLOB di Azure (1a). Per avviare l'elaborazione della pipeline, l'app Web aggiunge un messaggio di comando a una coda del bus di servizio di Azure (1b).
Il messaggio di comando attiva l'orchestrazione delle funzioni durevoli. Il messaggio contiene metadati che identificano il percorso di archiviazione BLOB del file di documento da elaborare. Ogni istanza di Durable Functions elabora un solo file di documento.
La funzione di analisi dell'attività chiama l'API Document Intelligence Analyze Document, che passa il percorso di archiviazione del file di documento da elaborare. La funzione di analisi legge e identifica ogni documento all'interno del file di documento. Questa funzione restituisce il nome, il tipo, gli intervalli di pagine e il contenuto di ogni documento incorporato nell'orchestrazione.
La funzione di attività dell'archivio metadati salva le informazioni sul tipo di documento, sulla posizione e sull'intervallo di pagine per ogni documento in un archivio Azure Cosmos DB.
La funzione di incorporamento usa il kernel semantico per suddividere ogni documento e creare incorporamenti per ogni blocco. Gli incorporamenti e il contenuto associato vengono inviati a Ricerca di intelligenza artificiale di Azure e archiviati in un indice abilitato per vettori. Viene aggiunto anche un ID di correlazione al documento di ricerca in modo che i risultati della ricerca possano essere confrontati con i metadati del documento corrispondenti di Azure Cosmos DB.
Il kernel semantico recupera gli incorporamenti dall'archivio vettoriale di ricerca di intelligenza artificiale per NLP.
Gli utenti possono chattare con i propri dati usando NLP. Questa conversazione è basata su dati a terra recuperati dall'archivio vettoriale. Per cercare i record di documento presenti in Azure Cosmos DB, gli utenti usano gli ID di correlazione inclusi nel set di risultati di ricerca. I record includono collegamenti al file di documento originale nell'archivio BLOB.
Componenti
Durable Functions è una funzionalità di Funzioni di Azure che è possibile usare per scrivere funzioni con stato in un ambiente di calcolo serverless. In questa architettura un messaggio in una coda del bus di servizio attiva un'istanza di funzioni durevoli. Questa istanza avvia e orchestra la pipeline di elaborazione documenti.
Azure Cosmos DB è un database multimodello distribuito a livello globale che è possibile usare nelle soluzioni per ridimensionare la velocità effettiva e la capacità di archiviazione in un numero qualsiasi di aree geografiche. I contratti di servizio completi garantiscono velocità effettiva, latenza, disponibilità e coerenza. Questa architettura usa Azure Cosmos DB come archivio di metadati per le informazioni di classificazione dei documenti.
Archiviazione di Azure è un set di servizi cloud altamente scalabili e sicuri per dati, app e carichi di lavoro. Include archiviazione BLOB, File di Azure, Archiviazione tabelle di Azure e Archiviazione code di Azure. Questa architettura usa l'archiviazione BLOB per archiviare i file di documento caricati dall'utente e che la pipeline di funzioni durevoli elabora.
Il bus di servizio è un broker di messaggi aziendale completamente gestito con code di messaggi e argomenti di pubblicazione-sottoscrizione. Questa architettura usa il bus di servizio per attivare istanze di funzioni durevoli.
app Azure Servizio fornisce un framework per compilare, distribuire e ridimensionare app Web. La funzionalità App Web di servizio app è uno strumento basato su HTTP che è possibile usare per ospitare applicazioni Web, API REST e back-end per dispositivi mobili. Usare App Web per sviluppare in .NET, .NET Core, Java, Ruby, Node.js, PHP o Python. Le applicazioni possono essere eseguite e ridimensionate facilmente in ambienti basati su Windows e Linux. In questa architettura gli utenti interagiscono con il sistema di elaborazione dei documenti tramite un'app Web ospitata servizio app.
Document Intelligence è un servizio che è possibile usare per estrarre informazioni dettagliate da documenti, moduli e immagini. Questa architettura usa Document Intelligence per analizzare i file di documento ed estrarre i documenti incorporati insieme a informazioni sul contenuto e sui metadati.
Ricerca di intelligenza artificiale offre un'esperienza di ricerca avanzata per contenuti privati e diversificati nelle applicazioni Web, per dispositivi mobili e aziendali. Questa architettura usa l'archiviazione vettoriale di intelligenza artificiale per indicizzare incorporamenti del contenuto del documento estratto e delle informazioni sui metadati in modo che gli utenti possano cercare e recuperare documenti usando NLP.
semantic kernel è un framework che è possibile usare per integrare modelli di linguaggio di grandi dimensioni nelle applicazioni. Questa architettura usa il kernel semantico per creare incorporamenti per il contenuto del documento e le informazioni sui metadati, archiviati nella ricerca di intelligenza artificiale.
del servizio OpenAI di Azure consente l'accesso ai modelli avanzati di OpenAI. Questa architettura usa Azure OpenAI per fornire un'interfaccia del linguaggio naturale per consentire agli utenti di interagire con il sistema di elaborazione dei documenti.
Alternative
Per facilitare la distribuzione globale, questa soluzione archivia i metadati in Azure Cosmos DB. database SQL di Azure è un'altra opzione di archiviazione permanente per i metadati e le informazioni del documento.
Per attivare istanze di funzioni durevoli, è possibile usare altre piattaforme di messaggistica, tra cui Griglia di eventi di Azure.
Il kernel semantico è una delle diverse opzioni per la creazione di incorporamenti. È anche possibile usare azure Machine Learning o i servizi di intelligenza artificiale di Azure per creare incorporamenti.
Per fornire un'interfaccia del linguaggio naturale per gli utenti, è possibile usare altri modelli linguistici all'interno di Azure AI Foundry. La piattaforma supporta vari modelli di provider diversi, tra cui Mistral, Meta, Cohere e Hugging Face.
Dettagli dello scenario
In questa architettura, le pipeline identificano i documenti in un file di documento, li classificano per tipo e archiviano le informazioni da usare durante l'elaborazione successiva.
Molte aziende devono gestire ed elaborare documenti che analizzano in blocco e che contengono diversi tipi di documento, ad esempio PDF o immagini TIFF a più pagine. Questi documenti possono provenire dall'esterno dell'organizzazione e la società ricevente non controlla il formato.
A causa di questi vincoli, le organizzazioni devono creare soluzioni di analisi dei documenti personalizzate che possono includere tecnologie personalizzate e processi manuali. Ad esempio, un utente potrebbe separare manualmente singoli tipi di documento e aggiungere qualificatori di classificazione per ogni documento.
Molte di queste soluzioni personalizzate sono basate sul modello del flusso di lavoro della macchina a stati. Le soluzioni usano sistemi di database per rendere persistente lo stato del flusso di lavoro e usare i servizi di polling che controllano gli stati che devono elaborare. La gestione e il miglioramento di queste soluzioni possono aumentare la complessità e il lavoro richiesto.
Le organizzazioni necessitano di soluzioni affidabili, scalabili e resilienti per elaborare e gestire l'identificazione e la classificazione dei documenti per i tipi di documento dell'organizzazione. Questa soluzione può elaborare milioni di documenti ogni giorno con un'osservabilità completa nell'esito positivo o negativo della pipeline di elaborazione.
La prevenzione della perdita dei dati consente agli utenti di interagire con il sistema in modo conversazionale. Gli utenti possono porre domande sui documenti e ricevere risposte in base al contenuto dei documenti.
Potenziali casi d'uso
È possibile usare questa soluzione per:
Titoli dei report. Molte agenzie governative e comuni gestiscono i record cartacei che non hanno una forma digitale. Una soluzione automatizzata efficace può generare un file contenente tutti i documenti necessari per soddisfare una richiesta di documento.
Gestire i record di manutenzione. Potrebbe essere necessario analizzare e inviare record cartacei, ad esempio aerei, locomotive e macchinari, a organizzazioni esterne.
Il processo è consentito. Città e contea che consentono ai reparti di gestire documenti cartacei generati per consentire la segnalazione delle ispezioni. È possibile scattare una foto di diversi documenti di ispezione e identificare, classificare e cercare automaticamente in questi record.
Analizzare i planogrammi. Le aziende di vendita al dettaglio e dei beni di consumo gestiscono l'inventario e la conformità tramite l'analisi del planogramma degli scaffali dei negozi. È possibile scattare una foto di uno scaffale di un negozio ed estrarre informazioni sull'etichetta da diversi prodotti per identificare, classificare e quantificare automaticamente le informazioni sul prodotto.
Considerazioni
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Well-Architected Framework.
Affidabilità
L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.
Un carico di lavoro affidabile ha resilienza e disponibilità. 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à misura se gli utenti possono accedere al carico di lavoro quando necessario.
Per garantire affidabilità e disponibilità per gli endpoint OpenAI di Azure, è consigliabile usare un gateway API generativo per più distribuzioni o istanze di Azure OpenAI. Il servizio di bilanciamento del carico back-end supporta il bilanciamento del carico round robin, ponderato e basato su priorità. Questa funzionalità offre flessibilità per definire una strategia di distribuzione del carico OpenAI di Azure che soddisfi i requisiti specifici.
Per altre informazioni sull'affidabilità nei componenti della soluzione, vedere Informazioni sul contratto di servizio per i servizi online di Azure.
Ottimizzazione dei costi
L'ottimizzazione dei costi è incentrata sui modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.
I costi più significativi per questa architettura sono l'utilizzo dei token del modello OpenAI di Azure, l'elaborazione delle immagini di Document Intelligence e i requisiti di capacità dell'indice in Ricerca di intelligenza artificiale.
Per ottimizzare i costi:
Usare le unità elaborate con provisioning (PTU) e le prenotazioni dei servizi per risparmiare sui costi di intelligenza artificiale prevedibili invece del consumo basato su token.
Pianificare distribuzioni a livello di area e pianificazione operativa con scalabilità orizzontale in Ricerca di intelligenza artificiale.
Usare i prezzi del piano di impegno per Document Intelligence per gestire i costi prevedibili.
Usare i criteri relativi alla capacità riservata e al ciclo di vita per diritti degli account di archiviazione.
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. Con la maturità della soluzione, è possibile usare le prenotazioni del servizio app per ridurre i costi, se applicabile.
Prendere in considerazione i costi delle opportunità nell'architettura e bilanciare una strategia di vantaggio first-mover rispetto a una strategia di rapida adozione. Per stimare i costi iniziali e i costi operativi, usare il calcolatore dei prezzi.
Stabilire budget e controlli che impostano i limiti di costo per la soluzione. Per configurare gli avvisi relativi alle previsioni e ai costi effettivi, usare gli avvisi relativi al budget.
Efficienza delle prestazioni
L'efficienza delle prestazioni si riferisce alla capacità del carico di lavoro di ridimensionarsi per soddisfare in modo efficiente le esigenze degli utenti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.
Questa soluzione può esporre colli di bottiglia delle prestazioni quando si elaborano volumi elevati di dati. Per garantire una corretta efficienza delle prestazioni per la soluzione, assicurarsi di comprendere e pianificare le opzioni di ridimensionamento di Funzioni di Azure, la scalabilità automatica dei servizi di intelligenza artificiale e il partizionamento di Azure Cosmos DB.
Le PTU OpenAI di Azure offrono prestazioni e disponibilità garantite, insieme alle distribuzioni globali. Queste distribuzioni usano l'infrastruttura globale di Azure per instradare dinamicamente il traffico dei clienti al data center con la migliore disponibilità per le richieste di inferenza del cliente.
Collaboratori
Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.
Autore principale:
- Kevin Kraus | Principale specialista tecnico di Azure
Altri collaboratori:
- brian swiger | Principale specialista tecnico di Azure
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
Articoli introduttivi:
- Che cos'è l'archiviazione BLOB?
- Che cos'è il bus di servizio?
- Che cosa sono le funzioni durevoli?
- Che cos'è Azure AI Foundry?
- Che cos'è Azure OpenAI?
- Che cos'è Document Intelligence?
- Che cos'è la ricerca di intelligenza artificiale?
- Che cos'è l'archiviazione vettoriale di ricerca di intelligenza artificiale?
- Introduzione al servizio app
- Introduzione ad Azure Cosmos DB
Documentazione sui prodotti:
- Documentazione di Azure per tutti i prodotti
- Documentazione di Durable Functions
- Documentazione di OpenAI Azure
- Documentazione di Intelligence Documentale
- Documentazione di Ricerca intelligenza artificiale
- documentazione di Azure AI Foundry
- documentazione del kernel semantico