FormTrainingClient Kelas

FormTrainingClient adalah antarmuka Form Recognizer yang digunakan untuk membuat dan mengelola model kustom. Ini menyediakan metode untuk model pelatihan pada formulir yang Anda berikan, serta metode untuk melihat dan menghapus model, mengakses properti akun, menyalin model ke sumber daya Form Recognizer lain, dan menyusun model dari kumpulan model yang ada yang dilatih dengan label.

Catatan

FormTrainingClient harus digunakan dengan versi <API =v2.1.

Untuk menggunakan API versi 2022-08-31 ke atas, buat instans DocumentModelAdministrationClient.

Warisan
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBase
FormTrainingClient

Konstruktor

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

Parameter

endpoint
str
Diperlukan

Titik akhir Cognitive Services yang didukung (protokol dan nama host, misalnya: https://westus2.api.cognitive.microsoft.com).

credential
AzureKeyCredential atau TokenCredential
Diperlukan

Kredensial yang diperlukan agar klien terhubung ke Azure. Ini adalah instans AzureKeyCredential jika menggunakan kunci API atau kredensial token dari identity.

api_version
str atau FormRecognizerApiVersion

Versi API layanan yang akan digunakan untuk permintaan. Ini default ke API versi v2.1. Pengaturan ke versi yang lebih lama dapat mengakibatkan berkurangnya kompatibilitas fitur. Untuk menggunakan versi dan fitur API terbaru yang didukung, buat instans DocumentModelAdministrationClient sebagai gantinya.

Contoh

Membuat FormTrainingClient dengan titik akhir dan kunci API.


   from azure.core.credentials import AzureKeyCredential
   from azure.ai.formrecognizer import FormTrainingClient
   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]

   form_training_client = FormTrainingClient(endpoint, AzureKeyCredential(key))

Membuat FormTrainingClient dengan kredensial token.


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

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

   form_training_client = FormTrainingClient(endpoint, credential)

Metode

begin_copy_model

Salin model kustom yang disimpan dalam sumber daya ini (sumber) ke sumber daya Form Recognizer target yang ditentukan pengguna. Ini harus dipanggil dengan sumber daya Form Recognizer sumber daya (dengan model yang dimaksudkan untuk disalin). Parameter target harus disediakan dari output sumber daya target dari memanggil get_copy_authorization metode .

begin_create_composed_model

Membuat model yang terdiri dari kumpulan model yang ada yang dilatih dengan label.

Model yang disusam memungkinkan beberapa model dipanggil dengan SATU ID model. Saat dokumen dikirimkan untuk dianalisis dengan ID model yang disusupi, langkah klasifikasi pertama kali dilakukan untuk merutekannya ke model kustom yang benar.

Baru dalam versi v2.1: Metode klien begin_create_composed_model

begin_training

Membuat dan latih model kustom. Permintaan harus menyertakan parameter training_files_url yang merupakan URI kontainer blob penyimpanan Azure yang dapat diakses secara eksternal (sebaiknya URI Tanda Tangan Akses Bersama). Perhatikan bahwa URI kontainer (tanpa SAS) hanya diterima ketika kontainer bersifat publik atau memiliki identitas terkelola yang dikonfigurasi, lihat selengkapnya tentang mengonfigurasi identitas terkelola untuk bekerja dengan Form Recognizer di sini: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Model dilatih menggunakan dokumen yang merupakan jenis konten berikut - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', atau 'image/bmp'. Jenis konten lain dalam kontainer diabaikan.

Baru dalam versi v2.1: Argumen kata kunci model_name

close

FormTrainingClient Tutup sesi.

delete_model

Tandai model untuk dihapus. Artefak model akan dihapus secara permanen dalam periode yang telah ditentukan.

get_account_properties

Dapatkan informasi tentang model di akun form recognizer.

get_copy_authorization

Hasilkan otorisasi untuk menyalin model kustom ke sumber daya Form Recognizer target. Ini harus dipanggil oleh sumber daya target (tempat model akan disalin) dan output dapat diteruskan sebagai parameter target ke dalam begin_copy_model.

get_custom_model

Dapatkan deskripsi model kustom, termasuk jenis formulir yang dapat dikenalinya, dan bidang yang akan diekstrak untuk setiap jenis formulir.

get_form_recognizer_client

Dapatkan instans FormRecognizerClient dari FormTrainingClient.

list_custom_models

Mencantumkan informasi untuk setiap model, termasuk id model, status model, dan kapan dibuat dan terakhir dimodifikasi.

send_request

Menjalankan permintaan jaringan menggunakan alur klien yang ada.

URL permintaan dapat relatif terhadap URL dasar. Versi API layanan yang digunakan untuk permintaan sama dengan klien kecuali ditentukan lain. Mengambil alih versi API klien yang dikonfigurasi di URL relatif didukung pada klien dengan API versi 2022-08-31 dan yang lebih baru. Mengambil alih URL absolut yang didukung pada klien dengan versi API apa pun. Metode ini tidak menaikkan jika responsnya adalah kesalahan; untuk menaikkan pengecualian, panggil raise_for_status() pada objek respons yang dikembalikan. Untuk informasi selengkapnya tentang cara mengirim permintaan kustom dengan metode ini, lihat https://aka.ms/azsdk/dpcodegen/python/send_request.

begin_copy_model

Salin model kustom yang disimpan dalam sumber daya ini (sumber) ke sumber daya Form Recognizer target yang ditentukan pengguna. Ini harus dipanggil dengan sumber daya Form Recognizer sumber daya (dengan model yang dimaksudkan untuk disalin). Parameter target harus disediakan dari output sumber daya target dari memanggil get_copy_authorization metode .

begin_copy_model(model_id: str, target: Dict[str, str | int], **kwargs: Any) -> LROPoller[CustomFormModelInfo]

Parameter

model_id
str
Diperlukan

Pengidentifikasi model untuk disalin ke sumber daya target.

target
Dict[str, Union[str, int]]
Diperlukan

Otorisasi salinan yang dihasilkan dari panggilan sumber daya target ke get_copy_authorization.

continuation_token
str

Token kelanjutan untuk memulai ulang poller dari status tersimpan.

Mengembalikan

Instans LROPoller. Panggil result() pada objek poller untuk mengembalikan CustomFormModelInfo.

Tipe hasil

Pengecualian

Contoh

Menyalin model dari sumber daya sumber ke sumber daya target


   source_client = FormTrainingClient(endpoint=source_endpoint, credential=AzureKeyCredential(source_key))

   poller = source_client.begin_copy_model(
       model_id=source_model_id,
       target=target  # output from target client's call to get_copy_authorization()
   )
   copied_over_model = poller.result()

   print("Model ID: {}".format(copied_over_model.model_id))
   print("Status: {}".format(copied_over_model.status))

begin_create_composed_model

Membuat model yang terdiri dari kumpulan model yang ada yang dilatih dengan label.

Model yang disusam memungkinkan beberapa model dipanggil dengan SATU ID model. Saat dokumen dikirimkan untuk dianalisis dengan ID model yang disusupi, langkah klasifikasi pertama kali dilakukan untuk merutekannya ke model kustom yang benar.

Baru dalam versi v2.1: Metode klien begin_create_composed_model

begin_create_composed_model(model_ids: List[str], **kwargs: Any) -> LROPoller[CustomFormModel]

Parameter

model_ids
list[str]
Diperlukan

Daftar ID model yang akan digunakan dalam model yang disusur.

model_name
str

Nama opsional yang ditentukan pengguna untuk dikaitkan dengan model Anda.

continuation_token
str

Token kelanjutan untuk memulai ulang poller dari status tersimpan.

Mengembalikan

Instans LROPoller. Panggil result() pada objek poller untuk mengembalikan CustomFormModel.

Tipe hasil

Pengecualian

Contoh

Membuat model yang disusun


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

   endpoint = os.environ["AZURE_FORM_RECOGNIZER_ENDPOINT"]
   key = os.environ["AZURE_FORM_RECOGNIZER_KEY"]
   po_supplies = os.environ['PURCHASE_ORDER_OFFICE_SUPPLIES_SAS_URL_V2']
   po_equipment = os.environ['PURCHASE_ORDER_OFFICE_EQUIPMENT_SAS_URL_V2']
   po_furniture = os.environ['PURCHASE_ORDER_OFFICE_FURNITURE_SAS_URL_V2']
   po_cleaning_supplies = os.environ['PURCHASE_ORDER_OFFICE_CLEANING_SUPPLIES_SAS_URL_V2']

   form_training_client = FormTrainingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   supplies_poller = form_training_client.begin_training(
       po_supplies, use_training_labels=True, model_name="Purchase order - Office supplies"
   )
   equipment_poller = form_training_client.begin_training(
       po_equipment, use_training_labels=True, model_name="Purchase order - Office Equipment"
   )
   furniture_poller = form_training_client.begin_training(
       po_furniture, use_training_labels=True, model_name="Purchase order - Furniture"
   )
   cleaning_supplies_poller = form_training_client.begin_training(
       po_cleaning_supplies, use_training_labels=True, model_name="Purchase order - Cleaning Supplies"
   )
   supplies_model = supplies_poller.result()
   equipment_model = equipment_poller.result()
   furniture_model = furniture_poller.result()
   cleaning_supplies_model = cleaning_supplies_poller.result()

   models_trained_with_labels = [
       supplies_model.model_id,
       equipment_model.model_id,
       furniture_model.model_id,
       cleaning_supplies_model.model_id
   ]

   poller = form_training_client.begin_create_composed_model(
       models_trained_with_labels, model_name="Office Supplies Composed Model"
   )
   model = poller.result()

   print("Office Supplies Composed Model Info:")
   print("Model ID: {}".format(model.model_id))
   print("Model name: {}".format(model.model_name))
   print("Is this a composed model?: {}".format(model.properties.is_composed_model))
   print("Status: {}".format(model.status))
   print("Composed model creation started on: {}".format(model.training_started_on))
   print("Creation completed on: {}".format(model.training_completed_on))


begin_training

Membuat dan latih model kustom. Permintaan harus menyertakan parameter training_files_url yang merupakan URI kontainer blob penyimpanan Azure yang dapat diakses secara eksternal (sebaiknya URI Tanda Tangan Akses Bersama). Perhatikan bahwa URI kontainer (tanpa SAS) hanya diterima ketika kontainer bersifat publik atau memiliki identitas terkelola yang dikonfigurasi, lihat selengkapnya tentang mengonfigurasi identitas terkelola untuk bekerja dengan Form Recognizer di sini: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Model dilatih menggunakan dokumen yang merupakan jenis konten berikut - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff', atau 'image/bmp'. Jenis konten lain dalam kontainer diabaikan.

Baru dalam versi v2.1: Argumen kata kunci model_name

begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> LROPoller[CustomFormModel]

Parameter

training_files_url
str
Diperlukan

URI SAS kontainer blob Azure Storage. URI kontainer (tanpa SAS) dapat digunakan jika kontainer bersifat publik atau memiliki identitas terkelola yang dikonfigurasi. Untuk informasi selengkapnya tentang menyiapkan himpunan data pelatihan, lihat: https://aka.ms/azsdk/formrecognizer/buildtrainingset.

use_training_labels
bool
Diperlukan

Apakah akan berlatih dengan label atau tidak. File berlabel yang sesuai harus ada di kontainer blob jika diatur ke True.

prefix
str

String awalan peka huruf besar/kecil untuk memfilter dokumen di jalur sumber untuk pelatihan. Misalnya, saat menggunakan URI blob penyimpanan Azure, gunakan awalan untuk membatasi sub folder untuk pelatihan.

include_subfolders
bool

Bendera untuk menunjukkan apakah subfolder dalam kumpulan folder awalan juga perlu disertakan saat mencari konten yang akan diproses sebelumnya. Tidak didukung jika pelatihan dengan label.

model_name
str

Nama opsional yang ditentukan pengguna untuk dikaitkan dengan model Anda.

continuation_token
str

Token kelanjutan untuk memulai ulang poller dari status tersimpan.

Mengembalikan

Instans LROPoller. Panggil result() pada objek poller untuk mengembalikan CustomFormModel.

Tipe hasil

Pengecualian

Perhatikan bahwa jika pelatihan gagal, pengecualian dinaikkan, tetapi model dengan status "tidak valid" masih dibuat. Anda dapat menghapus model ini dengan memanggil

Contoh

Melatih model (tanpa label) dengan formulir kustom Anda.


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

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

   form_training_client = FormTrainingClient(endpoint, AzureKeyCredential(key))
   poller = form_training_client.begin_training(container_sas_url, use_training_labels=False)
   model = poller.result()

   # Custom model information
   print("Model ID: {}".format(model.model_id))
   print("Status: {}".format(model.status))
   print("Model name: {}".format(model.model_name))
   print("Training started on: {}".format(model.training_started_on))
   print("Training completed on: {}".format(model.training_completed_on))

   print("Recognized fields:")
   # Looping through the submodels, which contains the fields they were trained on
   for submodel in model.submodels:
       print("...The submodel has form type '{}'".format(submodel.form_type))
       for name, field in submodel.fields.items():
           print("...The model found field '{}' to have label '{}'".format(
               name, field.label
           ))

close

FormTrainingClient Tutup sesi.

close() -> None

Pengecualian

delete_model

Tandai model untuk dihapus. Artefak model akan dihapus secara permanen dalam periode yang telah ditentukan.

delete_model(model_id: str, **kwargs: Any) -> None

Parameter

model_id
str
Diperlukan

Pengidentifikasi model.

Tipe hasil

Pengecualian

Contoh

Menghapus model kustom.


   form_training_client.delete_model(model_id=custom_model.model_id)

   try:
       form_training_client.get_custom_model(model_id=custom_model.model_id)
   except ResourceNotFoundError:
       print("Successfully deleted model with id {}".format(custom_model.model_id))

get_account_properties

Dapatkan informasi tentang model di akun form recognizer.

get_account_properties(**kwargs: Any) -> AccountProperties

Mengembalikan

Ringkasan model pada akun - jumlah model kustom, batas model kustom.

Tipe hasil

Pengecualian

Contoh

Mendapatkan properti untuk akun form recognizer.


   form_training_client = FormTrainingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
   # First, we see how many custom models we have, and what our limit is
   account_properties = form_training_client.get_account_properties()
   print("Our account has {} custom models, and we can have at most {} custom models\n".format(
       account_properties.custom_model_count, account_properties.custom_model_limit
   ))

get_copy_authorization

Hasilkan otorisasi untuk menyalin model kustom ke sumber daya Form Recognizer target. Ini harus dipanggil oleh sumber daya target (tempat model akan disalin) dan output dapat diteruskan sebagai parameter target ke dalam begin_copy_model.

get_copy_authorization(resource_id: str, resource_region: str, **kwargs: Any) -> Dict[str, str | int]

Parameter

resource_id
str
Diperlukan

Id Sumber Daya Azure dari sumber daya Form Recognizer target tempat model akan disalin.

resource_region
str
Diperlukan

Lokasi sumber daya Form Recognizer target. Nama wilayah Azure yang valid didukung oleh Cognitive Services. Misalnya, 'westus', 'eastus' dll. Lihat https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services untuk ketersediaan regional Cognitive Services.

Mengembalikan

Kamus dengan nilai untuk otorisasi salin - "modelId", "accessToken", "resourceId", "resourceRegion", dan "expirationDateTimeTicks".

Tipe hasil

Pengecualian

Contoh

Mengotorisasi sumber daya target untuk menerima model yang disalin


   target_client = FormTrainingClient(endpoint=target_endpoint, credential=AzureKeyCredential(target_key))

   target = target_client.get_copy_authorization(
       resource_region=target_region,
       resource_id=target_resource_id
   )
   # model ID that target client will use to access the model once copy is complete
   print("Model ID: {}".format(target["modelId"]))

get_custom_model

Dapatkan deskripsi model kustom, termasuk jenis formulir yang dapat dikenalinya, dan bidang yang akan diekstrak untuk setiap jenis formulir.

get_custom_model(model_id: str, **kwargs: Any) -> CustomFormModel

Parameter

model_id
str
Diperlukan

Pengidentifikasi model.

Mengembalikan

CustomFormModel

Tipe hasil

Pengecualian

Contoh

Dapatkan model kustom dengan ID model.


   custom_model = form_training_client.get_custom_model(model_id=model.model_id)
   print("\nModel ID: {}".format(custom_model.model_id))
   print("Status: {}".format(custom_model.status))
   print("Model name: {}".format(custom_model.model_name))
   print("Is this a composed model?: {}".format(custom_model.properties.is_composed_model))
   print("Training started on: {}".format(custom_model.training_started_on))
   print("Training completed on: {}".format(custom_model.training_completed_on))

get_form_recognizer_client

Dapatkan instans FormRecognizerClient dari FormTrainingClient.

get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient

Mengembalikan

A FormRecognizerClient

Tipe hasil

Pengecualian

list_custom_models

Mencantumkan informasi untuk setiap model, termasuk id model, status model, dan kapan dibuat dan terakhir dimodifikasi.

list_custom_models(**kwargs: Any) -> ItemPaged[CustomFormModelInfo]

Mengembalikan

ItemPaged[CustomFormModelInfo]

Tipe hasil

Pengecualian

Contoh

Mencantumkan informasi model untuk setiap model di akun.


   custom_models = form_training_client.list_custom_models()

   print("We have models with the following IDs:")
   for model_info in custom_models:
       print(model_info.model_id)

send_request

Menjalankan permintaan jaringan menggunakan alur klien yang ada.

URL permintaan dapat relatif terhadap URL dasar. Versi API layanan yang digunakan untuk permintaan sama dengan klien kecuali ditentukan lain. Mengambil alih versi API klien yang dikonfigurasi di URL relatif didukung pada klien dengan API versi 2022-08-31 dan yang lebih baru. Mengambil alih URL absolut yang didukung pada klien dengan versi API apa pun. Metode ini tidak menaikkan jika responsnya adalah kesalahan; untuk menaikkan pengecualian, panggil raise_for_status() pada objek respons yang dikembalikan. Untuk informasi selengkapnya tentang cara mengirim permintaan kustom dengan metode ini, lihat https://aka.ms/azsdk/dpcodegen/python/send_request.

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

Parameter

request
HttpRequest
Diperlukan

Permintaan jaringan yang ingin Anda buat.

stream
bool

Apakah payload respons akan dialirkan. Default ke False.

Mengembalikan

Respons panggilan jaringan Anda. Tidak melakukan penanganan kesalahan pada respons Anda.

Tipe hasil

Pengecualian