Dieses Projekt demonstriert die Erkennung und Anonymisierung von personenbezogenen Daten (PII) in Dokumenten mittels Azure AI Document Intelligence und Azure AI Language Service, ausgeführt in lokalen Docker-Containern. Die Demo ist in der Jupyter Notebook-Datei pii-demo.ipynb implementiert.
pii-demo.ipynb: Jupyter Notebook mit dem vollständigen Demo-Workflow (Dokument einlesen, PII erkennen, Text anonymisieren).docker-compose.yaml: Docker Compose Datei zum Starten der benötigten Azure AI Container (Document Intelligence Read & PII Detection) lokal.input.pdf: Beispiel-PDF-Dokument, das für die Demo analysiert wird. Die inkludierte Datei enthält ein PDF mit Rastergrafiken statt vektorisiertem Text um die OCR-Funktion von Azure AI Document Intelligence zu demonstrieren..env: Umgebungsvariablen für die Endpunkte und API-Keys der Azure Services für Abrechnungszwecke (müssen angepasst werden).
-
Beispiel-Dokument erstellen
- Erstelle eine Beispiel-PDF-Datei mit beliebigem deutschen Text und speichere sie als
input.pdfim Projektverzeichnis.
- Erstelle eine Beispiel-PDF-Datei mit beliebigem deutschen Text und speichere sie als
-
API-Keys und Endpunkte eintragen
- Öffne die Datei
.envund trage die gültigen Azure-Endpunkte und API-Keys für Document Intelligence und Language Service ein:DOCUMENT_INTELLIGENCE_BILLING_ENDPOINTDOCUMENT_INTELLIGENCE_API_KEYLANGUAGE_SERVICE_BILLING_ENDPOINTLANGUAGE_SERVICE_API_KEY
- Öffne die Datei
-
Docker installieren
- Stelle sicher, dass Docker Desktop installiert und gestartet ist.
-
Container starten
- Im Projektverzeichnis folgenden Befehl ausführen:
docker-compose up -d
- Dadurch werden zwei Container gestartet:
azure-document-intelligence-read(Port 5010)azure-pii-detection(Port 5020)
- Im Projektverzeichnis folgenden Befehl ausführen:
-
Notebook ausführen
- Öffne
pii-demo.ipynbin Visual Studio Code oder JupyterLab.- Für Visual Studio Code werden die Extensions "Jupyter" und "Polyglot Notebooks" empfohlen um das C#-basierte Notebook verwenden zu können.
- Führe die Zellen der Reihe nach aus.
- Das Notebook liest das PDF, extrahiert den Text, erkennt PII-Entitäten und zeigt den anonymisierten Text an.
- Öffne
- Die Container laufen lokal und senden keine Nutzdaten an Azure, einzig Nutzungsinformationen zu Abrechnugnszwecke werden übertragen ("Billing").
- Die Demo ist für deutsche Texte (
de) konfiguriert, kann aber für andere Sprachen angepasst werden. - Bei Problemen prüfe die Container-Logs mit:
docker-compose logs