Redigera

Dela via


Automatisera bearbetning av PDF-formulär

Azure AI-dokumentinformation
Azure AI services
Azure Logic Apps
Azure Functions

Den här artikeln beskriver en Azure-arkitektur som du kan använda för att ersätta kostsamma och oflexibla formulärbearbetningsmetoder med kostnadseffektiv och flexibel automatiserad PDF-bearbetning.

Arkitektur

Diagram över arkitekturen för bearbetning av PDF-formulär

Ladda ned en PowerPoint-fil med den här arkitekturen.

Arbetsflöde

  1. Ett särskilt Outlook-e-postkonto tar emot PDF-filer som bifogade filer. När ett e-postmeddelande kommer utlöses en logikapp för att bearbeta e-postmeddelandet. Logikappen skapas med hjälp av funktionerna i Azure Logic Apps.
  2. Logikappen laddar upp PDF-filerna till en container i Azure Data Lake Storage.
  3. Du kan också ladda upp PDF-filer manuellt eller programmatiskt till samma PDF-container.
  4. Ankomsten av en PDF-fil i PDF-containern utlöser en annan logikapp för att bearbeta PDF-formulären som finns i PDF-filen.
  5. Logikappen skickar platsen för PDF-filen till en funktionsapp för bearbetning. Funktionsappen skapas med hjälp av funktionerna i Azure Functions.
  6. Funktionsappen tar emot filens plats och vidtar följande åtgärder:
    1. Filen delas upp i enstaka sidor om filen har flera sidor. Varje sida innehåller ett oberoende formulär. Delade filer sparas i en andra container i Data Lake Storage.
    2. Den använder HTTPS POST, ett Azure REST API, för att skicka platsen för ensides-PDF-filen till AI Document Intelligence för bearbetning. När Azure AI Document Intelligence slutför bearbetningen skickar den ett svar tillbaka till funktionsappen, som placerar informationen i en datastruktur.
    3. Den skapar en JSON-datafil som innehåller svarsdata och lagrar filen till en tredje container i Data Lake Storage.
  7. Logikappen för formulärbearbetning tar emot bearbetade svarsdata.
  8. Logikappen för formulärbearbetning skickar bearbetade data till Azure Cosmos DB, vilket sparar data i en databas och i samlingar.
  9. Power BI hämtar data från Azure Cosmos DB och tillhandahåller insikter och instrumentpaneler.
  10. Du kan implementera ytterligare bearbetning efter behov på de data som finns i Azure Cosmos DB.

Komponenter

  • Azure AI Document Intelligence, en molnbaserad tjänst som gör att du kan skapa intelligenta lösningar för dokumentbearbetning. Den använder avancerad maskininlärning för att extrahera text, nyckel/värde-par, tabeller och strukturer från dokument automatiskt och korrekt. I den här arkitekturen är det den intelligenta dokumentbearbetningstjänsten som används för att extrahera information från PDF-dokument.
  • Azure Logic Apps är en serverlös molntjänst för att skapa och köra automatiserade arbetsflöden som integrerar appar, data, tjänster och system. I den här arkitekturen används den som orkestrator för att samordna användarens indata, dokumentlagring, dokumentbearbetning, lagring av resultaten och analys av de bearbetade dokumenten.
  • Azure Functions är en serverlös lösning som gör det möjligt för dig att skriva mindre kod, underhålla mindre infrastruktur och spara på kostnaderna. I den här arkitekturen är det serverdelstjänsterna som konfigurerar indata för att använda Azure AI Document Intelligence-och lagra utdata.
  • Azure Data Lake Storage är grunden för att skapa företagsdatasjöar i Azure. I den här arkitekturen används den för att lagra pdf-rådokument, maskininlärningsresultat och bearbetade utdata.
  • Azure Cosmos DB är en fullständigt hanterad NoSQL och relationsdatabas för modern apputveckling. I den här arkitekturen används den för att lagra de extraherade insikterna från varje PDF-dokument. Informationen används av Power BI- för att skapa insikter.
  • Power BI är en samling programvarutjänster, appar och anslutningsappar som fungerar tillsammans så att du kan omvandla dina orelaterade datakällor till sammanhängande, visuellt uppslukande och interaktiva insikter. I den här arkitekturen används den för att analysera resultatet av dokumentbearbetningen.

Alternativ

  • I stället för att använda Power BI-kan du använda Microsoft Fabric- för att mata in bearbetade utdata till en Lakehouse och sedan utföra ytterligare analys och bearbetning av utdata.

Information om scenario

Formulärbearbetning är ofta en viktig affärsfunktion. Många företag förlitar sig fortfarande på manuella processer som är kostsamma, tidskrävande och felbenägna. Att ersätta manuella processer minskar kostnader och risker och gör ett företag mer agilt.

Den här artikeln beskriver en arkitektur som du kan använda för att ersätta manuell PDF-formulärbearbetning eller kostsamma äldre system som automatiserar BEARBETNING av PDF-formulär. Azure AI Document Intelligence bearbetar PDF-formulären, Logic Apps tillhandahåller arbetsflödet och Functions tillhandahåller databehandlingsfunktioner.

Information om distribution finns i Distribuera det här scenariot i den här artikeln.

Potentiella användningsfall

Lösningen som beskrivs i den här artikeln kan bearbeta många typer av formulär, inklusive:

  • Fakturor och betalningsposter
  • Inköpsorder
  • Säkerhets-, incident- och efterlevnadsposter
  • Formulär för hälsoscreening
  • Formulär för kundfeedback
  • Poster för medarbetare
  • Akademiska artiklar och forskningsrapporter
  • Dokument med handskrivna anteckningar
  • Anpassade dokument från din domän

Att tänka på

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, en uppsättning vägledande grundsatser som du kan använda för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.

Tillförlitlighet

Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden som du gör gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.

En tillförlitlig arbetsbelastning är en arbetsbelastning som är både elastisk och tillgänglig. Återhämtning är systemets förmåga att återställa från fel och fortsätta att fungera. Målet med återhämtning är att kunna återställa programmet till ett fullt fungerande tillstånd efter fel. Tillgänglighet är ett mått på om dina användare kan komma åt din arbetsbelastning när de behöver det.

Den här arkitekturen är avsedd som en startarkitektur som du snabbt kan distribuera och prototypa för att tillhandahålla en affärslösning. Om prototypen lyckas kan du utöka och förbättra arkitekturen om det behövs för att uppfylla ytterligare krav.

Den här arkitekturen använder skalbar och elastisk Azure-infrastruktur och -teknik. Azure Cosmos DB har till exempel inbyggd redundans och global täckning som du kan konfigurera för att uppfylla dina behov.

Information om tillgänglighetsgarantier för De Azure-tjänster som den här lösningen använder finns i Servicenivåavtal (SLA) för onlinetjänster.

Säkerhet

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.

Outlook-e-postkontot som används i den här arkitekturen är ett dedikerat e-postkonto som tar emot PDF-formulär som bifogade filer. Det är bra att begränsa avsändare till betrodda parter och förhindra skadliga aktörer från att skicka skräppost till e-postkontot.

Implementeringen av den här arkitekturen som beskrivs i Distribuera det här scenariot vidtar följande åtgärder för att öka säkerheten:

  • PowerShell- och Bicep-distributionsskripten använder Azure Key Vault för att lagra känslig information så att den inte visas på terminalskärmar eller lagras i distributionsloggar.
  • Hanterade identiteter tillhandahåller en automatiskt hanterad identitet i Microsoft Entra-ID som program kan använda när de ansluter till resurser som stöder Microsoft Entra-autentisering. Funktionsappen använder hanterade identiteter så att koden inte är beroende av enskilda huvudnamn och inte innehåller känslig identitetsinformation.

Kostnadsoptimering

Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.

Här följer några riktlinjer för att optimera kostnaderna:

  • Använd strategin betala per användning för din arkitektur och skala ut efter behov i stället för att investera i storskaliga resurser i början.
  • Implementeringen av arkitekturen som beskrivs i Distribuera det här scenariot distribuerar en startlösning som är lämplig för konceptbevis. Distributionsskripten skapar en fungerande arkitektur med minimala resurskrav. Distributionsskripten skapar till exempel en minsta serverlös Linux-värd för att köra funktionsappen.

Prestandaeffektivitet

Prestandaeffektivitet är arbetsbelastningens förmåga att skala på ett effektivt sätt för att uppfylla de krav som användarna ställer på den. Mer information finns i Checklista för designgranskning för prestandaeffektivitet.

Den här arkitekturen använder tjänster som har inbyggda skalningsfunktioner som du kan använda för att förbättra prestandaeffektiviteten. Nedan följer några exempel:

Distribuera det här scenariot

Du kan distribuera en rudimentär version av den här arkitekturen och använda den som utgångspunkt för att distribuera din egen lösning. Lagringsplatsen innehåller kod, distributionsskript och en distributionsguide.

Exemplet tar emot PDF-formulären, extraherar datafälten och sparar data i Azure Cosmos DB. Power BI visualiserar data. Designen använder en modulär, metadatadriven metodik. Inga formulärfält är hårdkodade. Det kan bearbeta alla PDF-formulär.

Du kan använda lagringsplatsen som den är, utan kodändring, för att bearbeta och visualisera pdf-formulär på en enda sida, till exempel säkerhetsformulär, fakturor, incidentposter och många andra. Om du vill använda den behöver du bara samla in PDF-exempelformulär, träna en ny modell för att lära dig formulärens layout och ansluta modellen till lösningen. Du måste också göra om Power BI-rapporten för dina datauppsättningar så att den ger de insikter du vill ha.

Implementeringen använder Azure AI Document Intelligence Studio för att skapa anpassade modeller. Exemplet använder fältnamnen som sparas i maskininlärningsmodellen som referens för att bearbeta andra formulär. Endast fem exempelformulär behövs för att skapa en anpassad maskininlärningsmodell. Du kan sammanfoga så många som 100 anpassade modeller för att skapa en sammansatt maskininlärningsmodell som kan bearbeta en mängd olika former.

Distributionslagringsplats

Koden för det här exemplet finns i Azure PDF Form Processing Automation Solution GitHub-lagringsplats. Följ distributionsguiden på lagringsplatsen.

Att tänka på vid distribuering

Om du vill bearbeta en ny typ av PDF-formulär använder du PDF-exempelfiler för att skapa en ny maskininlärningsmodell. När modellen är klar ansluter du modell-ID:t till lösningen.

Det här containernamnet kan konfigureras i de distributionsskript som du får från GitHub-lagringsplatsen.

Arkitekturen hanterar inte krav på hög tillgänglighet (HA) eller haveriberedskap (DR). Om du vill utöka och förbättra den aktuella arkitekturen för produktionsdistribution bör du överväga följande rekommendationer och metodtips:

  • Utforma HA/DR-arkitekturen baserat på dina krav och använd de inbyggda redundansfunktionerna i förekommande fall.
  • Uppdatera Bicep-distributionskoden för att skapa en databehandlingsmiljö som kan hantera dina bearbetningsvolymer.
  • Uppdatera Bicep-distributionskoden för att skapa fler instanser av arkitekturkomponenterna för att uppfylla dina HA/DR-krav.
  • Följ riktlinjerna i Azure Storage-redundans när du utformar och etablerar lagring.
  • Följ riktlinjerna i Affärskontinuitet och haveriberedskap när du utformar och etablerar logikapparna.
  • Följ riktlinjerna i Tillförlitlighet i Azure Functions när du utformar och etablerar funktionsappen.
  • Följ riktlinjerna i Uppnå hög tillgänglighet med Azure Cosmos DB när du utformar och etablerar en databas som har skapats med hjälp av Azure Cosmos DB.
  • Om du funderar på att sätta det här systemet i produktion för att bearbeta stora mängder PDF-formulär kan du ändra distributionsskripten för att skapa en Linux-värd som har fler resurser. Det gör du genom att ändra koden i deploy-functionsapp.bicep

Deltagare

Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.

Huvudförfattare:

Övriga medarbetare:

Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.

Nästa steg