From 917f99662d46be7d65452dbb219a625e323b2a66 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 12 May 2020 13:38:58 -0400 Subject: [PATCH 1/3] training_files -> training_files_url --- .../azure-ai-formrecognizer/CHANGELOG.md | 9 ++++++--- .../azure/ai/formrecognizer/_form_training_client.py | 8 ++++---- .../aio/_form_training_client_async.py | 8 ++++---- .../azure-ai-formrecognizer/tests/test_training.py | 12 ++++++------ .../tests/test_training_async.py | 12 ++++++------ 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md index 2a276e3a36c5..ce4f80859993 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md @@ -2,6 +2,9 @@ ## 1.0.0b3 (Unreleased) +**Breaking Changes** + +- `training_files` parameter of `begin_train_model` is renamed to `training_files_url` ## 1.0.0b2 (2020-05-06) @@ -13,7 +16,7 @@ ## 1.0.0b1 (2020-04-23) -Version (1.0.0b1) is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Form Recognizer. +Version (1.0.0b1) is the first preview of our efforts to create a user-friendly and Pythonic client library for Azure Form Recognizer. This library replaces the package found here: https://pypi.org/project/azure-cognitiveservices-formrecognizer/ For more information about this, and preview releases of other Azure SDK libraries, please visit @@ -22,7 +25,7 @@ https://azure.github.io/azure-sdk/releases/latest/python.html. **Breaking changes: New API design** - New namespace/package name: - - The namespace/package name for the Form Recognizer client library has changed from + - The namespace/package name for the Form Recognizer client library has changed from `azure.cognitiveservices.formrecognizer` to `azure.ai.formrecognizer` - Two client design: - FormRecognizerClient to analyze fields/values on custom forms, receipts, and form content/layout @@ -33,7 +36,7 @@ https://azure.github.io/azure-sdk/releases/latest/python.html. - Asynchronous APIs added under `azure.ai.formrecognizer.aio` namespace - Authentication with API key supported using `AzureKeyCredential("")` from `azure.core.credentials` - New underlying REST pipeline implementation based on the azure-core library -- Client and pipeline configuration is now available via keyword arguments at both the client level, and per-operation. +- Client and pipeline configuration is now available via keyword arguments at both the client level, and per-operation. See README for a link to optional configuration arguments - New error hierarchy: - All service errors will now use the base type: `azure.core.exceptions.HttpResponseError` diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py index e699dbac99ab..831f590834b5 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py @@ -66,14 +66,14 @@ def __init__(self, endpoint, credential, **kwargs): ) @distributed_trace - def begin_train_model(self, training_files, use_labels=False, **kwargs): + def begin_train_model(self, training_files_url, use_labels=False, **kwargs): # type: (str, Optional[bool], Any) -> LROPoller - """Create and train a custom model. The request must include a `training_files` parameter that is an + """Create and train a custom model. The request must include a `training_files_url` parameter that is an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri). Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content in the container is ignored. - :param str training_files: An Azure Storage blob container's SAS URI. + :param str training_files_url: An Azure Storage blob container's SAS URI. :param bool use_labels: Whether to train with labels or not. Corresponding labeled files must exist in the blob container. :keyword str prefix: A case-sensitive prefix string to filter documents for training. @@ -103,7 +103,7 @@ def begin_train_model(self, training_files, use_labels=False, **kwargs): polling_interval = kwargs.pop("polling_interval", POLLING_INTERVAL) response = self._client.train_custom_model_async( # type: ignore train_request=TrainRequest( - source=training_files, + source=training_files_url, use_label_file=use_labels, source_filter=TrainSourceFilter( prefix=kwargs.pop("prefix", ""), diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py index 51798412b6bb..2edbc671248d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py @@ -71,16 +71,16 @@ def __init__( @distributed_trace_async async def train_model( self, - training_files: str, + training_files_url: str, use_labels: Optional[bool] = False, **kwargs: Any ) -> CustomFormModel: - """Create and train a custom model. The request must include a `training_files` parameter that is an + """Create and train a custom model. The request must include a `training_files_url` parameter that is an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri). Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content in the container is ignored. - :param str training_files: An Azure Storage blob container's SAS URI. + :param str training_files_url: An Azure Storage blob container's SAS URI. :param bool use_labels: Whether to train with labels or not. Corresponding labeled files must exist in the blob container. :keyword str prefix: A case-sensitive prefix string to filter documents for training. @@ -109,7 +109,7 @@ async def train_model( polling_interval = kwargs.pop("polling_interval", POLLING_INTERVAL) response = await self._client.train_custom_model_async( train_request=TrainRequest( - source=training_files, + source=training_files_url, use_label_file=use_labels, source_filter=TrainSourceFilter( prefix=kwargs.pop("prefix", ""), diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py index 06caeb8e2982..156fbc0c5432 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py @@ -29,7 +29,7 @@ def test_training_auth_bad_key(self, resource_group, location, form_recognizer_a @GlobalTrainingAccountPreparer() def test_training(self, client, container_sas_url): - poller = client.begin_train_model(container_sas_url) + poller = client.begin_train_model(training_files_url=container_sas_url) model = poller.result() self.assertIsNotNone(model.model_id) @@ -83,7 +83,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - poller = client.begin_train_model(container_sas_url, cls=callback) + poller = client.begin_train_model(training_files_url=container_sas_url, cls=callback) model = poller.result() raw_model = raw_response[0] @@ -113,7 +113,7 @@ def callback(response): @GlobalTrainingAccountPreparer() def test_training_with_labels(self, client, container_sas_url): - poller = client.begin_train_model(container_sas_url, use_labels=True) + poller = client.begin_train_model(training_files_url=container_sas_url, use_labels=True) model = poller.result() self.assertIsNotNone(model.model_id) @@ -169,7 +169,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - poller = client.begin_train_model(container_sas_url, use_labels=True, cls=callback) + poller = client.begin_train_model(training_files_url=container_sas_url, use_labels=True, cls=callback) model = poller.result() raw_model = raw_response[0] @@ -199,7 +199,7 @@ def callback(response): @GlobalTrainingAccountPreparer() def test_training_with_files_filter(self, client, container_sas_url): - poller = client.begin_train_model(container_sas_url, include_sub_folders=True) + poller = client.begin_train_model(training_files_url=container_sas_url, include_sub_folders=True) model = poller.result() self.assertEqual(len(model.training_documents), 6) self.assertEqual(model.training_documents[-1].document_name, "subfolder/Form_6.jpg") # we traversed subfolders @@ -209,6 +209,6 @@ def test_training_with_files_filter(self, client, container_sas_url): self.assertEqual(len(model.training_documents), 1) self.assertEqual(model.training_documents[0].document_name, "subfolder/Form_6.jpg") # we filtered for only subfolders - poller = client.begin_train_model(container_sas_url, prefix="xxx") + poller = client.begin_train_model(training_files_url=container_sas_url, prefix="xxx") model = poller.result() self.assertEqual(model.status, "invalid") # prefix doesn't include any files so training fails diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py index bcf862607de3..9a91e8537d66 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py @@ -29,7 +29,7 @@ async def test_training_auth_bad_key(self, resource_group, location, form_recogn @GlobalTrainingAccountPreparer() async def test_training(self, client, container_sas_url): - model = await client.train_model(container_sas_url) + model = await client.train_model(training_files_url=container_sas_url) self.assertIsNotNone(model.model_id) self.assertIsNotNone(model.created_on) @@ -81,7 +81,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - model = await client.train_model(container_sas_url, cls=callback) + model = await client.train_model(training_files_url=container_sas_url, cls=callback) raw_model = raw_response[0] custom_model = raw_response[1] @@ -109,7 +109,7 @@ def callback(response): @GlobalTrainingAccountPreparer() async def test_training_with_labels(self, client, container_sas_url): - model = await client.train_model(container_sas_url, use_labels=True) + model = await client.train_model(training_files_url=container_sas_url, use_labels=True) self.assertIsNotNone(model.model_id) self.assertIsNotNone(model.created_on) @@ -162,7 +162,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - model = await client.train_model(container_sas_url, use_labels=True, cls=callback) + model = await client.train_model(training_files_url=container_sas_url, use_labels=True, cls=callback) raw_model = raw_response[0] custom_model = raw_response[1] @@ -189,7 +189,7 @@ def callback(response): @GlobalTrainingAccountPreparer() async def test_training_with_files_filter(self, client, container_sas_url): - model = await client.train_model(container_sas_url, include_sub_folders=True) + model = await client.train_model(training_files_url=container_sas_url, include_sub_folders=True) self.assertEqual(len(model.training_documents), 6) self.assertEqual(model.training_documents[-1].document_name, "subfolder/Form_6.jpg") # we traversed subfolders @@ -197,5 +197,5 @@ async def test_training_with_files_filter(self, client, container_sas_url): self.assertEqual(len(model.training_documents), 1) self.assertEqual(model.training_documents[0].document_name, "subfolder/Form_6.jpg") # we filtered for only subfolders - model = await client.train_model(container_sas_url, prefix="xxx") + model = await client.train_model(training_files_url=container_sas_url, prefix="xxx") self.assertEqual(model.status, "invalid") # prefix doesn't include any files so training fails From 706227ea9c03959b598e27718db8598c17454d22 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 12 May 2020 15:17:31 -0400 Subject: [PATCH 2/3] list_model_infos -> list_custom_models --- sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md | 1 + sdk/formrecognizer/azure-ai-formrecognizer/README.md | 2 +- .../azure/ai/formrecognizer/_form_training_client.py | 6 +++--- .../ai/formrecognizer/aio/_form_training_client_async.py | 6 +++--- .../async_samples/sample_manage_custom_models_async.py | 6 +++--- .../samples/sample_manage_custom_models.py | 6 +++--- .../azure-ai-formrecognizer/tests/test_mgmt.py | 6 +++--- .../azure-ai-formrecognizer/tests/test_mgmt_async.py | 6 +++--- 8 files changed, 20 insertions(+), 19 deletions(-) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md index ce4f80859993..b5cb2af68a42 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md @@ -5,6 +5,7 @@ **Breaking Changes** - `training_files` parameter of `begin_train_model` is renamed to `training_files_url` +- `list_model_infos` method has been renamed to `list_custom_models` ## 1.0.0b2 (2020-05-06) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/README.md b/sdk/formrecognizer/azure-ai-formrecognizer/README.md index c38e74bd645d..f214db875d01 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/README.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/README.md @@ -270,7 +270,7 @@ print("Our account has {} custom models, and we can have at most {} custom model )) # Here we get a paged list of all of our custom models -custom_models = form_training_client.list_model_infos() +custom_models = form_training_client.list_custom_models() print("We have models with the following ids: {}".format( ", ".join([m.model_id for m in custom_models]) )) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py index 831f590834b5..f3a9022cfa04 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py @@ -155,7 +155,7 @@ def delete_model(self, model_id, **kwargs): ) @distributed_trace - def list_model_infos(self, **kwargs): + def list_custom_models(self, **kwargs): # type: (Any) -> Iterable[CustomFormModelInfo] """List information for each model, including model id, model status, and when it was created and last modified. @@ -167,8 +167,8 @@ def list_model_infos(self, **kwargs): .. admonition:: Example: .. literalinclude:: ../samples/sample_manage_custom_models.py - :start-after: [START list_model_infos] - :end-before: [END list_model_infos] + :start-after: [START list_custom_models] + :end-before: [END list_custom_models] :language: python :dedent: 8 :caption: List model information for each model on the account. diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py index 2edbc671248d..cbec6daf3ba6 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py @@ -159,7 +159,7 @@ async def delete_model(self, model_id: str, **kwargs: Any) -> None: ) @distributed_trace - def list_model_infos(self, **kwargs: Any) -> AsyncIterable[CustomFormModelInfo]: + def list_custom_models(self, **kwargs: Any) -> AsyncIterable[CustomFormModelInfo]: """List information for each model, including model id, model status, and when it was created and last modified. @@ -170,8 +170,8 @@ def list_model_infos(self, **kwargs: Any) -> AsyncIterable[CustomFormModelInfo]: .. admonition:: Example: .. literalinclude:: ../samples/async_samples/sample_manage_custom_models_async.py - :start-after: [START list_model_infos_async] - :end-before: [END list_model_infos_async] + :start-after: [START list_custom_models_async] + :end-before: [END list_custom_models_async] :language: python :dedent: 12 :caption: List model information for each model on the account. diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_manage_custom_models_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_manage_custom_models_async.py index cd3426484d40..986d03b87807 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_manage_custom_models_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_manage_custom_models_async.py @@ -47,8 +47,8 @@ async def manage_custom_models(self): # [END get_account_properties_async] # Next, we get a paged list of all of our custom models - # [START list_model_infos_async] - custom_models = form_training_client.list_model_infos() + # [START list_custom_models_async] + custom_models = form_training_client.list_custom_models() print("We have models with the following ids:") @@ -58,7 +58,7 @@ async def manage_custom_models(self): print(model.model_id) if not first_model: first_model = model - # [END list_model_infos_async] + # [END list_custom_models_async] # Now we'll get the first custom model in the paged list # [START get_custom_model_async] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_manage_custom_models.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_manage_custom_models.py index 0fc8d435a00a..c9bb60217471 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_manage_custom_models.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_manage_custom_models.py @@ -44,8 +44,8 @@ def manage_custom_models(self): # [END get_account_properties] # Next, we get a paged list of all of our custom models - # [START list_model_infos] - custom_models = form_training_client.list_model_infos() + # [START list_custom_models] + custom_models = form_training_client.list_custom_models() print("We have models with the following ids:") @@ -54,7 +54,7 @@ def manage_custom_models(self): print(first_model.model_id) for model in custom_models: print(model.model_id) - # [END list_model_infos] + # [END list_custom_models] # Now we'll get the first custom model in the paged list # [START get_custom_model] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py index 7abb5ef60d82..eb8c9d68fce8 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py @@ -34,7 +34,7 @@ def test_get_model_auth_bad_key(self, resource_group, location, form_recognizer_ def test_list_model_auth_bad_key(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): client = FormTrainingClient(form_recognizer_account, AzureKeyCredential("xxxx")) with self.assertRaises(ClientAuthenticationError): - result = client.list_model_infos() + result = client.list_custom_models() for res in result: test = res @@ -76,7 +76,7 @@ def test_mgmt_model_labeled(self, client, container_sas_url): self.assertEqual(a.fields[field1[0]].name, b.fields[field2[0]].name) self.assertEqual(a.fields[field1[0]].accuracy, b.fields[field2[0]].accuracy) - models_list = client.list_model_infos() + models_list = client.list_custom_models() for model in models_list: self.assertIsNotNone(model.model_id) self.assertEqual(model.status, "ready") @@ -111,7 +111,7 @@ def test_mgmt_model_unlabeled(self, client, container_sas_url): for field1, field2 in zip(a.fields.items(), b.fields.items()): self.assertEqual(a.fields[field1[0]].label, b.fields[field2[0]].label) - models_list = client.list_model_infos() + models_list = client.list_custom_models() for model in models_list: self.assertIsNotNone(model.model_id) self.assertEqual(model.status, "ready") diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py index edfd133ff0b5..1ea1ee8c7ec8 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py @@ -35,7 +35,7 @@ async def test_get_model_auth_bad_key(self, resource_group, location, form_recog async def test_list_model_auth_bad_key(self, resource_group, location, form_recognizer_account, form_recognizer_account_key): client = FormTrainingClient(form_recognizer_account, AzureKeyCredential("xxxx")) with self.assertRaises(ClientAuthenticationError): - result = client.list_model_infos() + result = client.list_custom_models() async for res in result: test = res @@ -76,7 +76,7 @@ async def test_mgmt_model_labeled(self, client, container_sas_url): self.assertEqual(a.fields[field1[0]].name, b.fields[field2[0]].name) self.assertEqual(a.fields[field1[0]].accuracy, b.fields[field2[0]].accuracy) - models_list = client.list_model_infos() + models_list = client.list_custom_models() async for model in models_list: self.assertIsNotNone(model.model_id) self.assertEqual(model.status, "ready") @@ -109,7 +109,7 @@ async def test_mgmt_model_unlabeled(self, client, container_sas_url): for field1, field2 in zip(a.fields.items(), b.fields.items()): self.assertEqual(a.fields[field1[0]].label, b.fields[field2[0]].label) - models_list = client.list_model_infos() + models_list = client.list_custom_models() async for model in models_list: self.assertIsNotNone(model.model_id) self.assertEqual(model.status, "ready") From 2277690210bc88ea996b8ade977caf226be5e806 Mon Sep 17 00:00:00 2001 From: iscai-msft Date: Tue, 12 May 2020 15:53:30 -0400 Subject: [PATCH 3/3] use_labels -> use_training_labels --- .../azure-ai-formrecognizer/CHANGELOG.md | 1 + .../azure/ai/formrecognizer/_form_training_client.py | 6 +++--- .../formrecognizer/aio/_form_training_client_async.py | 6 +++--- .../sample_train_model_with_labels_async.py | 2 +- .../sample_train_model_without_labels_async.py | 2 +- .../samples/sample_train_model_with_labels.py | 2 +- .../samples/sample_train_model_without_labels.py | 2 +- .../azure-ai-formrecognizer/tests/test_custom_forms.py | 8 ++++---- .../tests/test_custom_forms_async.py | 8 ++++---- .../tests/test_custom_forms_from_url.py | 10 +++++----- .../tests/test_custom_forms_from_url_async.py | 10 +++++----- .../azure-ai-formrecognizer/tests/test_mgmt.py | 2 +- .../azure-ai-formrecognizer/tests/test_mgmt_async.py | 2 +- .../azure-ai-formrecognizer/tests/test_training.py | 8 ++++---- .../tests/test_training_async.py | 8 ++++---- 15 files changed, 39 insertions(+), 38 deletions(-) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md index b5cb2af68a42..869ffafc7601 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md +++ b/sdk/formrecognizer/azure-ai-formrecognizer/CHANGELOG.md @@ -5,6 +5,7 @@ **Breaking Changes** - `training_files` parameter of `begin_train_model` is renamed to `training_files_url` +- `use_labels` parameter of `begin_train_model` is renamed to `use_training_labels` - `list_model_infos` method has been renamed to `list_custom_models` ## 1.0.0b2 (2020-05-06) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py index f3a9022cfa04..9b733b708798 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/_form_training_client.py @@ -66,7 +66,7 @@ def __init__(self, endpoint, credential, **kwargs): ) @distributed_trace - def begin_train_model(self, training_files_url, use_labels=False, **kwargs): + def begin_train_model(self, training_files_url, use_training_labels=False, **kwargs): # type: (str, Optional[bool], Any) -> LROPoller """Create and train a custom model. The request must include a `training_files_url` parameter that is an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri). @@ -74,7 +74,7 @@ def begin_train_model(self, training_files_url, use_labels=False, **kwargs): 'image/jpeg', 'image/png', 'image/tiff'. Other type of content in the container is ignored. :param str training_files_url: An Azure Storage blob container's SAS URI. - :param bool use_labels: Whether to train with labels or not. Corresponding labeled files must + :param bool use_training_labels: Whether to train with labels or not. Corresponding labeled files must exist in the blob container. :keyword str prefix: A case-sensitive prefix string to filter documents for training. Use `prefix` to filter documents themselves, or to restrict sub folders for training @@ -104,7 +104,7 @@ def begin_train_model(self, training_files_url, use_labels=False, **kwargs): response = self._client.train_custom_model_async( # type: ignore train_request=TrainRequest( source=training_files_url, - use_label_file=use_labels, + use_label_file=use_training_labels, source_filter=TrainSourceFilter( prefix=kwargs.pop("prefix", ""), include_sub_folders=kwargs.pop("include_sub_folders", False), diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py index cbec6daf3ba6..9cce7438ceab 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/azure/ai/formrecognizer/aio/_form_training_client_async.py @@ -72,7 +72,7 @@ def __init__( async def train_model( self, training_files_url: str, - use_labels: Optional[bool] = False, + use_training_labels: Optional[bool] = False, **kwargs: Any ) -> CustomFormModel: """Create and train a custom model. The request must include a `training_files_url` parameter that is an @@ -81,7 +81,7 @@ async def train_model( 'image/jpeg', 'image/png', 'image/tiff'. Other type of content in the container is ignored. :param str training_files_url: An Azure Storage blob container's SAS URI. - :param bool use_labels: Whether to train with labels or not. Corresponding labeled files must + :param bool use_training_labels: Whether to train with labels or not. Corresponding labeled files must exist in the blob container. :keyword str prefix: A case-sensitive prefix string to filter documents for training. Use `prefix` to filter documents themselves, or to restrict sub folders for training @@ -110,7 +110,7 @@ async def train_model( response = await self._client.train_custom_model_async( train_request=TrainRequest( source=training_files_url, - use_label_file=use_labels, + use_label_file=use_training_labels, source_filter=TrainSourceFilter( prefix=kwargs.pop("prefix", ""), include_sub_folders=kwargs.pop("include_sub_folders", False) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_with_labels_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_with_labels_async.py index aa71a7c9050c..75bf11aff14c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_with_labels_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_with_labels_async.py @@ -46,7 +46,7 @@ async def train_model_with_labels(self): # [END create_form_training_client_async] async with form_training_client: - model = await form_training_client.train_model(self.container_sas_url, use_labels=True) + model = await form_training_client.train_model(self.container_sas_url, use_training_labels=True) # Custom model information print("Model ID: {}".format(model.model_id)) print("Status: {}".format(model.status)) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_without_labels_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_without_labels_async.py index 1f28703a62b6..dc946e50b271 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_without_labels_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/async_samples/sample_train_model_without_labels_async.py @@ -42,7 +42,7 @@ async def train_model_without_labels(self): self.endpoint, AzureKeyCredential(self.key) ) as form_training_client: - # Default for train_model is `use_labels=False` + # Default for train_model is `use_training_labels=False` model = await form_training_client.train_model(self.container_sas_url) # Custom model information diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_with_labels.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_with_labels.py index b8bf50fbe915..3ffd0789c088 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_with_labels.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_with_labels.py @@ -42,7 +42,7 @@ def train_model_with_labels(self): form_training_client = FormTrainingClient(self.endpoint, AzureKeyCredential(self.key)) # [END create_form_training_client] - poller = form_training_client.begin_train_model(self.container_sas_url, use_labels=True) + poller = form_training_client.begin_train_model(self.container_sas_url, use_training_labels=True) model = poller.result() # Custom model information diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_without_labels.py b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_without_labels.py index 9a0040309353..824b0d1b779e 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_without_labels.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/samples/sample_train_model_without_labels.py @@ -39,7 +39,7 @@ def train_model_without_labels(self): form_training_client = FormTrainingClient(self.endpoint, AzureKeyCredential(self.key)) - # Default for begin_train_model is `use_labels=False` + # Default for begin_train_model is `use_training_labels=False` poller = form_training_client.begin_train_model(self.container_sas_url) model = poller.result() diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py index 6261efaee871..580ed2406ff8 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms.py @@ -128,7 +128,7 @@ def test_custom_form_labeled(self, client, container_sas_url): poller = training_client.begin_train_model( container_sas_url, - use_labels=True + use_training_labels=True ) model = poller.result() @@ -154,7 +154,7 @@ def test_custom_form_multipage_labeled(self, client, container_sas_url): poller = training_client.begin_train_model( container_sas_url, - use_labels=True + use_training_labels=True ) model = poller.result() @@ -258,7 +258,7 @@ def callback(raw_response, _, headers): def test_custom_form_labeled_transform(self, client, container_sas_url): training_client = client.get_form_training_client() - poller = training_client.begin_train_model(container_sas_url, use_labels=True) + poller = training_client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() responses = [] @@ -295,7 +295,7 @@ def callback(raw_response, _, headers): def test_custom_form_multipage_labeled_transform(self, client, container_sas_url): training_client = client.get_form_training_client() - poller = training_client.begin_train_model(container_sas_url, use_labels=True) + poller = training_client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() responses = [] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py index 7e83718a9e7d..d516f94dbe3d 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_async.py @@ -121,7 +121,7 @@ async def test_custom_form_multipage_unlabeled(self, client, container_sas_url): async def test_custom_form_labeled(self, client, container_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) with open(self.form_jpg, "rb") as fd: myfile = fd.read() @@ -144,7 +144,7 @@ async def test_custom_form_multipage_labeled(self, client, container_sas_url): model = await training_client.train_model( container_sas_url, - use_labels=True + use_training_labels=True ) with open(self.multipage_invoice_pdf, "rb") as fd: @@ -246,7 +246,7 @@ def callback(raw_response, _, headers): async def test_form_labeled_transform(self, client, container_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) responses = [] @@ -282,7 +282,7 @@ def callback(raw_response, _, headers): async def test_custom_forms_multipage_labeled_transform(self, client, container_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) responses = [] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py index b43e1384a82e..ca2a765320ef 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url.py @@ -54,7 +54,7 @@ def test_pass_stream_into_url(self, resource_group, location, form_recognizer_ac def test_custom_form_bad_url(self, client, container_sas_url): training_client = client.get_form_training_client() - poller = training_client.begin_train_model(container_sas_url, use_labels=True) + poller = training_client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() with self.assertRaises(HttpResponseError): @@ -115,7 +115,7 @@ def test_form_multipage_unlabeled(self, client, container_sas_url, blob_sas_url) def test_custom_form_labeled(self, client, container_sas_url): training_client = client.get_form_training_client() - poller = training_client.begin_train_model(container_sas_url, use_labels=True) + poller = training_client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() poller = client.begin_recognize_custom_forms_from_url(model.model_id, self.form_url_jpg) @@ -137,7 +137,7 @@ def test_form_multipage_labeled(self, client, container_sas_url, blob_sas_url): poller = training_client.begin_train_model( container_sas_url, - use_labels=True + use_training_labels=True ) model = poller.result() @@ -233,7 +233,7 @@ def callback(raw_response, _, headers): def test_form_labeled_transform(self, client, container_sas_url): training_client = client.get_form_training_client() - poller = training_client.begin_train_model(container_sas_url, use_labels=True) + poller = training_client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() responses = [] @@ -267,7 +267,7 @@ def callback(raw_response, _, headers): def test_custom_form_multipage_labeled_transform(self, client, container_sas_url, blob_sas_url): training_client = client.get_form_training_client() - poller = training_client.begin_train_model(container_sas_url, use_labels=True) + poller = training_client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() responses = [] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py index a759a731d6de..0300edc2769c 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_custom_forms_from_url_async.py @@ -54,7 +54,7 @@ async def test_pass_stream_into_url(self, resource_group, location, form_recogni async def test_form_bad_url(self, client, container_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) with self.assertRaises(HttpResponseError): form = await client.recognize_custom_forms_from_url( @@ -109,7 +109,7 @@ async def test_custom_form_multipage_unlabeled(self, client, container_sas_url, async def test_form_labeled(self, client, container_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) form = await client.recognize_custom_forms_from_url(model.model_id, self.form_url_jpg) @@ -129,7 +129,7 @@ async def test_form_multipage_labeled(self, client, container_sas_url, blob_sas_ model = await training_client.train_model( container_sas_url, - use_labels=True + use_training_labels=True ) forms = await client.recognize_custom_forms_from_url( @@ -218,7 +218,7 @@ def callback(raw_response, _, headers): async def test_form_labeled_transform(self, client, container_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) responses = [] @@ -251,7 +251,7 @@ def callback(raw_response, _, headers): async def test_multipage_labeled_transform(self, client, container_sas_url, blob_sas_url): training_client = client.get_form_training_client() - model = await training_client.train_model(container_sas_url, use_labels=True) + model = await training_client.train_model(container_sas_url, use_training_labels=True) responses = [] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py index eb8c9d68fce8..31035918a311 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt.py @@ -56,7 +56,7 @@ def test_account_properties(self, resource_group, location, form_recognizer_acco @GlobalTrainingAccountPreparer() def test_mgmt_model_labeled(self, client, container_sas_url): - poller = client.begin_train_model(container_sas_url, use_labels=True) + poller = client.begin_train_model(container_sas_url, use_training_labels=True) labeled_model_from_train = poller.result() labeled_model_from_get = client.get_custom_model(labeled_model_from_train.model_id) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py index 1ea1ee8c7ec8..d08630509b6b 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_mgmt_async.py @@ -57,7 +57,7 @@ async def test_account_properties(self, resource_group, location, form_recognize @GlobalTrainingAccountPreparer() async def test_mgmt_model_labeled(self, client, container_sas_url): - labeled_model_from_train = await client.train_model(container_sas_url, use_labels=True) + labeled_model_from_train = await client.train_model(container_sas_url, use_training_labels=True) labeled_model_from_get = await client.get_custom_model(labeled_model_from_train.model_id) diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py index 156fbc0c5432..a68a70513dda 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training.py @@ -113,7 +113,7 @@ def callback(response): @GlobalTrainingAccountPreparer() def test_training_with_labels(self, client, container_sas_url): - poller = client.begin_train_model(training_files_url=container_sas_url, use_labels=True) + poller = client.begin_train_model(training_files_url=container_sas_url, use_training_labels=True) model = poller.result() self.assertIsNotNone(model.model_id) @@ -137,7 +137,7 @@ def test_training_with_labels(self, client, container_sas_url): @GlobalTrainingAccountPreparer(multipage=True) def test_training_multipage_with_labels(self, client, container_sas_url): - poller = client.begin_train_model(container_sas_url, use_labels=True) + poller = client.begin_train_model(container_sas_url, use_training_labels=True) model = poller.result() self.assertIsNotNone(model.model_id) @@ -169,7 +169,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - poller = client.begin_train_model(training_files_url=container_sas_url, use_labels=True, cls=callback) + poller = client.begin_train_model(training_files_url=container_sas_url, use_training_labels=True, cls=callback) model = poller.result() raw_model = raw_response[0] @@ -188,7 +188,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - poller = client.begin_train_model(container_sas_url, use_labels=True, cls=callback) + poller = client.begin_train_model(container_sas_url, use_training_labels=True, cls=callback) model = poller.result() raw_model = raw_response[0] diff --git a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py index 9a91e8537d66..32f3af6b28e7 100644 --- a/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py +++ b/sdk/formrecognizer/azure-ai-formrecognizer/tests/test_training_async.py @@ -109,7 +109,7 @@ def callback(response): @GlobalTrainingAccountPreparer() async def test_training_with_labels(self, client, container_sas_url): - model = await client.train_model(training_files_url=container_sas_url, use_labels=True) + model = await client.train_model(training_files_url=container_sas_url, use_training_labels=True) self.assertIsNotNone(model.model_id) self.assertIsNotNone(model.created_on) @@ -131,7 +131,7 @@ async def test_training_with_labels(self, client, container_sas_url): @GlobalTrainingAccountPreparer(multipage=True) async def test_training_multipage_with_labels(self, client, container_sas_url): - model = await client.train_model(container_sas_url, use_labels=True) + model = await client.train_model(container_sas_url, use_training_labels=True) self.assertIsNotNone(model.model_id) self.assertIsNotNone(model.created_on) @@ -162,7 +162,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - model = await client.train_model(training_files_url=container_sas_url, use_labels=True, cls=callback) + model = await client.train_model(training_files_url=container_sas_url, use_training_labels=True, cls=callback) raw_model = raw_response[0] custom_model = raw_response[1] @@ -180,7 +180,7 @@ def callback(response): raw_response.append(raw_model) raw_response.append(custom_model) - model = await client.train_model(container_sas_url, use_labels=True, cls=callback) + model = await client.train_model(container_sas_url, use_training_labels=True, cls=callback) raw_model = raw_response[0] custom_model = raw_response[1] self.assertModelTransformCorrect(custom_model, raw_model)