In diesem Artikel wird eine Architektur beschrieben, mit der Sie unterschiedliche Dokumente verarbeiten können. Die Architektur verwendet das Durable Functions-Feature von Azure Functions, um Pipelines zu implementieren. Die Pipelines verarbeiten Dokumente über Azure KI Dokument Intelligenz.
Aufbau
Laden Sie eine Visio-Datei dieser Architektur herunter.
Workflow
Ein Benutzer lädt eine Dokumentdatei in eine Web-App hoch. Die Datei enthält mehrere eingebettete Dokumente verschiedener Typen, z. B. PDF- oder TIFF (Tag Image File Format)-Dateien mit mehreren Seiten. Die Dokumentdatei wird in Azure Blob Storage (1a) gespeichert. Die Web-App fügt einer Speicherwarteschlange (1b) eine Befehlsmeldung hinzu, um die Pipelineverarbeitung zu initiieren.
Die Befehlsmeldung löst die Durable Functions-Orchestrierung aus. Die Meldung enthält Metadaten, die den Speicherort der zu verarbeitenden Dokumentdatei in Blob Storage angeben. Jede Durable Functions-Instanz verarbeitet nur eine Dokumentdatei.
Die Aktivitätsfunktion analyze ruft die Document Intelligence Analyze Document-API auf, die den Speicherort der zu verarbeitenden Dokumentdatei übergibt. Die Analysefunktion liest und identifiziert jedes Dokument in der Dokumentdatei. Diese Funktion gibt Name, Typ, Seitenbereiche und Inhalt jedes eingebetteten Dokuments an die Orchestrierung zurück.
Die Aktivitätsfunktion Metadatenspeicher speichert die Informationen zu Dokumenttyp und Seitenbereich in einem Azure Cosmos DB-Speicher.
Die Aktivitätsfunktion Indizierung erstellt ein neues Suchdokument in Azure KI-Suche für jedes Dokument. In dem Suchdokument verwendet diese Funktion die KI-Suchbibliotheken für .NET, um die vollständigen Ergebnisse der optischen Zeichenerkennung (OCR) und Dokumentinformationen einzuschließen. Außerdem wird dem Suchdokument eine Korrelations-ID hinzugefügt, damit die Suchergebnisse mit den entsprechenden Dokumentmetadaten aus Azure Cosmos DB abgeglichen werden können.
Benutzer können anhand von Inhalten und Metadaten nach Dokumenten suchen. Korrelations-IDs im Ergebnissatz der Suche können verwendet werden, um Dokumentdatensätze in Azure Cosmos DB zu suchen. Die Datensätze enthalten Links zur ursprünglichen Dokumentdatei in Blob Storage.
Komponenten
Durable Functions ist ein Feature von Azure Functions, mit dem Sie zustandsbehaftete Funktionen in einer serverlosen Compute-Umgebung schreiben können. In dieser Architektur löst eine Meldung in einer Speicherwarteschlange eine Durable Functions-Instanz aus, die die Dokumentverarbeitungspipeline initiiert und koordiniert.
Azure Cosmos DB ist eine global verteilte Datenbank mit mehreren Modellen. Hiermit können Ihre Lösungen Durchsatz und Speicherkapazität für eine beliebige Zahl von geographischen Regionen skalieren. Durchsatz, Wartezeit, Verfügbarkeit und Konsistenz können mithilfe umfassender Vereinbarungen zum Servicelevel (Service Level Agreements, SLAs) garantiert werden. Diese Architektur verwendet Azure Cosmos DB als Metadatenspeicher für die Informationen zur Dokumentklassifizierung.
Bei Azure Storage handelt es sich um eine Reihe hochgradig skalierbarer und sicherer Clouddienste für Daten, Apps und Workloads. Dazu gehören Blob Storage, Azure Files, Azure Table Storage und Azure Queue Storage. Diese Architektur verwendet Blob Storage, um die Dokumentdateien zu speichern, die der Benutzer hochlädt, und die die Durable Functions-Pipeline verarbeitet.
Azure App Service stellt ein Framework zum Erstellen, Bereitstellen und Skalieren von Web-Apps bereit. Das Feature Web-Apps von App Service ist ein HTTP-basiertes Tool zum Hosten von Webanwendungen, REST-APIs und mobilen Back-Ends. Mit Web-Apps können Sie in .NET, .NET Core, Java, Ruby, Node.js, PHP oder Python entwickeln. Anwendungen können in Windows- und Linux-basierten Umgebungen einfach ausgeführt und skaliert werden. In dieser Architektur interagieren Benutzer mit dem Dokumentverarbeitungssystem über eine von App Service gehostete Web-App.
AI Document Intelligence ist ein Dienst, mit dem Sie Erkenntnisse aus Ihren Dokumenten, Formularen und Bildern extrahieren können. Diese Architektur verwendet AI Document Intelligence, um die Dokumentdateien zu analysieren und die eingebetteten Dokumente zusammen mit Inhalts- und Metadateninformationen zu extrahieren.
AI Search stellt eine umfangreiche Suchbenutzeroberfläche für private, heterogene Inhalte in Web-, Mobil- und Unternehmensanwendungen bereit. Diese Architektur verwendet AI Search, um die extrahierten Dokumentinhalte und Metadateninformationen zu indizieren, damit Benutzer Dokumente durchsuchen und abrufen können.
Alternativen
Diese Lösung speichert Metadaten in Azure Cosmos DB, um die globale Verteilung zu erleichtern. Azure SQL Database ist eine weitere Option zum dauerhaften Speichern von Dokumentmetadaten und -informationen.
Zum Auslösen von Durable Functions-Instanzen können Sie andere Messagingplattformen verwenden, darunter Azure Service Bus.
Szenariodetails
In dieser Architektur identifizieren die Pipelines die Dokumente in einer Dokumentdatei, klassifizieren sie nach Typ und speichern Informationen, die bei der nachfolgenden Verarbeitung verwendet werden können.
Viele Unternehmen müssen Dokumente verwalten und verarbeiten, die sie in großen Mengen einscannen, und die unterschiedliche Dokumenttypen enthalten, z. B. PDFs oder mehrseitige TIFF-Bilder. Diese Dokumente stammen möglicherweise von außerhalb der Organisation und das empfangende Unternehmen hat keine Kontrolle über das Format.
Angesichts dieser Einschränkungen müssen Organisationen eigene Dokumentanalyselösungen erstellen, die benutzerdefinierte Technologie und manuelle Prozesse beinhalten können. Beispielsweise könnte jemand einzelne Dokumenttypen manuell trennen und Klassifizierungsqualifizierer für jedes Dokument hinzufügen.
Viele dieser benutzerdefinierten Lösungen basieren auf dem Workflowmuster des Zustandsautomaten. Die Lösungen verwenden Datenbanksysteme, um den Workflowstatus beizubehalten, und Abrufdienste, die nach den Zuständen suchen, die sie verarbeiten müssen. Die Pflege und Verbesserung dieser Lösungen kann Komplexität und Aufwand erheblich erhöhen.
Organisationen benötigen zuverlässige, skalierbare und resiliente Lösungen für die Verarbeitung und Verwaltung der Dokumentidentifikation und -klassifizierung für die Dateitypen, die sie verwenden. Diese Lösung kann Tag für Tag Millionen von Dokumenten mit vollständigem Einblick in den Erfolg oder Misserfolg der Verarbeitungspipeline verarbeiten.
Mögliche Anwendungsfälle
Diese Lösung bietet Folgendes:
Berichtstitel. Viele Regierungsbehörden und Gemeinden verwalten Papierunterlagen, die noch nicht in digitalen Formaten vorliegen. Eine effektive automatisierte Lösung kann eine Datei generieren, die alle Dokumente enthält, die zum Erfüllen einer Dokumentanforderung erforderlich sind.
Verwalten von Wartungsaufzeichnungen. Möglicherweise müssen Sie Papierdatensätze, z. B. Wartungsunterlagen für Flugzeuge, Lokomotiven oder Maschinen, einscannen und an externe Organisationen senden.
Verarbeiten von Genehmigungen. Die für die Erteilung von Genehmigungen zuständigen Abteilungen von Städten und Gemeinden führen immer noch Papierdokumente, die für Prüfberichte für Genehmigungen erstellt werden. Sie können Bildaufnahmen unterschiedlicher Prüfdokumente erstellen und diese Datensätze automatisch identifizieren, klassifizieren und durchsuchen lassen.
Überlegungen
Diese Überlegungen beruhen auf den Säulen des Azure Well-Architected Frameworks, d. h. einer Reihe von Grundsätzen, mit denen die Qualität von Workloads verbessert werden kann. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.
Zuverlässigkeit
Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Zuverlässigkeit.
Zuverlässige Workloads sind sowohl robust als auch verfügbar. Resilienz ist die Fähigkeit des Systems, nach Systemausfällen eine Wiederherstellung auszuführen und die Funktionsfähigkeit sicherzustellen. Das Ziel der Resilienz besteht darin, nach einem Ausfall wieder die volle Funktionsfähigkeit einer Anwendung herzustellen. Die Verfügbarkeit misst, inwieweit Ihre Benutzer bei Bedarf jederzeit auf Ihre Workloads Zugriff haben.
Informationen zur Zuverlässigkeit von Lösungskomponenten finden Sie unter SLA-Informationen für Azure-Onlinedienste.
Kostenoptimierung
Bei der Kostenoptimierung geht es um die Suche nach Möglichkeiten, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.
Die größten Kostenfaktoren bei dieser Architektur sind die Speicherung von Bildern im Speicherkonto, die Verarbeitung des Azure KI Services-Images und die Anforderungen an die Indexkapazität im KI-Suche-Dienst.
Zur Kostenoptimierung:
Verwenden Sie reservierte Kapazität und Lebenszyklusrichtlinien zur korrekten Dimensionierung von Speicherkonten.
Planen Sie regionale Bereitstellungen und die betriebliche Skalierungsplanung in AI Search.
Verwenden Sie Mindestabnahme-Preise für AI Document Intelligence zur Beherrschung vorhersagbarer Kosten.
Nutzen Sie für Ihre Architektur die Strategie mit nutzungsbasierter Bezahlung, und skalieren Sie nach Bedarf auf, anstatt bereits zu Beginn in umfangreiche Ressourcen zu investieren.
Berücksichtigen Sie Opportunitätskosten Ihrer Architektur, und wägen Sie die Vor- und Nachteile ab, die eine Position als Vorreiter oder Nachahmer jeweils mit sich bringt. Nutzen Sie den Preisrechner, um die Vorab- und Betriebskosten zu schätzen.
Richten Sie Budgets und Kontrollen ein, um die Kosten für Ihre Lösung zu begrenzen. Verwenden Sie Budget-Alarme für Prognose- und Ist-Kosten-Warnungen.
Effiziente Leistung
Die Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Leistungseffizienz.
Wenn Sie große Datenvolumina verarbeiten, kann es bei dieser Lösung zu Leistungsengpässen kommen. Um die korrekte Leistungseffizienz für Ihre Lösung zu gewährleisten, stellen Sie sicher, dass Sie die Azure Functions-Skalierungsoptionen, die automatische Azure KI Services-Skalierung und die Azure Cosmos DB-Partitionierung gut verstehen und entsprechend planen.
Beitragende
Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:
Hauptautor:
- Kevin Kraus | Principal Azure Technical Specialist
Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.
Nächste Schritte
Einführungsartikel:
- Einführung in Azure Storage
- Was sind Durable Functions?
- Was sind Azure AI Services?
- Was ist KI Dokument Intelligenz?
- Was ist Azure KI Search?
- App Service: Übersicht
- Einführung in Azure Cosmos DB
- Was ist Azure Service Bus?
Produktdokumentation:
- Azure-Dokumentation für alle Produkte
- Dokumentation zu Durable Functions
- Dokumentation zu Azure KI Services
- Dokumentation zu AI Search