Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird eine Architektur beschrieben, die verschiedene Dokumente verarbeitet. Die Architektur verwendet das Durable Functions-Feature von Azure Functions, um Pipelines zu implementieren. Die Pipelines verarbeiten Dokumente über Azure Document Intelligence in Foundry Tools für die Dokumentteilung, die benannte Entitätserkennung (Entity Recognition, NER) und die Klassifizierung. Die auf der Abruferweiterung basierende Verarbeitung natürlicher Sprachen (Natural Language Processing, NLP) verwendet Dokumentinhalte und Metadaten, um relevante Informationen zu finden und zu generieren.
Aufbau
Laden Sie eine Visio-Datei dieser Architektur herunter.
Arbeitsablauf
Der folgende Workflow entspricht dem vorherigen Diagramm:
Ein Benutzer lädt eine Dokumentdatei in eine Web-App hoch. Die Datei enthält mehrere eingebettete Dokumente verschiedener Typen, wie PDF- oder mehrseitige Tag Image File Format (TIFF)-Dateien. Azure Blob Storage speichert die Dokumentdatei (1a). 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 Nachricht enthält Metadaten, die den BlobSpeicherort der zu verarbeitenden Dokumentdatei identifizieren. Jede Durable Functions-Instanz verarbeitet nur eine Dokumentdatei.
Die Analyseaktivitätsfunktion ruft die Document Intelligence Analyze Document API auf, die den Speicherort der Dokumentdatei an die Verarbeitung ü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. Die Funktion sendet die Einbettungen und zugehörigen Inhalte an Azure AI Search und speichert sie in einem vektorfähigen Index. Die Funktion fügt dem Suchdokument auch eine Korrelations-ID hinzu, sodass die Suchergebnisse den entsprechenden Dokumentmetadaten von Azure Cosmos DB entsprechen.
Der semantische Kernel ruft Einbettungen aus dem KI-Suchvektorspeicher für NLP ab.
Benutzer können mit ihren Daten mithilfe von NLP chatten. Aus dem Vektorspeicher abgerufene verankerte Daten unterstützen dieses Gespräch. Um Dokumentdatensätze in Azure Cosmos DB nachzuschlagen, 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 den Durchsatz und die Speicherkapazität über eine beliebige Anzahl geografischer Regionen hinweg skalieren kann. Umfassende Service-Level-Vereinbarungen (SLAs) garantieren Durchsatz, Wartezeit, Verfügbarkeit und Konsistenz. In dieser Architektur dient Azure Cosmos DB als Metadatenspeicher für die Dokumentklassifizierungsinformationen.
Azure Storage ist eine Reihe skalierbarer und sicherer Clouddienste für Daten, Apps und Workloads. Dazu gehören Blob Storage, Azure Files, Azure Table Storage und Azure Queue Storage. In dieser Architektur speichert das Blob Storage die Dokumentdateien, die Benutzer hochladen und die die Pipeline der dauerhaften Funktionen verarbeitet.
Service Bus ist ein verwalteter Unternehmensnachrichtenbroker mit Nachrichtenwarteschlangen und Publish-Subscribe-Topics. In dieser Architektur aktiviert der Service Bus dauerhafte Funktionsinstanzen.
Azure App Service stellt ein Framework zum Erstellen, Bereitstellen und Skalieren von Web-Apps bereit. Das Web-Apps-Feature von App Service ist ein HTTP-basiertes Tool, das Webanwendungen, REST-APIs und mobile Back-Ends hostt. Sie können Web Apps zum Entwickeln in .NET, .NET Core, Java, Ruby, Node.js, PHP oder Python verwenden. Anwendungen können 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.
Document Intelligence ist ein Dienst, der Erkenntnisse aus Ihren Dokumenten, Formularen und Bildern extrahiert. Diese Architektur verwendet Document Intelligence, um die Dokumentdateien zu analysieren und die eingebetteten Dokumente zusammen mit Inhalts- und Metadateninformationen zu extrahieren.
AI Search bietet eine Sucherfahrung für private, vielfältige Inhalte in Web-, Mobilen- und Unternehmensanwendungen. In dieser Architektur indexiert der KI-Suchvektorspeicher Einbettungen der extrahierten Dokumentinhalte und Metadateninformationen, sodass Benutzer Dokumente mithilfe von NLP durchsuchen und abrufen können.
Der semantische Kernel ist ein Framework, das große Sprachmodelle (LLMs) in Anwendungen integriert. In dieser Architektur erstellt der semantische Kernel Einbettungen für die Dokumentinhalte und Metadateninformationen, die in der KI-Suche gespeichert werden.
Microsoft Foundry ist eine Plattform, die Sie zum Erstellen, Testen und Bereitstellen von KI-Lösungen und -Modellen als Dienst (MaaS) verwenden. In dieser Architektur stellt Foundry ein Azure OpenAI-Modell bereit.
Foundry-Projekte sind spezielle Arbeitsbereiche, mit denen Sie Verbindungen zu Datenquellen herstellen, Agents definieren und bereitgestellte Modelle aufrufen können, einschließlich Azure OpenAI-Modelle. Diese Architektur hat ein einzelnes Foundry-Projekt im Foundry-Account.
Foundry Models ist eine Plattform, die Flaggschiffmodelle, einschließlich OpenAI-Modellen, aus dem Azure AI-Katalog in einer von Microsoft gehosteten Umgebung bereitstellt. Bei diesem Ansatz wird die MaaS-Bereitstellung verwendet. Diese Architektur stellt Modelle mithilfe der Global Standard-Konfiguration mit einem festen Kontingent bereit.
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.
Anstelle des semantischen Kernels können Sie Azure Machine Learning - oder Foundry-Modelle verwenden, um Einbettungen zu erstellen.
Sie können das Microsoft Agent Framework anstelle des semantischen Kernels verwenden, um die Workflows zu koordinieren.
Um eine Natürliche Sprachschnittstelle für Benutzer bereitzustellen, können Sie andere Sprachmodelle in Foundry verwenden. Die Plattform unterstützt verschiedene Modelle verschiedener Anbieter, darunter Mistral, Meta, Cohere und Hugging Face.
Szenario-Details
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 mehrere verschiedene Dokumenttypen enthalten, z. B. PDF-Dateien 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 kann jemand einzelne Dokumenttypen manuell trennen und Klassifizierungsqualifizierer für jeden Dokumenttyp hinzufügen.
Viele dieser benutzerdefinierten Lösungen basieren auf dem Workflowmuster des Zustandsautomaten. Die Lösungen verwenden Datenbanksysteme, um den Workflow-Status zu persistieren, und nutzen Polling-Dienste, die nach 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
Generieren Sie 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. Scannen und senden Sie Papieraufzeichnungen wie Flugzeuge, Lokomotiven und Maschinenwartungsaufzeichnungen an externe Organisationen.
Prozessgenehmigungen. 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 Bestände und die Einhaltung von Vorschriften durch die Analyse von Regalplanogrammen. Sie können ein Bild von einem Lagerregal aufnehmen und Etiketteninformationen aus verschiedenen 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.
Um die Zuverlässigkeit und hohe Verfügbarkeit sicherzustellen, wenn Sie Modelle aus Foundry-Projekten aufrufen, die OpenAI-Modelle verwenden, die in Azure gehostet werden, sollten Sie ein generatives API-Gateway wie Azure API Management verwenden. Dieser Ansatz verwaltet Anforderungen über mehrere Modellbereitstellungen oder Foundry-Endpunkte hinweg. Das Azure-Back-End-Gateway unterstützt Roundrobin-, gewichtetes und prioritätsbasiertes Routing über Bereitstellungen hinweg und bietet vollständige Kontrolle über die Datenverkehrsverteilung. Mit diesem Ansatz kann Ihr Foundry-Projekt robuste Failoverstrategien und intelligente Lastverteilung implementieren, die auf Ihre Leistung, regionale Verfügbarkeit oder Kostenanforderungen abgestimmt ist.
Für Lernzwecke und frühe Machbarkeitsstudien verwenden Sie eine globale Standardbereitstellung. Global Standard ist pay-as-you-go, bietet das höchste Standardkontingent und verwendet die globale Azure-Infrastruktur, um jede Anforderung an die am häufigsten verfügbare Region weiterzuleiten. Dieser Ansatz reduziert die Wahrscheinlichkeit, dass regionale Kontingent- oder Kapazitätsbeschränkungen auftreten, während Sie experimentieren und sich an den Microsoft-Richtlinien orientieren, um Global Standard als Standardstartpunkt zu verwenden.
Wählen Sie für Produktionsworkloads den Bereitstellungstyp basierend auf den folgenden Kriterien aus:
Datenverarbeitungsort:
Verwenden Sie Global Standard oder Global Provisioned, wenn Sie die höchste Verfügbarkeit wünschen und die Schlussfolgerung in jeder beliebigen Foundry-Region stattfinden kann, während ruhende Daten in Ihrer ausgewählten Region verbleiben.
Verwenden Sie Data Zone Standard oder Data Zone Provisioned, wenn Sie Inferenz innerhalb einer von Microsoft definierten Datenzone behalten müssen, zum Beispiel nur USA oder nur EU, um die Anforderungen an die Datenresidenz zu erfüllen.
Durchsatz- und Kostenmodell:
Verwenden Sie Standardbereitstellungstypen wie Global Standard, Data Zone Standard und Regional Standard für Arbeitslasten mit geringer bis mittlerer, sporadischer oder explorativer Auslastung. Diese Typen verwenden ein pay-as-you-go-Modell ohne reservierte Kapazität. Wählen Sie diese Typen in frühen Phasen aus, bevor Sie Ihre Datenverkehrsmuster verstehen.
Verwenden Sie bereitgestellte Bereitstellungstypen wie "Global Provisioned", "Data Zone Provisioned" und "Regional Provisioned " für vorhersehbare, höhervolumige Workloads, die reservierten Durchsatz, eine konsistente Latenz und die Option zum Verwenden von Reservierungen für die Kostenoptimierung benötigen.
Die meisten Teams beginnen mit Global Standard für die Entwicklung oder verwenden Data Zone Standard, wenn die Datenresidenz wichtig ist. Nachdem sie den Durchsatz und die Latenzanforderungen für beständigen Zustand ermittelt haben, verschieben sie kritische Pfade in bereitgestellte SKUs.
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.
Zu den wichtigsten Kosten für diese Architektur gehören die folgenden Komponenten:
- Modellinferenzenutzung über Foundry, die OpenAI oder andere Modelle umfasst
- Dokumentaufnahme und -verarbeitung über Dokumentintelligenz
- Indizierung und Suchverbrauch über KI-Suche
Berücksichtigen Sie die folgenden Empfehlungen, um Die Kosten zu optimieren:
Verwenden Sie bereitgestellte Durchsatzeinheiten (PTUs) oder Reservierungen für Foundry-Bereitstellungen anstelle der Nutzung per Token, wenn die Workload vorhersehbar ist.
Weitere Informationen finden Sie in den folgenden Ressourcen:
Planen Sie regionale Bereitstellungen und die betriebliche Skalierungsplanung in der KI-Suche .
Verwenden Sie die Preisgestaltung der Verpflichtungsstufe für Document Intelligence , um vorhersehbare Kosten zu verwalten.
Verwenden Sie Kapazitätsreservierungen und Lebenszyklusrichtlinien, um die Speicherkonten anzupassen.
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 die Chancenkosten in Ihrer Architektur, und bringen Sie eine First Mover-Vorteilsstrategie mit einer schnellen Folgestrategie in Einklang. Verwenden Sie den Azure-Preisrechner, um die Anfangs- und Betriebskosten zu schätzen.
Richten Sie Budgets und Kontrollen ein, um die Kosten für Ihre Lösung zu begrenzen. Verwenden Sie Budgetwarnungen für Prognose- und Istkostenwarnungen.
Leistungseffizienz
Die Leistungseffizienz bezieht sich auf die Fähigkeit Ihrer Arbeitslast, 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. Um eine ordnungsgemäße Leistungseffizienz für Ihre Lösung zu gewährleisten, sollten Sie die Skalierungsoptionen von Azure Functions verstehen und planen, die Automatische Skalierung von Foundry Tools und die Azure Cosmos DB-Partitionierung.
Wenden Sie skalierbare Compute- und Orchestrierungsfunktionen mithilfe dauerhafter Funktionen an, die Teil von Azure Functions sind, für die Dokumentverarbeitungspipeline und optimieren Sie das Skalierungsverhalten. Weitere Informationen finden Sie unter Leistung und Skalierung in dauerhaften Funktionen.
Wählen Sie das entsprechende Bereitstellungsmodell in Foundry für Ableitungsworkloads aus. Verwenden Sie serverlose APIs für variable Workloads und bereitgestellte Durchsatzmodelle, wenn Sie einen hohen, konsistenten Datenverkehr erwarten. Weitere Informationen finden Sie unter Bereitgestellter Durchsatz für Modelle und Leistungs- und Latenzoptimierung für Azure OpenAI und Models.
Optimieren Sie die Indizierungs- und Abrufleistung , indem Sie geeignete Partitionierungen, Replikate und Schemas für die KI-Suche konfigurieren. Weitere Informationen finden Sie in den Tipps zur Leistung der KI-Suche.
Richten Sie Leistungsbaselines und Feedbackschleifen ein. Definieren Sie realistische Latenz- und Durchsatzziele frühzeitig, überwachen Sie die tatsächliche Systemleistung kontinuierlich, und verfeinern Sie architektur- und betriebstechnische Konfigurationen, während sich Nutzungsmuster entwickeln. Weitere Informationen finden Sie in den Designprinzipien für die Leistungseffizienz.
Wenden Sie diese Methoden an, um sicherzustellen, dass Ihre Dokumentklassifizierungslösung reaktionsfähig und kosteneffizient bleibt, wenn die Lösung skaliert wird.
Beitragende
Microsoft verwaltet diesen Artikel. Die folgenden Mitwirkenden haben diesen Artikel geschrieben.
Hauptautor:
- Kevin Kraus | Principal Solution Engineer
Anderer Mitwirkender:
- Brian Swiger | Principal Solution Engineer
Um nicht-öffentliche LinkedIn-Profile anzuzeigen, melden Sie sich bei LinkedIn an.
Nächste Schritte
Die folgenden Artikel enthalten eine Einführung in relevante Technologien:
- Was ist Blob Storage?
- Was ist ServiceBus?
- Erste Schritte mit App Service
- Einführung in Azure Cosmos DB
Die Produktdokumentation finden Sie in den folgenden Ressourcen:
- Azure-Dokumentation für alle Produkte
- Dokumentation zu Durable Functions
- Foundry-Dokumentation
- Dokumentation zur Dokumentintelligenz
- KI-Suchdokumentation
- Dokumentation zum semantischen Kernel