Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
analyzer w narzędziu Azure Content Understanding in Foundry Tools to konfigurowalna jednostka przetwarzania, która definiuje sposób analizowania zawartości i wyodrębniania informacji.
Analizator definiuje:
- Jakiego typu zawartość ma być przetwarzana (dokumenty, obrazy, dźwięk lub wideo)
- Jakie elementy mają być wyodrębniane (tekst, układ, tabele, pola, transkrypcje)
- Jak określić strukturę danych wyjściowych (markdown, pola JSON, segmenty)
- Jakie modele sztucznej inteligencji używać do przetwarzania
Analizatory to podstawowe bloki konstrukcyjne usługi Content Understanding. Łączą wyodrębnianie zawartości, analizę opartą na sztucznej inteligencji oraz ustrukturyzowane dane wyjściowe w jedną konfigurację wielokrotnego użytku. Możesz użyć wstępnie utworzonych analizatorów do typowych scenariuszy lub utworzyć analizatory niestandardowe dostosowane do konkretnych potrzeb.
Jeśli nie określono inaczej, przykłady w tym artykule używają wersji interfejsu API ogólnie dostępnej 2025-11-01. Funkcje oznaczone jako wersja zapoznawcza wymagają .2026-06-01-preview
Typy analizatorów
Usługa Content Understanding udostępnia kilka typów analizatorów:
-
Analizatory podstawowe: podstawowe analizatory, które zapewniają podstawowe możliwości przetwarzania dla każdego typu zawartości (
prebuilt-document,prebuilt-audio,prebuilt-video,prebuilt-image). Użyj tych analizatorów jako bloków konstrukcyjnych dla analizatorów niestandardowych. -
Analizatory RAG: wyodrębnianie zawartości za pomocą semantycznego zrozumienia dla aplikacji wyszukiwania i sztucznej inteligencji. Są one zoptymalizowane pod kątem scenariuszy generowania z rozszerzonym pobieraniem danych. Przykłady obejmują
prebuilt-documentSearchiprebuilt-videoSearch. -
Analizatory specyficzne dla domeny: wstępnie skonfigurowane dla określonych typów dokumentów i branż, takich jak faktury, paragony, dokumenty identyfikatorów i kontrakty. Przykłady obejmują
prebuilt-invoice,prebuilt-receiptiprebuilt-idDocument. - Analizatory niestandardowe: analizatory tworzone przez rozszerzenie analizatorów podstawowych przy użyciu niestandardowych schematów pól i konfiguracji w celu spełnienia określonych wymagań.
Aby uzyskać więcej informacji i pełną listę dostępnych analizatorów specyficznych dla domeny, zobacz Wstępnie utworzone analizatory.
Uwaga
Analizatory dokumentów utworzone przy użyciu wersji 2026-06-01-preview interfejsu API mogą również używać trybu agenta w scenariuszach wymagających wnioskowania o dowodach w celu utworzenia odpowiedzi, takich jak obliczenia i walidacja. Początkowa wersja zapoznawcza obsługuje jeden plik wejściowy na żądanie analizy.
Struktura konfiguracji analizatora
Zdefiniuj konfigurację analizatora przy użyciu obiektu JSON z kilkoma właściwościami najwyższego poziomu. Można skonfigurować następujące składniki:
-
Właściwości analizatora — tożsamość podstawowa i metadane
- analyzerId — unikatowy identyfikator
- name — nazwa wyświetlana
- description — opis celu
- baseAnalyzerId — odniesienie do analizatora nadrzędnego
-
Konfiguracja modelu — ustawienia modelu AI
- modele — modele domyślne
-
Konfiguracja przetwarzania — opcje przetwarzania zawartości
- config — ustawienia zachowania
-
Schemat pola — wyodrębnianie danych strukturalnych
- fieldSchema — definicje pól
Oto skrócony przykład pokazujący ogólną strukturę konfiguracji analizatora:
{
"analyzerId": "myCustomInvoiceAnalyzer",
"description": "Extracts vendor information, line items, and totals from commercial invoices",
"baseAnalyzerId": "prebuilt-document",
"config": {
"enableOcr": true
},
"fieldSchema": {
"fields": {
"vendorName": {
"type": "string"
}
}
},
"models": {
"completion": "gpt-5.2",
"embedding": "text-embedding-3-large"
}
}
Właściwości analizatora
Użyj tych właściwości, aby jednoznacznie zidentyfikować i opisać analizatora:
analyzerId
- Opis: Unikatowy identyfikator analizatora. Użyj tego identyfikatora, aby odwołać się do analizatora w wywołaniach interfejsu API.
-
Przykład:
"prebuilt-invoice","myCustomAnalyzer" -
Wytyczne:
- Użyj nazw opisowych, które wskazują przeznaczenie analizatora.
- W przypadku analizatorów niestandardowych wybierz nazwy, które nie powodują konfliktu ze wstępnie utworzonymi nazwami analizatorów.
- Używaj liter, cyfr, kropek lub podkreśleń.
name
- Opis: Czytelna dla człowieka nazwa wyświetlana w interfejsach użytkownika i dokumentacji.
-
Przykład:
"Invoice document understanding","Custom receipt processor"
description
- Opis: Krótkie wyjaśnienie, co robi analizator i jaka zawartość przetwarza. Model sztucznej inteligencji używa tego opisu jako kontekstu podczas wyodrębniania pól, dlatego jasne opisy zwiększają dokładność wyodrębniania.
-
Przykład:
"Analyzes invoice documents to extract line items, totals, vendor information, and payment terms" -
Wytyczne:
- Należy dokładnie określić, co wyodrębnia analizator.
- Należy wspomnieć o typach zawartości, które obsługuje.
- Zachowaj zwięzłość, ale dodaj niezbędne informacje.
- Napisz jasne opisy, ponieważ ułatwiają zrozumienie modelu sztucznej inteligencji.
baseAnalyzerId
- Opis: Odwołuje się do analizatora nadrzędnego, z którego ten analizator dziedziczy konfigurację.
-
Obsługiwane analizatory podstawowe:
-
"prebuilt-document"- dla analizatorów niestandardowych korzystających z dokumentów -
"prebuilt-audio"- dla analizatorów niestandardowych opartych na dźwiękach -
"prebuilt-video"- dla analizatorów niestandardowych opartych na wideo -
"prebuilt-image"- dla analizatorów niestandardowych opartych na obrazach
-
-
Przykład:
"baseAnalyzerId": "prebuilt-document"
Uwaga
Kiedy określisz analizator podstawowy, twój analizator niestandardowy dziedziczy wszystkie domyślne konfiguracje i może zastąpić określone ustawienia.
Konfiguracja modelu
models
-
Opis: Określa, które nazwy modeli programu Foundry mają być używane podczas przetwarzania za pomocą tego analizatora. Są to nazwy modeli (a nie nazwy wdrożeń), których używa usługa. Muszą one odpowiadać jednemu
supportedModelsz analizatora bazowego. Pełna lista modeli obsługiwanych przez usługę Content Understanding znajduje się na liście obsługiwanych modeli. -
Właściwości:
-
completion- Nazwa modelu zadań ukończenia (wyodrębnianie pól, segmentacja, analiza rysunku, na przykład) -
embedding— Nazwa modelu do osadzania zadań (przy użyciu bazy wiedzy)
-
- Ważne: Te nazwy modeli pochodzą z katalogu Foundry, a nie nazw wdrożeń. W czasie wykonywania usługa mapuje te nazwy modeli na rzeczywiste wdrożenia modelu konfigurowane na poziomie zasobu.
-
Przykład:
{ "completion": "gpt-5.2", "embedding": "text-embedding-3-large" }
Aby uzyskać więcej informacji na temat konfigurowania połączonych modeli, zobacz Łączenie zasobu usługi Content Understanding z modelami rozwiązania Foundry .
Konfiguracja przetwarzania
Obiekt config zawiera wszystkie opcje przetwarzania, które kontrolują sposób analizowania zawartości. Te opcje są podzielone na kategorie na podstawie funkcjonalności:
Właściwości obiektu konfiguracji
Opcje ogólne
workflow
-
Wartości żądania:
"default","agentic" -
Domyślny:
"default" -
Opis: Wybiera przepływ pracy podczas tworzenia analizatora dokumentów. Użyj metody
"default", lub pomiń właściwość , aby umożliwić usłudze wybranie przepływu pracy na podstawie konfiguracji analizatora. Służy"agentic"do włączania trybu agenta na potrzeby rozszerzonego rozumowania dla złożonych dokumentów. -
Wartość odpowiedzi: Usługa rozpoznaje wartość żądania podczas tworzenia analizatora. Tworzenie lub aktualizowanie odpowiedzi i
GETodpowiedzi zwraca wartość rodziny przepływów pracy w wersji w plikuconfig.workflow. -
Wpływ na koszty: Rozwiązana rodzina przepływów pracy określa częstotliwość kontekstyzacji. Wartości rozpoczynające się od
standardużycia standardowego współczynnika kontekstyzacji. Wszystkie inne rodziny, w tymadvanced,agentici przyszłe rodziny przepływów pracy obsługiwane przez usługę, używają zaawansowanego współczynnika kontekstyzacji. Tryb agenta może również zużywać więcej tokenów modelu i trwać dłużej niż analiza niegentyczna. -
Obsługiwane przez: Analizatory dokumentów z wersją
2026-06-01-previewinterfejsu API . Początkowy tryb agenta w wersji zapoznawczej obsługuje jeden plik wejściowy na żądanie analizy. -
Przykład:
{ "config": { "workflow": "agentic" } }
W poniższej tabeli przedstawiono sposób rozpoznawania workflow usługi dla analizatorów niestandardowych:
| Scenariusz tworzenia analizatora | Wartość żądania | Zwrócone config.workflow |
Wskaźnik kontekstowej wizualizacji |
|---|---|---|---|
Wersja interfejsu API lub starsza wersja 2025-11-01 |
Niedostępne |
standard.2025-11-01 po pobraniu za pomocą interfejsu API w wersji zapoznawczej |
Standard |
| Interfejs API w wersji zapoznawczej bez danych oznaczonych etykietami |
"default" lub pominięty |
standard.2026-06-01-preview |
Standard |
| Interfejs API w wersji zapoznawczej z danymi oznaczonymi etykietami |
"default" lub pominięty |
advanced.2026-06-01-preview |
Zaawansowany |
| Interfejs API w wersji zapoznawczej z trybem agenta | "agentic" |
agentic.2026-06-01-preview |
Zaawansowany |
Wstępnie utworzone analizatory zwracają wartość przypisaną przez usługę, wersję standard lub advanced przepływ pracy. Rodzina przepływów pracy identyfikuje odpowiedni współczynnik kontekstyzacji.
returnDetails
- Ustawienie domyślne: false (różni się w zależności od analizatora)
- Opis: Określa, czy w odpowiedzi mają być uwzględniane szczegółowe informacje, takie jak współczynniki ufności, pola ograniczenia, zakresy tekstu i metadane.
-
Kiedy należy użyć:
- Ustaw wartość na
truepodczas debugowania problemów z wyodrębnianiem. - Gdy potrzebujesz informacji o lokalizacji dla wyodrębnionych danych.
- Gdy oceny ufności są wymagane do weryfikacji.
- W celu zapewnienia jakości i testowania.
- Ustaw wartość na
- Wpływ na odpowiedź: Znacznie zwiększa rozmiar odpowiedzi przy użyciu większej liczby metadanych.
Opcje wyodrębniania zawartości dokumentu
enableOcr
- Wartość domyślna: true
- Opis: Umożliwia optyczne rozpoznawanie znaków wyodrębnianie tekstu z obrazów i zeskanowanych dokumentów.
-
Kiedy należy użyć:
- Włącz dla zeskanowanych dokumentów, zdjęć i plików PDF opartych na obrazach.
- Wyłącz pliki PDF w formacie natywnym, aby zwiększyć wydajność.
- Obsługiwane przez: Analizatory dokumentów.
enableLayout
- Wartość domyślna: true
- Opis: Wyodrębnia informacje o układzie, w tym akapity, wiersze, wyrazy, kolejność odczytu i elementy strukturalne.
-
Kiedy należy użyć:
- Wymagane do zrozumienia struktury i hierarchii dokumentów.
- Potrzebne do dokładnego wyodrębniania akapitu i sekcji.
- Wyłącz, jeśli potrzebne jest tylko wyodrębnianie tekstu nieprzetworzonego.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
enableFormula
- Wartość domyślna: true
- Opis: Wykrywa i wyodrębnia formuły matematyczne i równania w formacie LaTeX.
-
Kiedy należy użyć:
- Włącz dla dokumentów naukowych, dokumentów badawczych, dokumentacji technicznej.
- Wyłącz dla ogólnych dokumentów biznesowych, aby poprawić wydajność.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
enableBarcode
- Wartość domyślna: true
- Opis: Wykrywa i wyodrębnia kody kreskowe i kody QR, zwracając zdekodowane wartości.
-
Kiedy należy użyć:
- Włącz dla dokumentów inwentaryzacyjnych, etykiet wysyłkowych i dokumentacji produktu.
- Wyłącz, gdy kody kreskowe nie są obecne, aby zwiększyć wydajność.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
- Obsługiwane typy kodów kreskowych: QR Code, PDF417, UPC-A, UPC-E, Code 39, Code 128, EAN-8, EAN-13, DataBar, Code 93, Codabar, ITF, Micro QR Code, Aztec, Data Matrix, MaxiCode.
Opcje tabeli i wykresu
tableFormat
-
Domyślny:
"html" -
Obsługiwane wartości:
"html","markdown" - Opis: Określa format danych wyjściowych dla wyodrębnionych tabel.
-
Kiedy należy użyć:
- Służy
"html"do renderowania w Internecie lub gdy złożone struktury tabel wymagają zachowania. - Użyj
"markdown"do prostych tabel w dokumentacji lub przetwarzaniu tekstowym.
- Służy
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
chartFormat
-
Domyślny:
"chartjs" -
Obsługiwane wartości:
"chartjs" - Opis: Określa format wyodrębnionego wykresu i danych grafu. Zgodność z biblioteką Chart.js.
-
Kiedy należy użyć:
- Podczas wyodrębniania danych z wykresów słupkowych, wykresów liniowych i wykresów kołowych.
- Podczas konwertowania wykresów wizualnych na dane ustrukturyzowane na potrzeby ponownego renderowania.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
Opcje analizy obrazów i rysunku
enableFigureDescription
- Ustawienie domyślne: false
- Opis: Generuje opisy tekstu w języku naturalnym dla rysunków, diagramów, obrazów i ilustracji.
-
Kiedy należy użyć:
- W przypadku wymagań dotyczących ułatwień dostępu (generowanie tekstu alternatywnego).
- Aby zrozumieć diagramy i schematy blokowe.
- Do wyodrębniania informacji z infografik.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
enableFigureAnalysis
- Ustawienie domyślne: false
- Opis: Przeprowadza dokładnszą analizę danych, w tym wyodrębnianie danych wykresu i identyfikację składników diagramu.
-
Kiedy należy użyć:
- Wyodrębnianie danych strukturalnych z wykresów osadzonych w dokumentach.
- Aby zrozumieć złożone diagramy.
- Aby uzyskać szczegółową klasyfikację liczb.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
Opcje adnotacji
annotationFormat
-
Domyślny:
"markdown" -
Obsługiwane wartości:
"markdown" - Opis: Określa format zwracanych adnotacji.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
Opcje wyodrębniania pól
estimateFieldSourceAndConfidence
- Ustawienie domyślne: false (różni się w zależności od analizatora)
- Opis: Zwraca lokalizację źródłową (numer strony, pole ograniczenia) i współczynnik ufności dla każdej wyodrębnionej wartości pola.
-
Kiedy należy użyć:
- Dla procesów weryfikacji i zapewniania jakości.
- Aby zrozumieć dokładność procesu wyodrębniania.
- Do debugowania problemów z wyodrębnianiem.
- Wyróżnianie tekstu źródłowego w interfejsach użytkownika.
-
Obsługiwane przez: Analizatory dokumentów dla wszystkich typów pól dokumentów (
extract,classify, igeneratemetod).
Opcje audio i wideo
locales
-
Domyślny:
[](pusta tablica) - Opis: Lista kodów ustawień regionalnych i języków dla przetwarzania specyficznego dla języka, głównie na potrzeby transkrypcji.
-
Obsługiwane wartości: Kody języków BCP-47 (na przykład
["en-US", "es-ES", "fr-FR", "de-DE"]) -
Kiedy należy użyć:
- W przypadku transkrypcji audio w wielu językach.
- Aby określić oczekiwany język w celu uzyskania lepszej dokładności.
- Do przetwarzania zawartości w określonych wariantach regionalnych.
-
Obsługiwane przez:
prebuilt-audio,prebuilt-video,prebuilt-callCenter
Uwaga
Aby uzyskać pełną listę obsługiwanych języków i ustawień regionalnych, zobacz Obsługa języków i regionów.
Opcje klasyfikacji
contentCategories
- Domyślny: Nie ustawiono
-
Opis: Definiuje kategorie lub typy zawartości na potrzeby automatycznej klasyfikacji i routingu do wyspecjalizowanych procedur obsługi. W przypadku używania z
enableSegment set to falsejest obecnie wspierane tylko w odniesieniu do dokumentów. Klasyfikuje cały plik. W przypadku użycia zenableSegment=true, plik jest podzielony na fragmenty na podstawie tych kategorii, z każdym segmentem sklasyfikowanym i opcjonalnie przetworzonym przez analizator specyficzny względem kategorii. Zawsze wybiera jedną opcję z listy dostępnych kategorii. -
Struktury: Każda kategoria zawiera:
-
description- (Wymagane) Szczegółowy opis kategorii lub typu dokumentu. Ten opis działa jako monit, który kieruje modelem sztucznej inteligencji w określaniu granic segmentu i klasyfikacji. Uwzględnij cechy wyróżniające, aby pomóc określić, gdzie kończy się jedna kategoria, a druga zaczyna się. -
analyzerId- (Opcjonalnie) Odwołanie do innego analizatora, który ma być użyty dla tej kategorii. Przywoływane analizatory są połączone, a nie kopiowane, zapewniając spójne zachowanie. W przypadku pominięcia jest wykonywana tylko kategoryzacja bez dalszego przetwarzania (scenariusz tylko podziału).
-
-
Użycie modelu: Modele określone we właściwości analizatora nadrzędnego
modelssą używane tylko do segmentacji i klasyfikacji. Każdy podanalizator używa własnej konfiguracji modelu do wyodrębniania. -
Zachowanie z
enableSegment:-
enableSegment: true: Zawartość jest podzielona na segmenty na podstawie opisów kategorii. Każdy segment jest klasyfikowany w jednej ze zdefiniowanych kategorii. Zwraca metadane segmentu w oryginalnym obiekcie zawartości, a także dodatkowe obiekty zawartości dla segmentów określonych za pomocąanalyzerId. -
enableSegment: false: Cała zawartość jest klasyfikowana jako całość w jednej kategorii i odpowiednio kierowana. Przydatne w przypadku klasyfikacji hierarchicznej bez dzielenia.
-
- Dopasowywanie kategorii: Jeśli kategoria "inna" lub "domyślna" nie jest zdefiniowana, zawartość zostanie zmuszona do sklasyfikowania w jednej z wymienionych kategorii. Uwzględnij kategorię "inną", aby sprawnie obsługiwać niedopasowaną zawartość.
- Obsługiwane przez: Analizatory dokumentów i wideo. W przypadku wideo można zdefiniować tylko jedną zawartośćCategory.
enableSegment
- Ustawienie domyślne: false
-
Opis: Umożliwia segmentację zawartości, dzieląc plik na fragmenty na podstawie kategorii określonych w
contentCategoriespliku . Każdy segment jest następnie klasyfikowany w jednej ze zdefiniowanych kategorii do przetwarzania selektywnego. -
Zachowanie segmentacji: Usługa dzieli zawartość na jednostki logiczne, analizując zawartość względem opisów kategorii. Granice segmentów są określane przy użyciu:
- Dokumentów: Opisy kategorii połączone ze strukturą zawartości (strony, sekcje, zmiany formatowania).
- Wideo: Opisy kategorii połączone z wizualnymi wskazówkami (zmiany ujęć, przejścia scen, granice czasowe). Obsługiwana jest tylko jedna contentCategory.
-
Kiedy należy użyć:
- Przetwarzanie partii mieszanych zawartości, w których różne części wymagają innej obsługi (na przykład pliku PDF zawierającego faktury i paragony).
- Dzielenie długich dokumentów na kategorie do analizy selektywnej.
- Analizowanie filmów wideo według typu zawartości (na przykład oddzielanie reklam od głównej zawartości).
-
Struktura danych wyjściowych:
- Zwraca tablicę
segmentsw obiekcie zawartości zawierającym metadane dla każdego segmentu (identyfikator, granice, kategoria). - Każdy segment zawiera swoją sklasyfikowaną kategorię z
contentCategories. - Więcej obiektów zawartości jest zwracanych dla segmentów z określoną kategorią
analyzerId.
- Zwraca tablicę
-
Segmentacja hierarchiczna: Jeśli analizator kategorii także posiada
enableSegment: true, segmenty mogą być dzielone rekursywnie, umożliwiając podział zawartości na wielu poziomach. - Wpływ na wydajność: Zwiększa czas przetwarzania dużych plików, szczególnie w przypadku wielu segmentów.
- Obsługiwane przez: Analizatory dokumentów i wideo.
segmentPerPage
- Ustawienie domyślne: false
- Opis: Po włączeniu segmentacji wymuś jeden segment na stronę zamiast używać granic zawartości logicznej. Eliminuje konieczność oddzielnych trybów podziału "perPage".
-
Kiedy należy użyć:
- Przepływy pracy przetwarzania stron po stronie.
- Każda strona powinna być traktowana jako niezależna jednostka.
- Przetwarzanie równoległe poszczególnych stron.
- Wyodrębnianie pól na poziomie strony w dokumentach wielostronicowych.
- Mieszane partie dokumentów, na których każda strona jest innym typem dokumentu.
- Obsługiwane przez: Analizatorami opartymi na dokumentach.
omitContent
- Ustawienie domyślne: false
-
Opis: Gdy
trueelement wyklucza oryginalny obiekt zawartości z odpowiedzi. Odpowiedź obejmuje tylko uporządkowane dane pól lub obiekty zawartości z podanalityków podczas korzystania zcontentCategories. -
Kiedy należy użyć:
- Gdy potrzebujesz tylko wyodrębnionych wartości pól.
- Analizatory skomponowane z
contentCategorieszwracają tylko sklasyfikowane wyniki. - W przypadku łańcuchów klasyfikacji hierarchicznej zwróć tylko wyniki analizatora liści.
-
Przykład — analiza selektywna:
{ "config": { "enableSegment": true, "contentCategories": { "invoice": { "analyzerId": "prebuilt-invoice" }, "other": { } // Categorize but don't process }, "omitContent": true // Only return invoice analysis results } } - Obsługiwane przez: Analizatory dokumentów.
Konfiguracja pola
Właściwość fieldSchema definiuje dane ustrukturyzowane wyodrębnione przez analizator z zawartości. Określa pola, ich typy i sposób ich wyodrębniania.
Intencja projektu: strukturalne wyodrębnianie
Schematy pól przekształcają zawartość nieustrukturyzowaną na dane ustrukturyzowane, z możliwością wykonywania zapytań. Schemat działa jako oba te elementy:
- Kontrakt definiujący, jakie dane są wyodrębnione
- Przewodnik dotyczący modelu sztucznej inteligencji dotyczący tego, czego szukać i jak go interpretować
Struktura schematu pola
{
"fieldSchema": {
"name": "InvoiceAnalysis",
"fields": {
"VendorName": {
"type": "string",
"description": "Name of the vendor or supplier",
"method": "extract"
},
"InvoiceTotal": {
"type": "number",
"description": "Total amount due on the invoice",
"method": "extract"
},
"LineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Description": { "type": "string" },
"Quantity": { "type": "number" },
"UnitPrice": { "type": "number" },
"Amount": { "type": "number" }
}
},
"description": "List of items on the invoice, typically in a table format",
"method": "generate"
}
}
}
}
Właściwości schematu pola
name
- Opis: Nazwa schematu, zazwyczaj opisująca typ zawartości lub przypadek użycia
-
Przykład:
"InvoiceAnalysis","ReceiptExtraction","ContractFields"
fields
-
Opis: Obiekt definiujący każde pole do wyodrębnienia z nazwami pól jako kluczami. Pusty obiekt
{}wskazuje, że nie wyodrębniono pól strukturalnych (na przykład analizatorów skupionych wyłącznie na układzie). -
Obsługa hierarchiczna: Obsługuje zagnieżdżone pola za pomocą typów
objectiarraydo reprezentowania złożonych struktur danych - Najlepsze rozwiązanie: Unikaj głębokiego zagnieżdżania (więcej niż dwa lub trzy poziomy), ponieważ może zmniejszyć wydajność i dokładność wyodrębniania
Właściwości definicji pola
Każde pole w fields obiekcie ma następujące właściwości:
type
-
Obsługiwane wartości:
"string","number","boolean","date", ,"object""array" - Opis: Typ danych wartości pola. Wybierz typ, który najlepiej pasuje do semantyki danych w celu optymalnego wyodrębniania.
- Automatyczna normalizacja: W przypadku obsługiwanych pól wpisanych usługa Content Understanding automatycznie normalizuje zwracaną wartość do formatu kanonicznego (na przykład spójnego formatu daty).
description
- Opis: Jasne wyjaśnienie, co zawiera pole i gdzie go znaleźć. Model sztucznej inteligencji przetwarza ten opis jako mini-podpowiedź, aby poprowadzić ekstrakcję pól, co sprawia, że precyzja i jasność bezpośrednio zwiększają dokładność ekstrakcji.
Aby uzyskać informacje na temat pisania skutecznych opisów pól, zobacz Najlepsze rozwiązania dotyczące wyodrębniania pól.
method
-
Obsługiwane wartości:
"generate","extract","classify" - Opis: Metoda wyodrębniania do użycia dla tego pola. Jeśli nie określisz metody, system automatycznie określa najlepszą metodę na podstawie typu i opisu pola.
-
Typy metod:
-
"generate"— Wartości są generowane swobodnie na podstawie zawartości przy użyciu modeli sztucznej inteligencji (najlepiej w przypadku pól złożonych lub zmiennych wymagających interpretacji) -
"extract"- Wartości są wyodrębniane tak jak pojawiają się w treści (najlepiej do dosłownego wyodrębniania tekstu z określonych lokalizacji). Wyodrębnianie wymagaestimateSourceAndConfidenceustawieniatruedla tego pola. -
"classify"- Wartości są klasyfikowane względem wstępnie zdefiniowanego zestawu kategorii (najlepiej w przypadku używaniaenumz stałym zestawem możliwych wartości)
-
estimateSourceAndConfidence
- Ustawienie domyślne: false
-
Opis: Zwraca lokalizację źródłową (numer strony, pole ograniczenia) i współczynnik ufności dla tej wartości pola. Pola z
method= extract muszą mieć wartość true. Ta właściwość zastępuje właściwość poziomuestimateFieldSourceAndConfidenceanalizatora. -
Kiedy należy użyć:
- Dla procesów weryfikacji i zapewniania jakości.
- Aby zrozumieć dokładność procesu wyodrębniania.
- Do debugowania problemów z wyodrębnianiem.
- Wyróżnianie tekstu źródłowego w interfejsach użytkownika.
-
Obsługiwane przez: Analizatory dokumentów dla wszystkich typów pól dokumentów (
extract,classify, igeneratemetod).
items (dla typów tablic)
- Opis: Definiuje strukturę elementów w tablicy
-
Właściwości:
-
type- Typ elementów tablicy ("string","number","object") -
properties— W przypadku elementów obiektów definiuje zagnieżdżoną strukturę pola
-
properties (dla typów obiektów)
- Opis: Definiuje strukturę zagnieżdżonych pól w obiekcie
-
Przykład:
{ "Address": { "type": "object", "properties": { "Street": { "type": "string" }, "City": { "type": "string" }, "State": { "type": "string" }, "ZipCode": { "type": "string" } }, "description": "Complete mailing address" } }
Kompletny przykład analizatora
Oto kompleksowy przykład konfiguracji niestandardowego analizatora faktur, który demonstruje kluczowe pojęcia omówione w tej dokumentacji:
{
"analyzerId": "myCustomInvoiceAnalyzer",
"name": "Custom Invoice Analyzer",
"description": "Extracts vendor information, line items, and totals from commercial invoices",
"baseAnalyzerId": "prebuilt-document",
"config": {
"returnDetails": true,
"enableOcr": true,
"enableLayout": true,
"tableFormat": "html",
"estimateFieldSourceAndConfidence": true,
"omitContent": false
},
"fieldSchema": {
"name": "InvoiceFields",
"fields": {
"VendorName": {
"type": "string",
"description": "Name of the vendor or supplier, typically found in the header section",
"method": "extract"
},
"VendorAddress": {
"type": "object",
"properties": {
"Street": { "type": "string" },
"City": { "type": "string" },
"State": { "type": "string" },
"ZipCode": { "type": "string" }
},
"description": "Complete vendor mailing address"
},
"InvoiceNumber": {
"type": "string",
"description": "Unique invoice number, often labeled as 'Invoice #' or 'Invoice No.'",
"method": "extract"
},
"InvoiceDate": {
"type": "date",
"description": "Date the invoice was issued, in format MM/DD/YYYY",
"method": "extract"
},
"DueDate": {
"type": "date",
"description": "Payment due date",
"method": "extract"
},
"LineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Description": {
"type": "string",
"description": "Item or service description"
},
"Quantity": {
"type": "number",
"description": "Quantity ordered"
},
"UnitPrice": {
"type": "number",
"description": "Price per unit"
},
"Amount": {
"type": "number",
"description": "Line total (Quantity × UnitPrice)"
}
}
},
"description": "List of items or services on the invoice, typically in a table format",
"method": "generate"
},
"Subtotal": {
"type": "number",
"description": "Sum of all line items before tax",
"method": "extract"
},
"Tax": {
"type": "number",
"description": "Tax amount"
},
"Total": {
"type": "number",
"description": "Total amount due (Subtotal + Tax)"
},
"PaymentTerms": {
"type": "string",
"description": "Payment terms and conditions (for example, 'Net 30', 'Due upon receipt')",
"method": "generate"
}
}
},
"supportedModels": {
"completion": ["gpt-5.2"],
"embedding": ["text-embedding-3-large", "text-embedding-3-small"]
},
"models": {
"completion": "gpt-5.2",
"embedding": "text-embedding-3-large"
}
}
Tworzenie analizatora niestandardowego
Aby utworzyć analizator niestandardowy na podstawie struktury konfiguracji opisanej w tym dokumencie, użyj interfejsu API REST usługi Content Understanding, aby przesłać definicję analizatora.
Punkt końcowy interfejsu API
Użyj następującego polecenia curl, aby utworzyć analizator niestandardowy, przesyłając konfigurację analizatora z pliku JSON:
curl -X PUT "https://{endpoint}/contentunderstanding/analyzers/{analyzerId}?api-version=2025-11-01" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: {key}" \
-d @analyzer-definition.json
Zastąp następujące symbole zastępcze:
-
{endpoint}— Punkt końcowy zasobu usługi Content Understanding -
{analyzerId}- Unikatowy identyfikator analizatora -
{key}— Klucz subskrypcji usługi Content Understanding -
analyzer-definition.json- Ścieżka do pliku konfiguracji analizatora
Treść żądania
Plik konfiguracji analizatora powinien być obiektem JSON zawierającym właściwości opisane w tym odwołaniu. Pełny przykład można znaleźć w samouczku Tworzenie analizatora niestandardowego.
Odpowiedzi
Interfejs API zwraca 201 Created odpowiedź z nagłówkiem Operation-Location, którego można użyć do śledzenia statusu operacji tworzenia analizatora.
Następne kroki
Aby zapoznać się z kompletnym przewodnikiem z przykładami dla różnych typów zawartości (dokumentów, obrazów, audio, wideo), zobacz Tworzenie analizatora niestandardowego.
Konfiguracja według typu zawartości
Różne typy zawartości obsługują różne opcje konfiguracji. Oto szybki odnośnik:
Analizatory dokumentów
Analizator podstawowy:prebuilt-document
Obsługiwane opcje konfiguracji:
- ✅
returnDetails - ✅
omitContent - ✅
enableOcr - ✅
enableLayout - ✅
enableFormula - ✅
enableBarcode - ✅
tableFormat - ✅
chartFormat - ✅
enableFigureDescription - ✅
enableFigureAnalysis - ✅
enableAnnotations - ✅
annotationFormat - ✅
enableSegment - ✅
segmentPerPage -
✅
estimateFieldSourceAndConfidence(analizatory strukturalne) -
✅
contentCategories(analizatory z wieloma wariantami)
Analizatory audio
Analizator podstawowy:prebuilt-audio
Obsługiwane opcje konfiguracji:
- ✅
returnDetails - ✅
locales
Analizatory wideo
Analizator podstawowy:prebuilt-video
Obsługiwane opcje konfiguracji:
- ✅
returnDetails - ✅
locales - ✅
contentCategories - ✅
enableSegment - ✅
omitContent
Analizatory obrazów
Analizator podstawowy:prebuilt-image
Obsługiwane opcje konfiguracji:
- ✅
returnDetails
Wyniki filtru zawartości w odpowiedzi analizy
Gdy wdrożenie modelu Foundry przetwarza zawartość, skojarzone wystąpienie Guardrails ocenia zarówno wiadomość wejściową, jak i wynik modelu pod kątem potencjalnie szkodliwej zawartości. Jeśli jakakolwiek kategoria jest oznaczona lub zablokowana, Content Understanding zawiera tablicę content_filters w odpowiedzi na analizę.
Każdy obiekt w tablicy content_filters ma następującą strukturę:
| Właściwość | Typ | Opis |
|---|---|---|
blocked |
Boolean |
true jeśli zawartość została zablokowana przez wystąpienie Guardrails; false jeśli została oznaczona, ale i dozwolona. |
source_type |
ciąg | Czy flaga pochodzi z danych wejściowych modelu ("prompt") lub danych wyjściowych modelu ("completion"). |
content_filter_raw |
macierz | Surowe dane wyjściowe filtru z wystąpienia Guardrails. Może być pusty. |
content_filter_results |
obiekt | Klasyfikacje ważności dla poszczególnych kategorii. Każda kategoria zawiera filtered (wartość logiczną) i severity ("safe", "low", "medium"lub "high"). |
Następujące kategorie mogą pojawić się w content_filter_results:
| Kategoria | Opis |
|---|---|
hate |
Zawartość, która atakuje lub używa języka pejoracyjnego na podstawie chronionej charakterystyki. |
sexual |
Jawne lub niejawne treści seksualne. |
violence |
Zawartość, która przedstawia lub gloryfikuje brutalne akty. |
self_harm |
Zawartość, która promuje lub opisuje zachowania autodestrukcyjne. |
Przykładowe content_filters wyjście
W poniższym przykładzie pokazano wpis, content_filters w którym ukończenie zostało zablokowane z powodu zawartości seksualnej o wysokiej ważności:
"content_filters": [
{
"blocked": true,
"source_type": "completion",
"content_filter_raw": [],
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": true,
"severity": "high"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
]
Gdy blocked jest ustawiona na true, operacja analizowania zwraca informację o błędzie i nie zawiera żadnych wyników wyodrębniania pól. Gdy blocked ma wartość false, ale kategorie pojawiają się z niezerową dotkliwością, zawartość jest adnotowana i przekazywana dalej — możesz sprawdzić element content_filter_results, aby zdecydować, jak obsłużyć dane wyjściowe we własnym przepływie pracy.
Zmiana zachowania filtru zawartości
Progi filtrowania treści i blokowanie/adnotowanie zachowania są konfigurowane na instancji Guardrails powiązanej z wdrożeniem modelu Foundry. Aby zmienić zachowanie:
- W projekcie Azure AI Foundry przejdź do wdrożenia modelu używanego przez analizatora.
- Wybierz skomponowaną konfigurację Guardrails.
- Dostosuj progi lub przełącz kategorie z Blokuj na Adnotacje zgodnie z potrzebami.
Jeśli chcesz zmniejszyć lub wyłączyć kategorię filtru w sposób, który nie jest domyślnie dozwolony, możesz zwrócić się o zmodyfikowane filtry treści. Aby uzyskać więcej informacji, zobacz Filtrowanie zawartości i Zabezpieczenia.
Powiązana zawartość
- Dowiedz się więcej o gotowych analizatorach dostępnych w usłudze Content Understanding.
- Zapoznaj się z szablonami analizatorów , aby szybko rozpocząć pracę.
- Utwórz własny analizator, postępując zgodnie z samouczkiem tworzenia niestandardowego analizatora.
- Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi optymalnego wyodrębniania wyników.
- Dowiedz się więcej o trybie agenta dla złożonych scenariuszy dokumentów z dużą liczbą przyczyn.
- Przejrzyj elementy dokumentu i elementy wideo , aby uzyskać szczegółowe informacje na temat wyodrębnionej zawartości.
- Rozpocznij od utworzenia i testowania analizatorów w narzędziu Foundry.