Skip to content

Commit 7c0548f

Browse files
sagarsumantSagar Sumant
andauthored
Fix the yaml parsing issue. (#36424)
* Fix the yaml parsing issue. * Fix tests. * Fix pylint --------- Co-authored-by: Sagar Sumant <[email protected]>
1 parent 6d066c6 commit 7c0548f

File tree

6 files changed

+49
-17
lines changed

6 files changed

+49
-17
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# ---------------------------------------------------------
2+
# Copyright (c) Microsoft Corporation. All rights reserved.
3+
# ---------------------------------------------------------
4+
5+
# pylint: disable=protected-access
6+
7+
8+
class SnakeCaseFineTuningTaskTypes:
9+
CHAT_COMPLETION = "chat_completion"
10+
TEXT_COMPLETION = "text_completion"
11+
TEXT_CLASSIFICATION = "text_classification"
12+
QUESTION_ANSWERING = "question_answering"
13+
TEXT_SUMMARIZATION = "text_summarization"
14+
TOKEN_CLASSIFICATION = "token_classification"
15+
TEXT_TRANSLATION = "text_translation"
16+
IMAGE_CLASSIFICATION = "image_classification"
17+
IMAGE_INSTANCE_SEGMENTATION = "image_instance_segmentation"
18+
IMAGE_OBJECT_DETECTION = "image_object_detection"
19+
VIDEO_MULTI_OBJECT_TRACKING = "video_multi_object_tracking"

sdk/ml/azure-ai-ml/azure/ai/ml/_schema/_finetuning/finetuning_vertical.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
# pylint: disable=unused-argument
66

77
from azure.ai.ml._schema._finetuning.finetuning_job import FineTuningJobSchema
8+
from azure.ai.ml._schema._finetuning.constants import SnakeCaseFineTuningTaskTypes
89
from azure.ai.ml._schema.core.fields import NestedField, StringTransformedEnum, UnionField
910
from azure.ai.ml.constants import JobType
10-
from azure.ai.ml._utils.utils import camel_to_snake
11+
from azure.ai.ml._utils.utils import snake_to_camel
1112
from azure.ai.ml._schema.job.input_output_entry import MLTableInputSchema, DataInputSchema, ModelInputSchema
12-
from azure.ai.ml._restclient.v2024_01_01_preview.models import FineTuningTaskType
1313
from azure.ai.ml.constants._job.finetuning import FineTuningConstants
1414
from azure.ai.ml._utils._experimental import experimental
1515

@@ -24,19 +24,19 @@ class FineTuningVerticalSchema(FineTuningJobSchema):
2424
validation_data = UnionField([NestedField(MLTableInputSchema), NestedField(DataInputSchema)])
2525
task = StringTransformedEnum(
2626
allowed_values=[
27-
FineTuningTaskType.CHAT_COMPLETION,
28-
FineTuningTaskType.TEXT_COMPLETION,
29-
FineTuningTaskType.TEXT_CLASSIFICATION,
30-
FineTuningTaskType.QUESTION_ANSWERING,
31-
FineTuningTaskType.TEXT_SUMMARIZATION,
32-
FineTuningTaskType.TOKEN_CLASSIFICATION,
33-
FineTuningTaskType.TEXT_TRANSLATION,
34-
FineTuningTaskType.IMAGE_CLASSIFICATION,
35-
FineTuningTaskType.IMAGE_INSTANCE_SEGMENTATION,
36-
FineTuningTaskType.IMAGE_OBJECT_DETECTION,
37-
FineTuningTaskType.VIDEO_MULTI_OBJECT_TRACKING,
27+
SnakeCaseFineTuningTaskTypes.CHAT_COMPLETION,
28+
SnakeCaseFineTuningTaskTypes.TEXT_COMPLETION,
29+
SnakeCaseFineTuningTaskTypes.TEXT_CLASSIFICATION,
30+
SnakeCaseFineTuningTaskTypes.QUESTION_ANSWERING,
31+
SnakeCaseFineTuningTaskTypes.TEXT_SUMMARIZATION,
32+
SnakeCaseFineTuningTaskTypes.TOKEN_CLASSIFICATION,
33+
SnakeCaseFineTuningTaskTypes.TEXT_TRANSLATION,
34+
SnakeCaseFineTuningTaskTypes.IMAGE_CLASSIFICATION,
35+
SnakeCaseFineTuningTaskTypes.IMAGE_INSTANCE_SEGMENTATION,
36+
SnakeCaseFineTuningTaskTypes.IMAGE_OBJECT_DETECTION,
37+
SnakeCaseFineTuningTaskTypes.VIDEO_MULTI_OBJECT_TRACKING,
3838
],
39-
casing_transform=camel_to_snake,
39+
casing_transform=snake_to_camel,
4040
data_key=FineTuningConstants.TaskType,
4141
required=True,
4242
)

sdk/ml/azure-ai-ml/azure/ai/ml/constants/_job/finetuning.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,17 @@ class FineTuningConstants:
1313
TaskType = "task"
1414
ModelProvider = "model_provider"
1515
HyperParameters = "hyperparameters"
16+
17+
18+
class FineTuningTaskTypes:
19+
CHAT_COMPLETION = "ChatCompletion"
20+
TEXT_COMPLETION = "TextCompletion"
21+
TEXT_CLASSIFICATION = "TextClassification"
22+
QUESTION_ANSWERING = "QuestionAnswering"
23+
TEXT_SUMMARIZATION = "TextSummarization"
24+
TOKEN_CLASSIFICATION = "TokenClassification"
25+
TEXT_TRANSLATION = "TextTranslation"
26+
IMAGE_CLASSIFICATION = "ImageClassification"
27+
IMAGE_INSTANCE_SEGMENTATION = "ImageInstanceSegmentation"
28+
IMAGE_OBJECT_DETECTION = "ImageObjectDetection"
29+
VIDEO_MULTI_OBJECT_TRACKING = "VideoMultiObjectTracking"

sdk/ml/azure-ai-ml/tests/finetuning_job/conftest.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
@pytest.fixture
1616
def text_completion_dataset() -> Tuple[Input, Input]:
17-
# Classification Dataset
1817
training_data = Input(type=AssetTypes.URI_FILE, path=TEXT_COMPLETION_TRAIN_DATASET)
1918
validation_data = Input(type=AssetTypes.URI_FILE, path=TEXT_COMPLETION_VALIDATION_DATASET)
2019
return training_data, validation_data

sdk/ml/azure-ai-ml/tests/finetuning_job/unittests/test_azure_openai_finetuning_job_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def expected_azure_openai_finetuning_job_full(
5151
train_dataset, validation_dataset, mlflow_model_gpt4, hyperparameters
5252
) -> RestFineTuningJob:
5353
custom_model_finetuning_job = AzureOpenAIFineTuningJob(
54-
task="chat_completion",
54+
task="chatCompletion",
5555
model=mlflow_model_gpt4,
5656
training_data=train_dataset,
5757
validation_data=validation_dataset,

sdk/ml/azure-ai-ml/tests/finetuning_job/unittests/test_custom_model_finetuning_job_schema.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def expected_custom_model_finetuning_job_full(
4646
train_dataset, validation_dataset, mlflow_model_llama, hyperparameters
4747
) -> RestFineTuningJob:
4848
custom_model_finetuning_job = CustomModelFineTuningJob(
49-
task="text_completion",
49+
task="textCompletion",
5050
model=mlflow_model_llama,
5151
training_data=train_dataset,
5252
validation_data=validation_dataset,

0 commit comments

Comments
 (0)