Document Intelligence genel önizleme sürümleri, etkin geliştirme aşamasında olan özelliklere erken erişim sağlar. Genel Kullanılabilirlik (GA) öncesinde kullanıcı geri bildirimlerine göre özellikler, yaklaşımlar ve süreçler değişebilir.
Belge Zekası istemci kitaplıklarının genel önizleme sürümü varsayılan olarak REST API sürüm 2024-07-31-preview'dır.
Genel önizleme sürümü 2024-07-31-preview şu anda yalnızca aşağıdaki Azure bölgelerinde kullanılabilir. AI Studio'daki özel oluşturucu (belge alanı ayıklama) modelinin yalnızca Orta Kuzey ABD bölgesinde kullanılabildiğini unutmayın:
Doğu ABD
Batı ABD2
Batı Avrupa
Orta Kuzey ABD
Bu içerik şunlar için geçerlidir:v4.0 (önizleme) | Önceki sürümler:v3.1 (GA)
Bu içerik şunlar için geçerlidir:v3.1 (GA) | En son sürüm: v4.0 (önizleme)
Not
Eklenti özellikleri Kartvizit modeli dışındaki tüm modellerde kullanılabilir.
Özellikler
Belge Zekası daha gelişmiş ve modüler analiz özelliklerini destekler. Sonuçları belgelerinizden ayıklanan daha fazla özellik içerecek şekilde genişletmek için eklenti özelliklerini kullanın. Bazı eklenti özellikleri ek ücrete tabidir. Bu isteğe bağlı özellikler, belge ayıklama senaryosuna bağlı olarak etkinleştirilebilir ve devre dışı bırakılabilir. Bir özelliği etkinleştirmek için ilişkili özellik adını sorgu dizesi özelliğine features ekleyin. Bir istekte, virgülle ayrılmış bir özellik listesi sağlayarak birden fazla eklenti özelliğini etkinleştirebilirsiniz. Aşağıdaki eklenti özellikleri ve sonraki sürümler için 2023-07-31 (GA) kullanılabilir.
Tüm eklenti özellikleri tüm modeller tarafından desteklenmez. Daha fazla bilgi için bkz. model veri ayıklama.
Eklenti özellikleri şu anda Microsoft Office dosya türleri için desteklenmemektedir.
Belge Yönetim Bilgileri, belge ayıklama senaryosuna bağlı olarak etkinleştirilebilen ve devre dışı bırakılabilir isteğe bağlı özellikleri destekler. ve sonraki sürümler için 2023-10-31-previewaşağıdaki eklenti özellikleri kullanılabilir:
2023-10-30-preview API'sindeki sorgu alanları uygulaması, son önizleme sürümünden farklıdır. Yeni uygulama daha ucuzdur ve yapılandırılmış belgelerle iyi çalışır.
✱ Eklenti - Sorgu alanları diğer eklenti özelliklerinden farklı fiyatlendirilir. Ayrıntılar için fiyatlandırmaya bakın.
Desteklenen dosya biçimleri
PDF
Görüntüler: JPEG/JPG, PNG, BMP, TIFF, HEIF
✱ Microsoft Office dosyaları şu anda desteklenmiyor.
Yüksek çözünürlüklü ayıklama
Mühendislik çizimleri gibi büyük boyutlu belgelerden küçük metinleri tanıma görevi zor bir görevdir. Genellikle metin diğer grafik öğelerle karıştırılır ve çeşitli yazı tipleri, boyutları ve yönlendirmeleri vardır. Ayrıca, metin ayrı parçalara ayrılabilir veya diğer simgelerle bağlanabilir. Belge Zekası artık bu tür belgelerden içerik ayıklama özelliğini ocr.highResolution destekliyor. Bu eklenti özelliğini etkinleştirerek A1/A2/A3 belgelerinden geliştirilmiş içerik ayıklama kalitesi elde edersiniz.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-highres.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.OCR_HIGH_RESOLUTION], # Specify which add-on capabilities to enable.
)
result: AnalyzeResult = poller.result()
# [START analyze_with_highres]
if result.styles and any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{line.polygon}'"
)
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
# Analyze a document at a URL:
url = "(https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-highres.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.OCR_HIGH_RESOLUTION] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_with_highres]
if any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_polygon(line.polygon)}'"
)
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
)
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
Bu ocr.formula özellik, matematik denklemleri gibi tanımlanan tüm formülleri altında bir üst düzey nesne contentolarak koleksiyonda formulas ayıklar. içinde contentalgılanan formüller olarak :formula:temsil edilir. Bu koleksiyondaki her girdi, veya displayolarak inline formül türünü ve koordinatlarıyla birlikte LaTeX gösterimini valuepolygon içeren bir formülü temsil eder. Başlangıçta, formüller her sayfanın sonunda görünür.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/layout-formulas.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.FORMULAS], # Specify which add-on capabilities to enable
)
result: AnalyzeResult = poller.result()
# [START analyze_formulas]
for page in result.pages:
print(f"----Formulas detected from page #{page.page_number}----")
if page.formulas:
inline_formulas = [f for f in page.formulas if f.kind == "inline"]
display_formulas = [f for f in page.formulas if f.kind == "display"]
# To learn the detailed concept of "polygon" in the following content, visit: https://aka.ms/bounding-region
print(f"Detected {len(inline_formulas)} inline formulas.")
for formula_idx, formula in enumerate(inline_formulas):
print(f"- Inline #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {formula.polygon}")
print(f"\nDetected {len(display_formulas)} display formulas.")
for formula_idx, formula in enumerate(display_formulas):
print(f"- Display #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {formula.polygon}")
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/layout-formulas.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.FORMULAS] # Specify which add-on capabilities to enable
)
result = poller.result()
# [START analyze_formulas]
for page in result.pages:
print(f"----Formulas detected from page #{page.page_number}----")
inline_formulas = [f for f in page.formulas if f.kind == "inline"]
display_formulas = [f for f in page.formulas if f.kind == "display"]
print(f"Detected {len(inline_formulas)} inline formulas.")
for formula_idx, formula in enumerate(inline_formulas):
print(f"- Inline #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {format_polygon(formula.polygon)}")
print(f"\nDetected {len(display_formulas)} display formulas.")
for formula_idx, formula in enumerate(display_formulas):
print(f"- Display #{formula_idx}: {formula.value}")
print(f" Confidence: {formula.confidence}")
print(f" Bounding regions: {format_polygon(formula.polygon)}")
"content": ":formula:",
"pages": [
{
"pageNumber": 1,
"formulas": [
{
"kind": "inline",
"value": "\\frac { \\partial a } { \\partial b }",
"polygon": [...],
"span": {...},
"confidence": 0.99
},
{
"kind": "display",
"value": "y = a \\times b + a \\times c",
"polygon": [...],
"span": {...},
"confidence": 0.99
}
]
}
]
Yazı tipi özelliği ayıklama
özelliği, ocr.font koleksiyonda styles ayıklanan metnin tüm yazı tipi özelliklerini altında contenten üst düzey nesne olarak ayıklar. Her stil nesnesi tek bir yazı tipi özelliğini, uygulandığı metin aralığını ve buna karşılık gelen güvenilirlik puanını belirtir. Varolan stil özelliği, metnin yazı tipi, italik ve normal gibi stiller, fontStyle kalın veya normalcolor, fontWeight metnin rengi ve backgroundColor metin sınırlayıcı kutusunun rengi gibi daha fazla yazı tipi özelliğiyle similarFontFamily genişletilir.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/receipt/receipt-with-tips.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.STYLE_FONT] # Specify which add-on capabilities to enable.
)
result: AnalyzeResult = poller.result()
# [START analyze_fonts]
# DocumentStyle has the following font related attributes:
similar_font_families = defaultdict(list) # e.g., 'Arial, sans-serif
font_styles = defaultdict(list) # e.g, 'italic'
font_weights = defaultdict(list) # e.g., 'bold'
font_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
font_background_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
if result.styles and any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
return
print("\n----Fonts styles detected in the document----")
# Iterate over the styles and group them by their font attributes.
for style in result.styles:
if style.similar_font_family:
similar_font_families[style.similar_font_family].append(style)
if style.font_style:
font_styles[style.font_style].append(style)
if style.font_weight:
font_weights[style.font_weight].append(style)
if style.color:
font_colors[style.color].append(style)
if style.background_color:
font_background_colors[style.background_color].append(style)
print(f"Detected {len(similar_font_families)} font families:")
for font_family, styles in similar_font_families.items():
print(f"- Font family: '{font_family}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_styles)} font styles:")
for font_style, styles in font_styles.items():
print(f"- Font style: '{font_style}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_weights)} font weights:")
for font_weight, styles in font_weights.items():
print(f"- Font weight: '{font_weight}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_colors)} font colors:")
for font_color, styles in font_colors.items():
print(f"- Font color: '{font_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_background_colors)} font background colors:")
for font_background_color, styles in font_background_colors.items():
print(f"- Font background color: '{font_background_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/receipt/receipt-with-tips.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.STYLE_FONT] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_fonts]
# DocumentStyle has the following font related attributes:
similar_font_families = defaultdict(list) # e.g., 'Arial, sans-serif
font_styles = defaultdict(list) # e.g, 'italic'
font_weights = defaultdict(list) # e.g., 'bold'
font_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
font_background_colors = defaultdict(list) # in '#rrggbb' hexadecimal format
if any([style.is_handwritten for style in result.styles]):
print("Document contains handwritten content")
else:
print("Document does not contain handwritten content")
print("\n----Fonts styles detected in the document----")
# Iterate over the styles and group them by their font attributes.
for style in result.styles:
if style.similar_font_family:
similar_font_families[style.similar_font_family].append(style)
if style.font_style:
font_styles[style.font_style].append(style)
if style.font_weight:
font_weights[style.font_weight].append(style)
if style.color:
font_colors[style.color].append(style)
if style.background_color:
font_background_colors[style.background_color].append(style)
print(f"Detected {len(similar_font_families)} font families:")
for font_family, styles in similar_font_families.items():
print(f"- Font family: '{font_family}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_styles)} font styles:")
for font_style, styles in font_styles.items():
print(f"- Font style: '{font_style}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_weights)} font weights:")
for font_weight, styles in font_weights.items():
print(f"- Font weight: '{font_weight}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_colors)} font colors:")
for font_color, styles in font_colors.items():
print(f"- Font color: '{font_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
print(f"\nDetected {len(font_background_colors)} font background colors:")
for font_background_color, styles in font_background_colors.items():
print(f"- Font background color: '{font_background_color}'")
print(f" Text: '{get_styled_text(styles, result.content)}'")
Bu özellik koleksiyondaki ocr.barcodebarcodes tüm tanımlanan barkodları altında contenten üst düzey nesne olarak ayıklar. contentiçinde algılanan barkodlar olarak :barcode:temsil edilir. Bu koleksiyondaki her giriş bir barkodu temsil eder ve koordinatlarıyla birlikte polygon olarak kind barkod türünü ve ekli barkod içeriğini value içerir. Başlangıçta, her sayfanın sonunda barkodlar görünür. confidence için 1 olarak sabit kodlanmıştır.
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-barcodes.jpg?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.BARCODES] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_barcodes]
# Iterate over extracted barcodes on each page.
for page in result.pages:
print(f"----Barcodes detected from page #{page.page_number}----")
print(f"Detected {len(page.barcodes)} barcodes:")
for barcode_idx, barcode in enumerate(page.barcodes):
print(f"- Barcode #{barcode_idx}: {barcode.value}")
print(f" Kind: {barcode.kind}")
print(f" Confidence: {barcode.confidence}")
print(f" Bounding regions: {format_polygon(barcode.polygon)}")
languages özelliği analyzeResult isteğe eklendiğinde, altındaki analyzeResultkoleksiyonda ile confidence birlikte her metin satırı için algılanan birincil dil tahmininde bulunurlanguages.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-fonts_and_languages.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.LANGUAGES] # Specify which add-on capabilities to enable.
)
result: AnalyzeResult = poller.result()
# [START analyze_languages]
print("----Languages detected in the document----")
if result.languages:
print(f"Detected {len(result.languages)} languages:")
for lang_idx, lang in enumerate(result.languages):
print(f"- Language #{lang_idx}: locale '{lang.locale}'")
print(f" Confidence: {lang.confidence}")
print(
f" Text: '{','.join([result.content[span.offset : span.offset + span.length] for span in lang.spans])}'"
)
# Analyze a document at a URL:
url = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/add-on/add-on-fonts_and_languages.png?raw=true"
poller = document_analysis_client.begin_analyze_document_from_url(
"prebuilt-layout", document_url=url, features=[AnalysisFeature.LANGUAGES] # Specify which add-on capabilities to enable.
)
result = poller.result()
# [START analyze_languages]
print("----Languages detected in the document----")
print(f"Detected {len(result.languages)} languages:")
for lang_idx, lang in enumerate(result.languages):
print(f"- Language #{lang_idx}: locale '{lang.locale}'")
print(f" Confidence: {lang.confidence}")
print(f" Text: '{','.join([result.content[span.offset : span.offset + span.length] for span in lang.spans])}'")
Aranabilir PDF özelliği, taranmış resim PDF dosyaları gibi bir analog PDF'yi eklenmiş metin içeren bir PDF'ye dönüştürmenizi sağlar. Ekli metin, algılanan metin varlıklarını görüntü dosyalarının üzerine katmanlayarak PDF'nin ayıklanan içeriğinde derin metin araması sağlar.
Önemli
Şu anda, aranabilir PDF özelliği yalnızca Okuma OCR modeli prebuilt-readtarafından desteklenir. Bu özelliği kullanırken, diğer model türleri bu önizleme sürümü için hata döndüreceği için değerini olarak prebuilt-readbelirtinmodelId.
Aranabilir PDF, genel PDF tüketimi için kullanım maliyeti olmadan 2024-07-31-preview prebuilt-read modeline dahildir.
Aranabilir PDF kullanma
Aranabilir PDF'yi kullanmak için işlemi kullanarak bir POST istekte bulunup Analyze çıkış biçimini olarak pdfbelirtin:
POST /documentModels/prebuilt-read:analyze?output=pdf
{...}
202
Analyze İşlem tamamlandıktan sonra, işlem sonuçlarını almak için bir GET istekte bulunabilirsinizAnalyze.
Başarıyla tamamlandıktan sonra PDF olarak alınabilir ve indirilebilir application/pdf. Bu işlem, Base64 ile kodlanmış JSON yerine PDF'nin eklenmiş metin biçiminin doğrudan indirilmesini sağlar.
// Monitor the operation until completion.
GET /documentModels/prebuilt-read/analyzeResults/{resultId}
200
{...}
// Upon successful completion, retrieve the PDF as application/pdf.
GET /documentModels/prebuilt-read/analyzeResults/{resultId}/pdf
200 OK
Content-Type: application/pdf
Anahtar-değer Çiftleri
Önceki API sürümlerinde model, prebuilt-document formlardan ve belgelerden anahtar-değer çiftlerini ayıklamıştı. Özelliğin keyValuePairs önceden oluşturulmuş düzene eklenmesiyle, düzen modeli artık aynı sonuçları üretir.
Anahtar-değer çiftleri, belge içinde bir etiketi veya anahtarı ve ilişkili yanıtını veya değerini tanımlayan belirli aralıklardır. Yapılandırılmış bir formda, bu çiftler etiket ve kullanıcının bu alan için girdiği değer olabilir. Yapılandırılmamış bir belgede, bir paragraftaki metne göre sözleşmenin yürütülme tarihi olabilir. Yapay zeka modeli, çok çeşitli belge türlerine, biçimlere ve yapılara göre tanımlanabilir anahtarları ve değerleri ayıklamak için eğitilir.
Model bir anahtarın mevcut olduğunu algıladığında, ilişkili değer olmadan veya isteğe bağlı alanları işlerken de anahtarlar yalıtılabilir. Örneğin, bazı durumlarda ikinci ad alanı formda boş bırakılabilir. Anahtar-değer çiftleri, belgede yer alan metinlerin yayılma alanlarıdır. Aynı değerin müşteri/kullanıcı gibi farklı şekillerde açıklandığı belgeler için, ilişkili anahtar müşteri veya kullanıcıdır (bağlama göre).
Sorgu alanları, önceden oluşturulmuş herhangi bir modelden ayıklanan şemayı genişletmeye veya anahtar adı değişken olduğunda belirli bir anahtar adı tanımlamaya yönelik bir eklenti özelliğidir. Sorgu alanlarını kullanmak için özellikleri queryFields olarak ayarlayın ve özelliğindeki queryFields alan adlarının virgülle ayrılmış bir listesini sağlayın.
Belge Zekası artık sorgu alanı ayıklamalarını destekliyor. Sorgu alanı ayıklama ile, ek eğitime gerek kalmadan bir sorgu isteği kullanarak ayıklama işlemine alanlar ekleyebilirsiniz.
Önceden oluşturulmuş veya özel bir modelin şemasını genişletmeniz veya düzenin çıkışıyla birkaç alan ayıklamanız gerektiğinde sorgu alanlarını kullanın.
Sorgu alanları premium eklenti özelliğidir. En iyi sonuçları elde etmek için, çok sözcüklü alan adları için deve büyük/küçük harf veya Pascal büyük/küçük harf alan adlarını kullanarak ayıklamak istediğiniz alanları tanımlayın.
Sorgu alanları istek başına en fazla 20 alanı destekler. Belge alan için bir değer içeriyorsa, alan ve değer döndürülür.
Bu sürüm, önceki uygulamadan daha düşük fiyatlı ve doğrulanması gereken sorgu alanları özelliğinin yeni bir uygulamasına sahiptir.
Not
Document Intelligence Studio sorgu alanı ayıklama şu anda Düzen ve Önceden Oluşturulmuş modeller 2024-02-29-preview2023-10-31-preview API'siyle ve modeller (W2, 1098 ve 1099s modelleri) dışında US tax sonraki sürümlerde kullanılabilir.
Sorgu alanı ayıklama
Sorgu alanı ayıklama için, ayıklamak istediğiniz alanları belirtin ve Belge Yönetim Bilgileri belgeyi uygun şekilde analiz eder. Bir örnek aşağıda verilmiştir:
Document Intelligence Studio'da bir sözleşmeyi işliyorsanız veya 2023-10-31-preview sürümlerini kullanın2024-02-29-preview:
İsteğin bir parçası olarak , , Party2, TermsOfUsePaymentTerms, , PaymentDateve TermEndDate gibi Party1alan etiketlerinin analyze document listesini geçirebilirsiniz.
Belge Zekası, alan verilerini analiz edip ayıklayabilir ve yapılandırılmış bir JSON çıkışındaki değerleri döndürebildi.
Sorgu alanlarına ek olarak, yanıt metin, tablo, seçim işareti ve diğer ilgili verileri içerir.
# Analyze a document at a URL:
formUrl = "https://github.com/Azure-Samples/document-intelligence-code-samples/blob/main/Data/invoice/simple-invoice.png?raw=true"
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=formUrl),
features=[DocumentAnalysisFeature.QUERY_FIELDS], # Specify which add-on capabilities to enable.
query_fields=["Address", "InvoiceNumber"], # Set the features and provide a comma-separated list of field names.
)
result: AnalyzeResult = poller.result()
print("Here are extra fields in result:\n")
if result.documents:
for doc in result.documents:
if doc.fields and doc.fields["Address"]:
print(f"Address: {doc.fields['Address'].value_string}")
if doc.fields and doc.fields["InvoiceNumber"]:
print(f"Invoice number: {doc.fields['InvoiceNumber'].value_string}")