Automatisieren der Dokumentklassifizierung in Azure
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 AI Document Intelligence für die Dokumentteilung, die benannte Entitätserkennung (Entity Recognition, NER) und die Klassifizierung. Dokumentinhalte und Metadaten werden für die auf der Abruferweiterung (RAG) basierende Verarbeitung natürlicher Sprachen (Natural Language Processing, NLP) verwendet.
Aufbau
Laden Sie eine Visio-Datei dieser Architektur herunter.
Arbeitsablauf
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-Dateien (Tag Image File Format). Die Dokumentdatei wird in Azure Blob Storage (1a) gespeichert. Um die Pipelineverarbeitung zu initiieren, fügt die Web-App einer Azure Service Bus-Warteschlange (1b) eine Befehlsmeldung hinzu.
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 Einbettung Aktivitätsfunktion verwendet semantischen Kernel, um jedes Dokument zu blöcken und Einbettungen für jeden Block zu erstellen. Einbettungen und zugehörige Inhalte werden an Azure AI Search gesendet und in einem vektorfähigen Index gespeichert. 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.
Der semantische Kernel ruft Einbettungen aus dem KI-Suchvektorspeicher für NLP ab.
Benutzer können mit ihren Daten mithilfe von NLP chatten. Diese Unterhaltung wird durch geerdete Daten unterstützt, die aus dem Vektorspeicher abgerufen werden. Um Dokumentdatensätze nachzuschlagen, die sich in Azure Cosmos DB befinden, verwenden Benutzer Korrelations-IDs, die im Suchergebnissatz enthalten sind. 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 Nachricht in einer ServiceBus-Warteschlange eine dauerhafte Funktionsinstanz aus. Diese Instanz initiiert und koordiniert dann die Dokumentverarbeitungspipeline.
Azure Cosmos DB ist eine global verteilte Datenbank mit mehreren Modellen, die Sie in Ihren Lösungen verwenden können, um Durchsatz und Speicherkapazität für eine beliebige Anzahl geografischer Regionen zu 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.
Service Bus ist ein vollständig verwalteter Unternehmensnachrichtenbroker mit Nachrichtenwarteschlangen und Themen zum Veröffentlichen von Abonnements. Diese Architektur verwendet Service Bus, um dauerhafte Funktionsinstanzen auszulösen.
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 problemlos in Windows-basierten und Linux-basierten Umgebungen ausgeführt und skaliert werden. In dieser Architektur interagieren Benutzer mit dem Dokumentverarbeitungssystem über eine von App Service gehostete Web-App.
Dokumentintelligenz ist ein Dienst, mit dem Sie Erkenntnisse aus Ihren Dokumenten, Formularen und Bildern extrahieren können. Diese Architektur verwendet Document Intelligence, um die Dokumentdateien zu analysieren und die eingebetteten Dokumente zusammen mit Inhalts- und Metadateninformationen zu extrahieren.
DIE KI-Suche bietet eine umfassende Sucherfahrung für private, vielfältige Inhalte in Web-, Mobilen- und Unternehmensanwendungen. Diese Architektur verwendet AI Search-Vektorspeicher zum Indizieren von Einbettungen der extrahierten Dokumentinhalte und Metadateninformationen, damit Benutzer Dokumente mithilfe von NLP durchsuchen und abrufen können.
semantischen Kernel- ist ein Framework, mit dem Sie große Sprachmodelle (LLMs) in Ihre Anwendungen integrieren können. Diese Architektur verwendet den semantischen Kernel, um Einbettungen für die Dokumentinhalte und Metadateninformationen zu erstellen, die in der KI-Suche gespeichert werden.
Azure OpenAI Service bietet Zugriff auf die leistungsstarken Modelle von OpenAI. Diese Architektur verwendet Azure OpenAI, um benutzern eine natürliche Sprachschnittstelle für die Interaktion mit dem Dokumentverarbeitungssystem bereitzustellen.
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.
Um dauerhafte Funktioneninstanzen auszulösen, können Sie andere Messagingplattformen verwenden, einschließlich Azure Event Grid.
Der semantische Kernel ist eine von mehreren Optionen zum Erstellen von Einbettungen. Sie können auch Azure Machine Learning oder Azure AI-Dienste verwenden, um Einbettungen zu erstellen.
Um eine natürliche Sprachschnittstelle für Benutzer bereitzustellen, können Sie andere Sprachmodelle in Azure AI Foundry verwenden. Die Plattform unterstützt verschiedene Modelle verschiedener Anbieter, darunter Mistral, Meta, Cohere und Hugging Face.
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 Massen scannen und die mehrere verschiedene Dokumenttypen enthalten, z. B. PDFs oder TIFF-Bilder mit mehreren Seiten. Diese Dokumente stammen möglicherweise von außerhalb der Organisation und das empfangende Unternehmen hat keine Kontrolle über das Format.
Aufgrund dieser Einschränkungen müssen Organisationen eigene Dokumentanalyselösungen erstellen, die benutzerdefinierte Technologie und manuelle Prozesse enthalten 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.
NLP ermöglicht Benutzern die Interaktion mit dem System auf unterhaltungsgerechte Weise. Benutzer können Fragen zu den Dokumenten stellen und Antworten basierend auf dem Inhalt der Dokumente erhalten.
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.
Analysieren Sie Planogramme. Einzelhandels- und Konsumgüterunternehmen verwalten Bestands- und Compliance durch die Analyse von Lagerregalplanogrammen. Sie können ein Bild von einem Lagerregal aufnehmen und Etiketteninformationen aus unterschiedlichen Produkten extrahieren, um die Produktinformationen automatisch zu identifizieren, zu klassifizieren und zu quantifizieren.
Überlegungen
Diese Überlegungen bilden die Säulen des Azure Well-Architected Framework, einer Reihe von Leitprinzipien, die Sie zur Verbesserung der Qualität eines Workloads verwenden können. Weitere Informationen finden Sie unter Well-Architected Framework.
Zuverlässigkeit
Zuverlässigkeit trägt dazu bei, dass Ihre Anwendung die Verpflichtungen erfüllen kann, die Sie für Ihre Kunden vornehmen. 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.
Um Zuverlässigkeit und Verfügbarkeit für Azure OpenAI-Endpunkte zu gewährleisten, sollten Sie ein generatives API-Gateway für mehrere Azure OpenAI-Bereitstellungen oder Instanzen verwenden. Der Back-End-Lastenausgleich unterstützt Roundrobin-, gewichtete und prioritätsbasierte Lastenausgleichs.The back-end load balancer supports round-robin, weighted, and priority-based load balancing. Mit diesem Feature können Sie eine Azure OpenAI-Lastenverteilungsstrategie definieren, die Ihren spezifischen Anforderungen entspricht.
Weitere Informationen zur Zuverlässigkeit in Lösungskomponenten finden Sie unter SLA-Informationen für Azure-Onlinedienste.
Kostenoptimierung
Die Kostenoptimierung konzentriert sich auf Möglichkeiten, unnötige Ausgaben zu reduzieren und die betriebliche Effizienz zu verbessern. Weitere Informationen finden Sie unter Erstellen einer Checkliste zur Überprüfung der Kostenoptimierung.
Die wichtigsten Kosten für diese Architektur sind die Verwendung von Azure OpenAI-Modelltoken, die Dokumentintelligenz-Bildverarbeitung und die Indexkapazitätsanforderungen in AI Search.
Zur Kostenoptimierung:
Verwenden Sie bereitgestellte Durchsatzeinheiten (PTUs) und Dienstreservierungen für vorhersehbare KI-Kosteneinsparungen anstelle der tokenbasierten Nutzung.
Planen Sie regionale Bereitstellungen und die betriebliche Skalierungsplanung in AI Search.
Verwenden Sie die Preisgestaltung der Verpflichtungsstufe für Document Intelligence, um vorhersehbare Kosten zu verwalten.
Verwenden Sie reservierte Kapazitäts- und Lebenszyklusrichtlinien zum Rechteisieren von Speicherkonten.
Verwenden Sie die Pay-as-You-Go-Strategie für Ihre Architektur und skalieren Sie nach Bedarf, anstatt zu Beginn in große Ressourcen zu investieren. Wenn Ihre Lösung reift, können Sie App Service-Reservierungen verwenden, um die Kosten ggf. zu reduzieren.
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 bezieht sich auf die Fähigkeit Ihrer Workload, die Anforderungen der Benutzer effizient zu erfüllen. 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. Stellen Sie sicher, dass Sie die Skalierungsoptionen von Azure Functions, die automatische Skalierung von AI-Diensten und die Azure Cosmos DB-Partitionierung verstehen und planen, um eine ordnungsgemäße Leistungseffizienz für Ihre Lösung sicherzustellen.
Azure OpenAI PTUs bieten eine garantierte Leistung und Verfügbarkeit sowie globale Bereitstellungen. Diese Bereitstellungen verwenden die globale Azure-Infrastruktur, um den Kundendatenverkehr dynamisch an das Rechenzentrum weiterzuleiten, das über die beste Verfügbarkeit für die Rückschlussanforderungen des Kunden verfügt.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautor:
- Kevin Kraus | Principal Azure Technical Specialist
Andere Mitwirkende:
- Brian Swiger | Principal Azure Technical Specialist
Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.
Nächste Schritte
Einführungsartikel:
- Was ist Blob Storage?
- Was ist ServiceBus?
- Was sind Durable Functions?
- Was ist Azure AI Foundry?
- Was ist Azure OpenAI?
- Was ist Dokument Intelligenz?
- Was ist KI-Suche?
- Was ist KI-Suchvektorspeicher?
- Erste Schritte mit App Service
- Einführung in Azure Cosmos DB
Produktdokumentation:
- Azure-Dokumentation für alle Produkte
- Dokumentation zu Durable Functions
- Was ist Azure OpenAI Service?
- Dokumentation zur Dokumentintelligenz
- KI-Suchdokumentation
- Azure AI Foundry-Dokumentation
- Dokumentation zum semantischen Kernel