Die Rechnung rechnung-seeblick.pdf eines Hotels soll nicht abgetippt werden: Betrag, Datum, Posten sollen als Felder in einer Tabelle stehen. Das ist Informationsextraktion, und Learn nennt dafür Azure Content Understanding in Foundry Tools (kurz: Content Understanding). Der Dienst nutzt generative KI, um Dokumente, Bilder, Audio und Video in ein von Ihnen festgelegtes Ausgabeformat zu bringen. Der Code ist nicht gegen Azure ausgeführt; so zeigt es Microsoft Learn. Ausgaben sind nicht abgedruckt.
Die Bausteine
| Baustein | Was er ist (nach Learn) |
|---|---|
| Analyzer | legt fest, wie Inhalt verarbeitet wird: Extraktion, Felder, Modelle. Es gibt vorgefertigte und eigene |
| Inhaltsextraktion (content extraction) | macht aus der Datei normalisierten Text und Metadaten: Texterkennung (OCR), Layout, Tabellen, bei Audio und Video Abschriften |
| Segmentierung | teilt Dokumente oder Videos in sinnvolle Abschnitte, etwa nach Dokumenttyp oder Szene |
| Felderextraktion | erzeugt Schlüssel-Wert-Paare nach Ihrem Schema |
| Konfidenzwerte (confidence scores) | Schätzung von 0 bis 1 je Feldwert, wie verlässlich er ist |
| Verankerung (grounding) | zeigt, an welcher Stelle der Quelle ein Wert steht |
Felder entstehen auf drei Arten: Extract übernimmt Werte, wie sie im Inhalt stehen (laut Learn nur für Dokumente), Classify ordnet einer festen Kategorie zu (etwa Stimmung eines Anrufs), Generate formuliert frei, etwa eine Zusammenfassung. Konfidenzwerte gibt es laut Learns Neuerungsseite nur für Dokumente. Die Klassifizierung ist in die Analyzer-Schnittstelle eingebaut: So lässt sich ein Dokument zuerst einordnen und dann an den passenden Analyzer weiterleiten.
Vorgefertigte Analyzer
Learn nennt Gruppen. Die für Nordlicht wichtigen:
| Analyzer | Wofür |
|---|---|
prebuilt-invoice |
Rechnungen, Strom- und andere Rechnungen, Aufträge |
prebuilt-receipt.hotel |
Hotelbelege und Hotelrechnungen (Folios) |
prebuilt-documentSearch |
Dokumente für Suche und RAG: Absätze, Tabellen, Abbildungen, Zusammenfassung |
prebuilt-imageSearch |
Bilder: ein Absatz Beschreibung |
prebuilt-audioSearch |
Audio: Abschrift mit Sprechern und Zusammenfassung |
prebuilt-videoSearch |
Video: Abschrift und Beschreibung je Abschnitt |
prebuilt-callCenter |
Anrufaufnahmen: Themen, Stimmung, Kernpunkte |
prebuilt-layout, prebuilt-read |
nur Layout und Text, ohne Sprachmodell |
Learn rät, ein vorgefertigtes Analyzer-Schema für den Betrieb zu kopieren, weil sich vorgefertigte Definitionen zwischen API-Versionen ändern können.
Versionen und Stand
Learn nennt am Schreibtag zwei API-Versionen: eine allgemein verfügbare (GA), die für den Betrieb empfohlen ist, und eine Vorschauversion, die neue Fähigkeiten zeigt: etwa agentische Dokumentanalyse, Signaturerkennung und feinere Klassifizierung. Die Versionsnamen enthalten ein Datum und stehen deshalb hier nicht; das Paket Azure.AI.ContentUnderstanding hat in Learns Schnellstart noch den Zusatz --prerelease. Die Seite zu Bildlösungen trägt in Learns Verweisen die Bezeichnung „preview“; ob das für Ihren Fall noch gilt: offen. Auch ob die Region von Nordlicht unterstützt wird, steht auf einer eigenen Learn-Seite zu Sprachen und Regionen: offen.
Modell-Deployments
Content Understanding nutzt Ihre Deployments in Foundry für alles, was ein generatives Modell braucht (Lektion 2.1). Nach Learn braucht der Dienst ein Chat-Modell und ein Embedding-Modell; Sie zahlen die verbrauchten Tokens am Deployment und zusätzlich die Zähler von Content Understanding (ohne Betrag hier). Vorgefertigte Analyzer sprechen die Modelle über Aliasnamen an; Sie ordnen ihnen Ihre Deployments zu, entweder als Standard für die Ressource (im Content Understanding Studio oder per Aufruf) oder je Anfrage. prebuilt-layout und prebuilt-read brauchen keines. Learns C#-Schnellstart verlangt als Voraussetzung gesetzte Standard-Deployments. Welche Modelle ein Analyzer unterstützt, fragt man bei ihm ab; ob das Modell hinter reise-chat dabei ist, ist offen. Für das Embedding-Modell wäre ein weiteres Deployment nötig; im Fall heißt es neu reise-embedding.
Der Code
Learns C#-Schnellstart nutzt Azure.AI.ContentUnderstanding. Der Client (Schlüssel und Adresse aus Umgebungsvariablen; für den Betrieb empfiehlt Learn Entra ID):
var client = new ContentUnderstandingClient(
new Uri(endpoint),
new AzureKeyCredential(key)
);
Rechnung, Auszug aus Learns Beispiel (die Adresse ist Learns Beispieldatei; bei Nordlicht steht dort die Adresse von rechnung-seeblick.pdf, wie Dateien ohne öffentliche Adresse hineinkommen, zeigt der Schnellstart nicht: offen):
Operation<AnalysisResult> operation = await client.AnalyzeAsync(
WaitUntil.Completed,
"prebuilt-invoice",
inputs: new[] { new AnalysisInput { Uri = invoiceUrl } });
AnalysisResult result = operation.Value;
DocumentContent documentContent = (DocumentContent)result.Contents!.First();
var customerNameField = documentContent.Fields["CustomerName"];
Console.WriteLine($" Confidence: {customerNameField.Confidence?.ToString("F2") ?? "N/A"}");
AnalyzeAsync bekommt die Analyzer-Kennung und die Eingabe. Für Bilder nennt Learn dieselbe Form mit prebuilt-imageSearch, für Audio mit prebuilt-audioSearch. Das Ergebnis enthält die Felder; jedes hat Wert und Konfidenz. In Learns eigener Beispielausgabe zu Learns Beispielrechnung steht bei einem Feld ein niedriger Wert, bei einem anderen ein hoher: Auf einem Dokument sind nicht alle Felder gleich sicher. Die Learn-Seite hat auch einen Python-Reiter (Hinweis in Lektion 2.3).
Ausprobieren (freiwillig): Foundry-Ressource, Deployments und jeder Analyse-Aufruf kosten je Nutzung. Nehmen Sie nur erfundene Beispieldateien und löschen Sie danach die Ressourcengruppe.
Der Fall
| Datei | Analyzer | Menschlicher Schritt |
|---|---|---|
rechnung-seeblick.pdf |
prebuilt-invoice, alternativ prebuilt-receipt.hotel |
Mitarbeitende prüfen Felder mit niedriger Konfidenz und vergleichen mit der Buchung, bevor etwas gebucht wird |
anruf-hotline.wav |
prebuilt-audioSearch oder prebuilt-callCenter |
ein Mensch liest Abschrift und Zusammenfassung |
zimmerfoto.jpg |
prebuilt-imageSearch |
ein Mensch beurteilt den Befund |
Learn nennt WAV, PDF und JPEG als unterstützte Dateitypen. Welcher Analyzer für die Hotelrechnung besser passt, entscheidet ein Test mit echten Rechnungen; offen. Dasselbe gilt für die Schwelle der Konfidenz. Der Fall bleibt bei der Regel: Der Dienst liest Felder, ein Mensch prüft, kein Modell entscheidet über Erstattungen. Learn hält Content Understanding außerdem an die Leitplanken (guardrails) des Deployments: Die Analyse kann mit Warnungen erfolgreich sein, auch wenn einzelne Feldwerte fehlen; Warnungen lesen, bevor man Ergebnisse automatisch weiterverwendet.
Übung 1
Ordnen Sie zu: Analyzer, braucht es ein Deployment (ja oder nein), wer prüft?
- Von
rechnung-seeblick.pdfsollen Betrag, Datum und Posten gelesen werden. - Nur der Text einer gescannten Buchungsbestätigung wird gebraucht, keine Felder.
- Zu
anruf-hotline.wavsoll es eine Zusammenfassung geben.
Lösung 1
prebuilt-invoice(oderprebuilt-receipt.hotel); ja, ein Deployment mit Chat- und Embedding-Modell; Mitarbeitende prüfen Felder mit niedriger Konfidenz.prebuilt-read(oderprebuilt-layout); nein, beide brauchen laut Learn kein Sprachmodell; wer die Bestätigung nutzt, liest den Text gegen das Original.prebuilt-audioSearch; ja, es erzeugt eine Zusammenfassung mit einem Modell; ein Mensch liest sie.