Udostępnij za pośrednictwem


DocumentAnalysisClient Klasa

DocumentAnalysisClient analizuje informacje z dokumentów i obrazów oraz klasyfikuje dokumenty. Jest to interfejs używany do analizowania z wstępnie utworzonymi modelami (paragony, wizytówki, faktury, dokumenty tożsamości, między innymi), analizowanie układu z dokumentów, analizowanie ogólnych typów dokumentów i analizowanie dokumentów niestandardowych za pomocą wbudowanych modeli (aby wyświetlić pełną listę modeli obsługiwanych przez usługę, zobacz: https://aka.ms/azsdk/formrecognizer/models). Udostępnia różne metody na podstawie danych wejściowych z adresu URL i danych wejściowych strumienia.

Uwaga

Obiekt DocumentAnalysisClient powinien być używany z wersjami interfejsu API

2022-08-31 i nowszy. Aby użyć wersji <interfejsu API =v2.1, utwórz wystąpienie obiektu FormRecognizerClient.

Nowość w wersji 2022-08-31: DocumentAnalysisClient i jej metody klienta.

Dziedziczenie
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
DocumentAnalysisClient

Konstruktor

DocumentAnalysisClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

Parametry

endpoint
str
Wymagane

Obsługiwane punkty końcowe usług Cognitive Services (protokół i nazwa hosta, na przykład: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential lub TokenCredential
Wymagane

Poświadczenia wymagane do nawiązania połączenia z platformą Azure przez klienta. Jest to wystąpienie obiektu AzureKeyCredential, jeśli używasz klucza interfejsu API lub poświadczeń tokenu z usługi identity.

api_version
str lub DocumentAnalysisApiVersion

Wersja interfejsu API usługi do użycia dla żądań. Domyślnie jest to najnowsza wersja usługi. Ustawienie starszej wersji może spowodować zmniejszenie zgodności funkcji. Aby użyć wersji <interfejsu API =v2.1, utwórz wystąpienie obiektu FormRecognizerClient.

Przykłady

Tworzenie obiektu DocumentAnalysisClient przy użyciu punktu końcowego i klucza interfejsu API.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   document_analysis_client = DocumentAnalysisClient(endpoint, AzureKeyCredential(key))

Tworzenie obiektu DocumentAnalysisClient przy użyciu poświadczeń tokenu.


   """DefaultAzureCredential will use the values from these environment
   variables: AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET
   """
   from azure.ai.formrecognizer import DocumentAnalysisClient
   from azure.identity import DefaultAzureCredential

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   credential = DefaultAzureCredential()

   document_analysis_client = DocumentAnalysisClient(endpoint, credential)

Metody

begin_analyze_document

Analizowanie tekstu pola i wartości semantycznych z danego dokumentu.

Nowość w wersji 2023-07-31: argument słowa kluczowego features .

begin_analyze_document_from_url

Analizowanie tekstu pola i wartości semantycznych z danego dokumentu. Dane wejściowe muszą być lokalizacją (adres URL) dokumentu do przeanalizowania.

Nowość w wersji 2023-07-31: argument słowa kluczowego features .

begin_classify_document

Klasyfikowanie dokumentu przy użyciu klasyfikatora dokumentów. Aby uzyskać więcej informacji na temat tworzenia niestandardowego modelu klasyfikatora, zobacz https://aka.ms/azsdk/formrecognizer/buildclassifiermodel.

Nowość w wersji 2023-07-31: metoda klienta begin_classify_document .

begin_classify_document_from_url

Klasyfikowanie danego dokumentu za pomocą klasyfikatora dokumentów. Aby uzyskać więcej informacji na temat tworzenia niestandardowego modelu klasyfikatora, zobacz https://aka.ms/azsdk/formrecognizer/buildclassifiermodel. Dane wejściowe muszą być lokalizacją (url) dokumentu do sklasyfikowania.

Nowość w wersji 2023-07-31: metoda klienta begin_classify_document_from_url .

close

Zamknij sesję DocumentAnalysisClient .

send_request

Uruchamia żądanie sieciowe przy użyciu istniejącego potoku klienta.

Adres URL żądania może być względny względem podstawowego adresu URL. Wersja interfejsu API usługi używana dla żądania jest taka sama jak wersja klienta, chyba że określono inaczej. Zastępowanie skonfigurowanej wersji interfejsu API klienta w względnym adresie URL jest obsługiwane na kliencie z interfejsem API w wersji 2022-08-31 i nowszych. Zastępowanie bezwzględnego adresu URL obsługiwanego na kliencie z dowolną wersją interfejsu API. Ta metoda nie zgłasza się, jeśli odpowiedź jest błędem; aby zgłosić wyjątek, wywołaj metodę raise_for_status() dla zwróconego obiektu odpowiedzi. Aby uzyskać więcej informacji na temat wysyłania żądań niestandardowych za pomocą tej metody, zobacz https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_analyze_document

Analizowanie tekstu pola i wartości semantycznych z danego dokumentu.

Nowość w wersji 2023-07-31: argument słowa kluczowego features .

begin_analyze_document(model_id: str, document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[AnalyzeResult]

Parametry

model_id
str
Wymagane

Unikatowy identyfikator modelu można przekazać jako ciąg. Służy do określania identyfikatora modelu niestandardowego lub wstępnie utworzonego identyfikatora modelu. Obsługiwane wstępnie utworzone identyfikatory modeli można znaleźć tutaj: https://aka.ms/azsdk/formrecognizer/models

document
bytes lub IO[bytes]
Wymagane

Strumień plików lub bajty. Aby uzyskać informacje o obsługiwanych typach plików usługi, zobacz: https://aka.ms/azsdk/formrecognizer/supportedfiles.

pages
str

Niestandardowe numery stron dla dokumentów wielostronicowych (PDF/TIFF). Wprowadź numery stron i/lub zakresy stron, które chcesz uzyskać w wyniku. W przypadku zakresu stron użyj łącznika, takiego jak pages="1-3, 5-6". Oddziel każdy numer strony lub zakres przecinkiem.

locale
str

Wskazówka ustawień regionalnych dokumentu wejściowego. Zobacz obsługiwane ustawienia regionalne tutaj: https://aka.ms/azsdk/formrecognizer/supportedlocales.

features
list[str]

Funkcje analizy dokumentów do włączenia.

Zwraca

Wystąpienie LROPoller. Wywołaj metodę result() obiektu poller, aby zwrócić element AnalyzeResult.

Typ zwracany

Wyjątki

Przykłady

Analizowanie faktury. Aby uzyskać więcej przykładów, zobacz folder samples .


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_analyze_document(
           "prebuilt-invoice", document=f, locale="en-US"
       )
   invoices = poller.result()

   for idx, invoice in enumerate(invoices.documents):
       print(f"--------Analyzing invoice #{idx + 1}--------")
       vendor_name = invoice.fields.get("VendorName")
       if vendor_name:
           print(
               f"Vendor Name: {vendor_name.value} has confidence: {vendor_name.confidence}"
           )
       vendor_address = invoice.fields.get("VendorAddress")
       if vendor_address:
           print(
               f"Vendor Address: {vendor_address.value} has confidence: {vendor_address.confidence}"
           )
       vendor_address_recipient = invoice.fields.get("VendorAddressRecipient")
       if vendor_address_recipient:
           print(
               f"Vendor Address Recipient: {vendor_address_recipient.value} has confidence: {vendor_address_recipient.confidence}"
           )
       customer_name = invoice.fields.get("CustomerName")
       if customer_name:
           print(
               f"Customer Name: {customer_name.value} has confidence: {customer_name.confidence}"
           )
       customer_id = invoice.fields.get("CustomerId")
       if customer_id:
           print(
               f"Customer Id: {customer_id.value} has confidence: {customer_id.confidence}"
           )
       customer_address = invoice.fields.get("CustomerAddress")
       if customer_address:
           print(
               f"Customer Address: {customer_address.value} has confidence: {customer_address.confidence}"
           )
       customer_address_recipient = invoice.fields.get("CustomerAddressRecipient")
       if customer_address_recipient:
           print(
               f"Customer Address Recipient: {customer_address_recipient.value} has confidence: {customer_address_recipient.confidence}"
           )
       invoice_id = invoice.fields.get("InvoiceId")
       if invoice_id:
           print(
               f"Invoice Id: {invoice_id.value} has confidence: {invoice_id.confidence}"
           )
       invoice_date = invoice.fields.get("InvoiceDate")
       if invoice_date:
           print(
               f"Invoice Date: {invoice_date.value} has confidence: {invoice_date.confidence}"
           )
       invoice_total = invoice.fields.get("InvoiceTotal")
       if invoice_total:
           print(
               f"Invoice Total: {invoice_total.value} has confidence: {invoice_total.confidence}"
           )
       due_date = invoice.fields.get("DueDate")
       if due_date:
           print(f"Due Date: {due_date.value} has confidence: {due_date.confidence}")
       purchase_order = invoice.fields.get("PurchaseOrder")
       if purchase_order:
           print(
               f"Purchase Order: {purchase_order.value} has confidence: {purchase_order.confidence}"
           )
       billing_address = invoice.fields.get("BillingAddress")
       if billing_address:
           print(
               f"Billing Address: {billing_address.value} has confidence: {billing_address.confidence}"
           )
       billing_address_recipient = invoice.fields.get("BillingAddressRecipient")
       if billing_address_recipient:
           print(
               f"Billing Address Recipient: {billing_address_recipient.value} has confidence: {billing_address_recipient.confidence}"
           )
       shipping_address = invoice.fields.get("ShippingAddress")
       if shipping_address:
           print(
               f"Shipping Address: {shipping_address.value} has confidence: {shipping_address.confidence}"
           )
       shipping_address_recipient = invoice.fields.get("ShippingAddressRecipient")
       if shipping_address_recipient:
           print(
               f"Shipping Address Recipient: {shipping_address_recipient.value} has confidence: {shipping_address_recipient.confidence}"
           )
       print("Invoice items:")
       for idx, item in enumerate(invoice.fields.get("Items").value):
           print(f"...Item #{idx + 1}")
           item_description = item.value.get("Description")
           if item_description:
               print(
                   f"......Description: {item_description.value} has confidence: {item_description.confidence}"
               )
           item_quantity = item.value.get("Quantity")
           if item_quantity:
               print(
                   f"......Quantity: {item_quantity.value} has confidence: {item_quantity.confidence}"
               )
           unit = item.value.get("Unit")
           if unit:
               print(f"......Unit: {unit.value} has confidence: {unit.confidence}")
           unit_price = item.value.get("UnitPrice")
           if unit_price:
               unit_price_code = unit_price.value.code if unit_price.value.code else ""
               print(
                   f"......Unit Price: {unit_price.value}{unit_price_code} has confidence: {unit_price.confidence}"
               )
           product_code = item.value.get("ProductCode")
           if product_code:
               print(
                   f"......Product Code: {product_code.value} has confidence: {product_code.confidence}"
               )
           item_date = item.value.get("Date")
           if item_date:
               print(
                   f"......Date: {item_date.value} has confidence: {item_date.confidence}"
               )
           tax = item.value.get("Tax")
           if tax:
               print(f"......Tax: {tax.value} has confidence: {tax.confidence}")
           amount = item.value.get("Amount")
           if amount:
               print(
                   f"......Amount: {amount.value} has confidence: {amount.confidence}"
               )
       subtotal = invoice.fields.get("SubTotal")
       if subtotal:
           print(f"Subtotal: {subtotal.value} has confidence: {subtotal.confidence}")
       total_tax = invoice.fields.get("TotalTax")
       if total_tax:
           print(
               f"Total Tax: {total_tax.value} has confidence: {total_tax.confidence}"
           )
       previous_unpaid_balance = invoice.fields.get("PreviousUnpaidBalance")
       if previous_unpaid_balance:
           print(
               f"Previous Unpaid Balance: {previous_unpaid_balance.value} has confidence: {previous_unpaid_balance.confidence}"
           )
       amount_due = invoice.fields.get("AmountDue")
       if amount_due:
           print(
               f"Amount Due: {amount_due.value} has confidence: {amount_due.confidence}"
           )
       service_start_date = invoice.fields.get("ServiceStartDate")
       if service_start_date:
           print(
               f"Service Start Date: {service_start_date.value} has confidence: {service_start_date.confidence}"
           )
       service_end_date = invoice.fields.get("ServiceEndDate")
       if service_end_date:
           print(
               f"Service End Date: {service_end_date.value} has confidence: {service_end_date.confidence}"
           )
       service_address = invoice.fields.get("ServiceAddress")
       if service_address:
           print(
               f"Service Address: {service_address.value} has confidence: {service_address.confidence}"
           )
       service_address_recipient = invoice.fields.get("ServiceAddressRecipient")
       if service_address_recipient:
           print(
               f"Service Address Recipient: {service_address_recipient.value} has confidence: {service_address_recipient.confidence}"
           )
       remittance_address = invoice.fields.get("RemittanceAddress")
       if remittance_address:
           print(
               f"Remittance Address: {remittance_address.value} has confidence: {remittance_address.confidence}"
           )
       remittance_address_recipient = invoice.fields.get("RemittanceAddressRecipient")
       if remittance_address_recipient:
           print(
               f"Remittance Address Recipient: {remittance_address_recipient.value} has confidence: {remittance_address_recipient.confidence}"
           )

Analizowanie dokumentu niestandardowego. Aby uzyskać więcej przykładów, zobacz folder samples .


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   model_id = os.getenv("CUSTOM_BUILT_MODEL_ID", custom_model_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   # Make sure your document's type is included in the list of document types the custom model can analyze
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_analyze_document(
           model_id=model_id, document=f
       )
   result = poller.result()

   for idx, document in enumerate(result.documents):
       print(f"--------Analyzing document #{idx + 1}--------")
       print(f"Document has type {document.doc_type}")
       print(f"Document has document type confidence {document.confidence}")
       print(f"Document was analyzed with model with ID {result.model_id}")
       for name, field in document.fields.items():
           field_value = field.value if field.value else field.content
           print(
               f"......found field of type '{field.value_type}' with value '{field_value}' and with confidence {field.confidence}"
           )

   # iterate over tables, lines, and selection marks on each page
   for page in result.pages:
       print(f"\nLines found on page {page.page_number}")
       for line in page.lines:
           print(f"...Line '{line.content}'")
       for word in page.words:
           print(f"...Word '{word.content}' has a confidence of {word.confidence}")
       if page.selection_marks:
           print(f"\nSelection marks found on page {page.page_number}")
           for selection_mark in page.selection_marks:
               print(
                   f"...Selection mark is '{selection_mark.state}' and has a confidence of {selection_mark.confidence}"
               )

   for i, table in enumerate(result.tables):
       print(f"\nTable {i + 1} can be found on page:")
       for region in table.bounding_regions:
           print(f"...{region.page_number}")
       for cell in table.cells:
           print(
               f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
           )
   print("-----------------------------------")

begin_analyze_document_from_url

Analizowanie tekstu pola i wartości semantycznych z danego dokumentu. Dane wejściowe muszą być lokalizacją (adres URL) dokumentu do przeanalizowania.

Nowość w wersji 2023-07-31: argument słowa kluczowego features .

begin_analyze_document_from_url(model_id: str, document_url: str, **kwargs: Any) -> LROPoller[AnalyzeResult]

Parametry

model_id
str
Wymagane

Unikatowy identyfikator modelu można przekazać jako ciąg. Służy do określania identyfikatora modelu niestandardowego lub wstępnie utworzonego identyfikatora modelu. Obsługiwane wstępnie utworzone identyfikatory modeli można znaleźć tutaj: https://aka.ms/azsdk/formrecognizer/models

document_url
str
Wymagane

Adres URL dokumentu do przeanalizowania. Dane wejściowe muszą być prawidłowym, prawidłowo zakodowanym (tj. kodować znaki specjalne, takie jak puste spacje) i publicznie dostępnym adresem URL. Aby uzyskać informacje o obsługiwanych typach plików usługi, zobacz: https://aka.ms/azsdk/formrecognizer/supportedfiles.

pages
str

Niestandardowe numery stron dla dokumentów wielostronicowych (PDF/TIFF). Wprowadź numery stron i/lub zakresy stron, które chcesz uzyskać w wyniku. W przypadku zakresu stron użyj łącznika, takiego jak pages="1-3, 5-6". Oddziel każdy numer strony lub zakres przecinkiem.

locale
str

Wskazówka ustawień regionalnych dokumentu wejściowego. Zobacz obsługiwane ustawienia regionalne tutaj: https://aka.ms/azsdk/formrecognizer/supportedlocales.

features
list[str]

Funkcje analizy dokumentów do włączenia.

Zwraca

Wystąpienie LROPoller. Wywołaj metodę result() obiektu poller, aby zwrócić element AnalyzeResult.

Typ zwracany

Wyjątki

Przykłady

Analizowanie paragonu. Aby uzyskać więcej przykładów, zobacz folder samples .


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/receipt/contoso-receipt.png"
   poller = document_analysis_client.begin_analyze_document_from_url(
       "prebuilt-receipt", document_url=url
   )
   receipts = poller.result()

   for idx, receipt in enumerate(receipts.documents):
       print(f"--------Analysis of receipt #{idx + 1}--------")
       print(f"Receipt type: {receipt.doc_type if receipt.doc_type else 'N/A'}")
       merchant_name = receipt.fields.get("MerchantName")
       if merchant_name:
           print(
               f"Merchant Name: {merchant_name.value} has confidence: "
               f"{merchant_name.confidence}"
           )
       transaction_date = receipt.fields.get("TransactionDate")
       if transaction_date:
           print(
               f"Transaction Date: {transaction_date.value} has confidence: "
               f"{transaction_date.confidence}"
           )
       if receipt.fields.get("Items"):
           print("Receipt items:")
           for idx, item in enumerate(receipt.fields.get("Items").value):
               print(f"...Item #{idx + 1}")
               item_description = item.value.get("Description")
               if item_description:
                   print(
                       f"......Item Description: {item_description.value} has confidence: "
                       f"{item_description.confidence}"
                   )
               item_quantity = item.value.get("Quantity")
               if item_quantity:
                   print(
                       f"......Item Quantity: {item_quantity.value} has confidence: "
                       f"{item_quantity.confidence}"
                   )
               item_price = item.value.get("Price")
               if item_price:
                   print(
                       f"......Individual Item Price: {item_price.value} has confidence: "
                       f"{item_price.confidence}"
                   )
               item_total_price = item.value.get("TotalPrice")
               if item_total_price:
                   print(
                       f"......Total Item Price: {item_total_price.value} has confidence: "
                       f"{item_total_price.confidence}"
                   )
       subtotal = receipt.fields.get("Subtotal")
       if subtotal:
           print(f"Subtotal: {subtotal.value} has confidence: {subtotal.confidence}")
       tax = receipt.fields.get("TotalTax")
       if tax:
           print(f"Total tax: {tax.value} has confidence: {tax.confidence}")
       tip = receipt.fields.get("Tip")
       if tip:
           print(f"Tip: {tip.value} has confidence: {tip.confidence}")
       total = receipt.fields.get("Total")
       if total:
           print(f"Total: {total.value} has confidence: {total.confidence}")
       print("--------------------------------------")

begin_classify_document

Klasyfikowanie dokumentu przy użyciu klasyfikatora dokumentów. Aby uzyskać więcej informacji na temat tworzenia niestandardowego modelu klasyfikatora, zobacz https://aka.ms/azsdk/formrecognizer/buildclassifiermodel.

Nowość w wersji 2023-07-31: metoda klienta begin_classify_document .

begin_classify_document(classifier_id: str, document: bytes | IO[bytes], **kwargs: Any) -> LROPoller[AnalyzeResult]

Parametry

classifier_id
str
Wymagane

Unikatowy identyfikator klasyfikatora dokumentów można przekazać jako ciąg.

document
bytes lub IO[bytes]
Wymagane

Strumień plików lub bajty. Aby uzyskać informacje o obsługiwanych typach plików usługi, zobacz: https://aka.ms/azsdk/formrecognizer/supportedfiles.

Zwraca

Wystąpienie LROPoller. Wywołaj metodę result() obiektu poller, aby zwrócić element AnalyzeResult.

Typ zwracany

Wyjątki

Przykłady

Klasyfikowanie dokumentu. Aby uzyskać więcej przykładów, zobacz folder samples .


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   classifier_id = os.getenv("CLASSIFIER_ID", classifier_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )
   with open(path_to_sample_documents, "rb") as f:
       poller = document_analysis_client.begin_classify_document(
           classifier_id, document=f
       )
   result = poller.result()

   print("----Classified documents----")
   for doc in result.documents:
       print(
           f"Found document of type '{doc.doc_type or 'N/A'}' with a confidence of {doc.confidence} contained on "
           f"the following pages: {[region.page_number for region in doc.bounding_regions]}"
       )

begin_classify_document_from_url

Klasyfikowanie danego dokumentu za pomocą klasyfikatora dokumentów. Aby uzyskać więcej informacji na temat tworzenia niestandardowego modelu klasyfikatora, zobacz https://aka.ms/azsdk/formrecognizer/buildclassifiermodel. Dane wejściowe muszą być lokalizacją (url) dokumentu do sklasyfikowania.

Nowość w wersji 2023-07-31: metoda klienta begin_classify_document_from_url .

begin_classify_document_from_url(classifier_id: str, document_url: str, **kwargs: Any) -> LROPoller[AnalyzeResult]

Parametry

classifier_id
str
Wymagane

Unikatowy identyfikator klasyfikatora dokumentów można przekazać jako ciąg.

document_url
str
Wymagane

Adres URL dokumentu do sklasyfikowania. Dane wejściowe muszą być prawidłowym, prawidłowo zakodowanym (tj. kodować znaki specjalne, takie jak puste spacje) i publicznie dostępnym adresem URL jednego z obsługiwanych formatów: https://aka.ms/azsdk/formrecognizer/supportedfiles.

Zwraca

Wystąpienie LROPoller. Wywołaj metodę result() obiektu poller, aby zwrócić element AnalyzeResult.

Typ zwracany

Wyjątki

Przykłady

Klasyfikowanie dokumentu. Aby uzyskać więcej przykładów, zobacz folder samples .


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import DocumentAnalysisClient

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   classifier_id = os.getenv("CLASSIFIER_ID", classifier_id)

   document_analysis_client = DocumentAnalysisClient(
       endpoint=endpoint, credential=AzureKeyCredential(key)
   )

   url = "https://raw.githubusercontent.com/Azure/azure-sdk-for-python/main/sdk/formrecognizer/azure-ai-formrecognizer/tests/sample_forms/forms/IRS-1040.pdf"

   poller = document_analysis_client.begin_classify_document_from_url(
       classifier_id, document_url=url
   )
   result = poller.result()

   print("----Classified documents----")
   for doc in result.documents:
       print(
           f"Found document of type '{doc.doc_type or 'N/A'}' with a confidence of {doc.confidence} contained on "
           f"the following pages: {[region.page_number for region in doc.bounding_regions]}"
       )

close

Zamknij sesję DocumentAnalysisClient .

close() -> None

Wyjątki

send_request

Uruchamia żądanie sieciowe przy użyciu istniejącego potoku klienta.

Adres URL żądania może być względny względem podstawowego adresu URL. Wersja interfejsu API usługi używana dla żądania jest taka sama jak wersja klienta, chyba że określono inaczej. Zastępowanie skonfigurowanej wersji interfejsu API klienta w względnym adresie URL jest obsługiwane na kliencie z interfejsem API w wersji 2022-08-31 i nowszych. Zastępowanie bezwzględnego adresu URL obsługiwanego na kliencie z dowolną wersją interfejsu API. Ta metoda nie zgłasza się, jeśli odpowiedź jest błędem; aby zgłosić wyjątek, wywołaj metodę raise_for_status() dla zwróconego obiektu odpowiedzi. Aby uzyskać więcej informacji na temat wysyłania żądań niestandardowych za pomocą tej metody, zobacz https://aka.ms/azsdk/dpcodegen/python/send_request.

send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse

Parametry

request
HttpRequest
Wymagane

Żądanie sieciowe, które chcesz utworzyć.

stream
bool

Określa, czy ładunek odpowiedzi będzie przesyłany strumieniowo. Wartość domyślna to False.

Zwraca

Odpowiedź połączenia sieciowego. Nie obsługuje błędów w odpowiedzi.

Typ zwracany

Wyjątki