FormTrainingClient Sınıf
FormTrainingClient, özel modelleri oluşturmak ve yönetmek için kullanılacak Form Tanıma arabirimidir. Sağladığınız formlardaki eğitim modellerinin yanı sıra modelleri görüntüleme ve silme, hesap özelliklerine erişme, modelleri başka bir Form Tanıma kaynağına kopyalama ve etiketlerle eğitilmiş mevcut modeller koleksiyonundan model oluşturma yöntemleri sağlar.
Not
FormTrainingClient, =v2.1 API sürümleriyle <kullanılmalıdır.
2022-08-31 ve daha yeni API sürümlerini kullanmak için DocumentModelAdministrationClient örneği oluşturun.
- Devralma
-
azure.ai.formrecognizer._form_base_client.FormRecognizerClientBaseFormTrainingClient
Oluşturucu
FormTrainingClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
Parametreler
- endpoint
- str
Desteklenen Bilişsel Hizmetler uç noktaları (protokol ve konak adı, örneğin: https://westus2.api.cognitive.microsoft.com).
- credential
- AzureKeyCredential veya TokenCredential
İstemcinin Azure'a bağlanması için gereken kimlik bilgileri. Api anahtarı veya belirteç identitykimlik bilgisi kullanılıyorsa, bu AzureKeyCredential örneğidir.
- api_version
- str veya FormRecognizerApiVersion
İstekler için kullanılacak hizmetin API sürümü. Varsayılan olarak API sürüm v2.1'e ayarlanır. Eski bir sürüme ayar yapmak özellik uyumluluğunu azaltabilir. Desteklenen en son API sürümünü ve özelliklerini kullanmak için bunun yerine bir DocumentModelAdministrationClient örneği oluşturun.
Örnekler
FormTrainingClient'ı bir uç nokta ve API anahtarıyla oluşturma.
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))
Belirteç kimlik bilgileriyle FormTrainingClient oluşturma.
"""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)
Yöntemler
begin_copy_model |
Bu kaynakta (kaynak) depolanan özel modeli kullanıcı tarafından belirtilen hedef Form Tanıma kaynağına kopyalayın. Bu, kaynak Form Tanıma kaynağıyla (kopyalanması amaçlanan modelle) çağrılmalıdır. Hedef parametre, hedef kaynağın yöntemi çağrılır get_copy_authorization çıkışından sağlanmalıdır. |
begin_create_composed_model |
Etiketlerle eğitilmiş mevcut modeller koleksiyonundan oluşturulmuş bir model oluşturur. Oluşturulan model, tek bir model kimliğiyle birden çok modelin çağrılmasını sağlar. Oluşturulan model kimliğiyle analiz edilecek bir belge gönderildiğinde, önce doğru özel modele yönlendirmek için bir sınıflandırma adımı gerçekleştirilir. Sürüm v2.1'de yeni: begin_create_composed_model istemci yöntemi |
begin_training |
Özel model oluşturma ve eğitma. İstek, dışarıdan erişilebilir bir Azure depolama blob kapsayıcısı URI'sine (tercihen Paylaşılan Erişim İmzası URI'sine) sahip bir training_files_url parametresi içermelidir. Kapsayıcı URI'sinin (SAS olmadan) yalnızca kapsayıcı genel olduğunda veya yönetilen kimliği yapılandırıldığında kabul edildiğine dikkat edin. Yönetilen kimlikleri Form Tanıma çalışacak şekilde yapılandırma hakkında daha fazla bilgi için buraya bakın: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modeller şu içerik türünde belgeler kullanılarak eğitilir: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' veya 'image/bmp'. Kapsayıcıdaki diğer içerik türleri yoksayılır. Sürüm v2.1'de yeni: model_name anahtar sözcük bağımsız değişkeni |
close |
FormTrainingClient Oturumu kapatın. |
delete_model |
Modeli silinmek üzere işaretleyin. Model yapıtları önceden belirlenmiş bir süre içinde kalıcı olarak kaldırılır. |
get_account_properties |
Form tanıyıcı hesabındaki modeller hakkında bilgi edinin. |
get_copy_authorization |
Özel modeli hedef Form Tanıma kaynağına kopyalamak için yetkilendirme oluşturun. Bu hedef kaynak tarafından çağrılmalıdır (modelin kopyalandığı yer) ve çıkış hedef parametresi olarak içine begin_copy_modelgeçirilebilir. |
get_custom_model |
Tanıyabileceği form türleri ve her form türü için ayıklayacakları alanlar da dahil olmak üzere özel modelin açıklamasını alın. |
get_form_recognizer_client |
FormTrainingClient'dan FormRecognizerClient örneğini alın. |
list_custom_models |
Model kimliği, model durumu ve ne zaman oluşturulduğu ve son değiştirildiği gibi her model için liste bilgileri. |
send_request |
İstemcinin mevcut işlem hattını kullanarak bir ağ isteği çalıştırır. İstek URL'si temel URL'ye göre olabilir. İstek için kullanılan hizmet API'sinin sürümü, aksi belirtilmedikçe istemcinin sürümüyle aynıdır. İstemcinin yapılandırılmış API sürümünü göreli URL'de geçersiz kılma, 2022-08-31 ve üzeri API sürümüne sahip istemcide desteklenir. Herhangi bir API sürümüyle istemcide desteklenen mutlak URL'de geçersiz kılma. Yanıt bir hataysa bu yöntem tetiklenmez; özel durum tetiklemek için döndürülen yanıt nesnesinde raise_for_status() öğesini çağırın. Bu yöntemle özel istek gönderme hakkında daha fazla bilgi için bkz https://aka.ms/azsdk/dpcodegen/python/send_request. . |
begin_copy_model
Bu kaynakta (kaynak) depolanan özel modeli kullanıcı tarafından belirtilen hedef Form Tanıma kaynağına kopyalayın. Bu, kaynak Form Tanıma kaynağıyla (kopyalanması amaçlanan modelle) çağrılmalıdır. Hedef parametre, hedef kaynağın yöntemi çağrılır get_copy_authorization çıkışından sağlanmalıdır.
begin_copy_model(model_id: str, target: Dict[str, str | int], **kwargs: Any) -> LROPoller[CustomFormModelInfo]
Parametreler
Hedef kaynağın çağrısından oluşturulan kopyalama yetkilendirmesi get_copy_authorization.
- continuation_token
- str
Bir poller'ı kaydedilmiş durumdan yeniden başlatmak için bir devamlılık belirteci.
Döndürülenler
LROPoller örneği. Bir CustomFormModelInfodöndürmek için poller nesnesinde result() öğesini çağırın.
Dönüş türü
Özel durumlar
Örnekler
Kaynak kaynaktan hedef kaynağa model kopyalama
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
Etiketlerle eğitilmiş mevcut modeller koleksiyonundan oluşturulmuş bir model oluşturur.
Oluşturulan model, tek bir model kimliğiyle birden çok modelin çağrılmasını sağlar. Oluşturulan model kimliğiyle analiz edilecek bir belge gönderildiğinde, önce doğru özel modele yönlendirmek için bir sınıflandırma adımı gerçekleştirilir.
Sürüm v2.1'de yeni: begin_create_composed_model istemci yöntemi
begin_create_composed_model(model_ids: List[str], **kwargs: Any) -> LROPoller[CustomFormModel]
Parametreler
- model_name
- str
Modelinizle ilişkilendirilecek isteğe bağlı, kullanıcı tanımlı bir ad.
- continuation_token
- str
Bir poller'ı kaydedilmiş durumdan yeniden başlatmak için bir devamlılık belirteci.
Döndürülenler
LROPoller örneği. Bir CustomFormModeldöndürmek için poller nesnesinde result() öğesini çağırın.
Dönüş türü
Özel durumlar
Örnekler
Oluşturulan model oluşturma
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
Özel model oluşturma ve eğitma. İstek, dışarıdan erişilebilir bir Azure depolama blob kapsayıcısı URI'sine (tercihen Paylaşılan Erişim İmzası URI'sine) sahip bir training_files_url parametresi içermelidir. Kapsayıcı URI'sinin (SAS olmadan) yalnızca kapsayıcı genel olduğunda veya yönetilen kimliği yapılandırıldığında kabul edildiğine dikkat edin. Yönetilen kimlikleri Form Tanıma çalışacak şekilde yapılandırma hakkında daha fazla bilgi için buraya bakın: https://docs.microsoft.com/azure/applied-ai-services/form-recognizer/managed-identities. Modeller şu içerik türünde belgeler kullanılarak eğitilir: 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff' veya 'image/bmp'. Kapsayıcıdaki diğer içerik türleri yoksayılır.
Sürüm v2.1'de yeni: model_name anahtar sözcük bağımsız değişkeni
begin_training(training_files_url: str, use_training_labels: bool, **kwargs: Any) -> LROPoller[CustomFormModel]
Parametreler
- training_files_url
- str
Azure Depolama blob kapsayıcısı SAS URI'si. Kapsayıcı genelse veya yönetilen kimliği yapılandırılmışsa kapsayıcı URI'sini (SAS olmadan) kullanabilirsiniz. Eğitim veri kümesi ayarlama hakkında daha fazla bilgi için bkz. https://aka.ms/azsdk/formrecognizer/buildtrainingset.
- use_training_labels
- bool
Etiketlerle eğitilip eğitilmeyeceği. True olarak ayarlanırsa blob kapsayıcısında karşılık gelen etiketli dosyalar bulunmalıdır.
- prefix
- str
Eğitim için kaynak yoldaki belgeleri filtrelemek için büyük/küçük harfe duyarlı bir ön ek dizesi. Örneğin, Azure depolama blobu URI'sini kullanırken, eğitim için alt klasörleri kısıtlamak için ön eki kullanın.
- include_subfolders
- bool
Ön ek klasörleri kümesindeki alt klasörlerin önceden işlenecek içerik aranırken de eklenmesi gerekip gerekmediğini belirten bir bayrak. Etiketlerle eğitim varsa desteklenmez.
- model_name
- str
Modelinizle ilişkilendirilecek isteğe bağlı, kullanıcı tanımlı bir ad.
- continuation_token
- str
Bir poller'ı kaydedilmiş durumdan yeniden başlatmak için bir devamlılık belirteci.
Döndürülenler
LROPoller örneği. Bir CustomFormModeldöndürmek için poller nesnesinde result() öğesini çağırın.
Dönüş türü
Özel durumlar
Eğitim başarısız olursa özel durum oluşturulur, ancak "geçersiz" durumuna sahip bir model oluşturulmaya devam eder. Bu modeli arayarak silebilirsiniz
Örnekler
Modeli özel formlarınızla eğitin (etiketler olmadan).
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
Modeli silinmek üzere işaretleyin. Model yapıtları önceden belirlenmiş bir süre içinde kalıcı olarak kaldırılır.
delete_model(model_id: str, **kwargs: Any) -> None
Parametreler
Dönüş türü
Özel durumlar
Örnekler
Özel modeli silme.
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
Form tanıyıcı hesabındaki modeller hakkında bilgi edinin.
get_account_properties(**kwargs: Any) -> AccountProperties
Döndürülenler
Hesapta modellerin özeti - özel model sayısı, özel model sınırı.
Dönüş türü
Özel durumlar
Örnekler
Form tanıyıcı hesabının özelliklerini alma.
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
Özel modeli hedef Form Tanıma kaynağına kopyalamak için yetkilendirme oluşturun. Bu hedef kaynak tarafından çağrılmalıdır (modelin kopyalandığı yer) ve çıkış hedef parametresi olarak içine begin_copy_modelgeçirilebilir.
get_copy_authorization(resource_id: str, resource_region: str, **kwargs: Any) -> Dict[str, str | int]
Parametreler
- resource_region
- str
Hedef Form Tanıma kaynağının konumu. Bilişsel Hizmetler tarafından desteklenen geçerli bir Azure bölgesi adı. Örneğin, 'westus', 'eastus' vb. Bilişsel Hizmetler'in bölgesel kullanılabilirliği için bkz https://azure.microsoft.com/global-infrastructure/services/?products=cognitive-services .
Döndürülenler
Kopyalama yetkilendirmesi için değerleri olan bir sözlük - "modelId", "accessToken", "resourceId", "resourceRegion" ve "expirationDateTimeTicks".
Dönüş türü
Özel durumlar
Örnekler
Hedef kaynağı kopyalanan modeli alacak şekilde yetkilendirme
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
Tanıyabileceği form türleri ve her form türü için ayıklayacakları alanlar da dahil olmak üzere özel modelin açıklamasını alın.
get_custom_model(model_id: str, **kwargs: Any) -> CustomFormModel
Parametreler
Döndürülenler
CustomFormModel
Dönüş türü
Özel durumlar
Örnekler
Model kimliğine sahip özel bir model alın.
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
FormTrainingClient'dan FormRecognizerClient örneğini alın.
get_form_recognizer_client(**kwargs: Any) -> FormRecognizerClient
Döndürülenler
A FormRecognizerClient
Dönüş türü
Özel durumlar
list_custom_models
Model kimliği, model durumu ve ne zaman oluşturulduğu ve son değiştirildiği gibi her model için liste bilgileri.
list_custom_models(**kwargs: Any) -> ItemPaged[CustomFormModelInfo]
Döndürülenler
ItemPaged[CustomFormModelInfo]
Dönüş türü
Özel durumlar
Örnekler
Hesapta her model için model bilgilerini listeleyin.
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
İstemcinin mevcut işlem hattını kullanarak bir ağ isteği çalıştırır.
İstek URL'si temel URL'ye göre olabilir. İstek için kullanılan hizmet API'sinin sürümü, aksi belirtilmedikçe istemcinin sürümüyle aynıdır. İstemcinin yapılandırılmış API sürümünü göreli URL'de geçersiz kılma, 2022-08-31 ve üzeri API sürümüne sahip istemcide desteklenir. Herhangi bir API sürümüyle istemcide desteklenen mutlak URL'de geçersiz kılma. Yanıt bir hataysa bu yöntem tetiklenmez; özel durum tetiklemek için döndürülen yanıt nesnesinde raise_for_status() öğesini çağırın. Bu yöntemle özel istek gönderme hakkında daha fazla bilgi için bkz https://aka.ms/azsdk/dpcodegen/python/send_request. .
send_request(request: HttpRequest, *, stream: bool = False, **kwargs) -> HttpResponse
Parametreler
- stream
- bool
Yanıt yükünün akışla aktarılıp aktarılmayacağı. Varsayılan değer False'tur.
Döndürülenler
Ağ çağrınızın yanıtı. Yanıtınızda hata işleme yapmaz.
Dönüş türü
Özel durumlar
Azure SDK for Python