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.FormRecognizerClientBaseFormTrainingClient
Konstruktor
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parameter
- endpoint
- str
Titik akhir Cognitive Services yang didukung (protokol dan nama host, misalnya: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential atau TokenCredential
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
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_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
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
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
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
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
Id Sumber Daya Azure dari sumber daya Form Recognizer target tempat model akan disalin.
- resource_region
- str
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
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
- 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
Azure SDK for Python
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk