Skip to content

Commit fa1bc86

Browse files
authored
Flatten Namespaces for Evaluation SDK (#37398)
* remove public evaluators and evaluate modules * rename synthetic to simulator and expose only one namespace * clean up some references * fix some broken imports * add details on breaking change * fix changelog grammar issue * fix changelog grammar issue * attempt at fixing tests * change patch * disable verifytypes
1 parent eab7a3a commit fa1bc86

File tree

99 files changed

+178
-181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+178
-181
lines changed

sdk/evaluation/azure-ai-evaluation/CHANGELOG.md

Lines changed: 2 additions & 1 deletion

sdk/evaluation/azure-ai-evaluation/README.md

Lines changed: 2 additions & 4 deletions
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,52 @@
11
# ---------------------------------------------------------
22
# Copyright (c) Microsoft Corporation. All rights reserved.
33
# ---------------------------------------------------------
4+
5+
from ._evaluate._evaluate import evaluate
6+
from ._evaluators._bleu import BleuScoreEvaluator
7+
from ._evaluators._chat import ChatEvaluator
8+
from ._evaluators._coherence import CoherenceEvaluator
9+
from ._evaluators._content_safety import (
10+
ContentSafetyChatEvaluator,
11+
ContentSafetyEvaluator,
12+
HateUnfairnessEvaluator,
13+
SelfHarmEvaluator,
14+
SexualEvaluator,
15+
ViolenceEvaluator,
16+
)
17+
from ._evaluators._f1_score import F1ScoreEvaluator
18+
from ._evaluators._fluency import FluencyEvaluator
19+
from ._evaluators._gleu import GleuScoreEvaluator
20+
from ._evaluators._groundedness import GroundednessEvaluator
21+
from ._evaluators._meteor import MeteorScoreEvaluator
22+
from ._evaluators._protected_material import ProtectedMaterialEvaluator
23+
from ._evaluators._qa import QAEvaluator
24+
from ._evaluators._relevance import RelevanceEvaluator
25+
from ._evaluators._rouge import RougeScoreEvaluator, RougeType
26+
from ._evaluators._similarity import SimilarityEvaluator
27+
from ._evaluators._xpia import IndirectAttackEvaluator
28+
29+
__all__ = [
30+
"evaluate",
31+
"CoherenceEvaluator",
32+
"F1ScoreEvaluator",
33+
"FluencyEvaluator",
34+
"GroundednessEvaluator",
35+
"RelevanceEvaluator",
36+
"SimilarityEvaluator",
37+
"QAEvaluator",
38+
"ChatEvaluator",
39+
"ViolenceEvaluator",
40+
"SexualEvaluator",
41+
"SelfHarmEvaluator",
42+
"HateUnfairnessEvaluator",
43+
"ContentSafetyEvaluator",
44+
"ContentSafetyChatEvaluator",
45+
"IndirectAttackEvaluator",
46+
"BleuScoreEvaluator",
47+
"GleuScoreEvaluator",
48+
"MeteorScoreEvaluator",
49+
"RougeScoreEvaluator",
50+
"RougeType",
51+
"ProtectedMaterialEvaluator",
52+
]

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/__init__.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/__init__.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
11
# ---------------------------------------------------------
22
# Copyright (c) Microsoft Corporation. All rights reserved.
33
# ---------------------------------------------------------
4-
5-
from ._evaluate import evaluate
6-
7-
__all__ = ["evaluate"]

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/_batch_run_client/__init__.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_batch_run_client/__init__.py

File renamed without changes.

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/_batch_run_client/batch_run_context.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_batch_run_client/batch_run_context.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ class BatchRunContext:
2424
2525
:param client: The client to run in the context.
2626
:type client: Union[
27-
~azure.ai.evaluation.evaluate.code_client.CodeClient,
28-
~azure.ai.evaluation.evaluate.proxy_client.ProxyClient
27+
~azure.ai.evaluation._evaluate._batch_run_client.code_client.CodeClient,
28+
~azure.ai.evaluation._evaluate._batch_run_client.proxy_client.ProxyClient
2929
]
3030
"""
3131

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/_batch_run_client/code_client.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_batch_run_client/code_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import pandas as pd
99

1010
from promptflow.contracts.types import AttrDict
11-
from azure.ai.evaluation.evaluate._utils import _apply_column_mapping, _has_aggregator, get_int_env_var, load_jsonl
11+
from azure.ai.evaluation._evaluate._utils import _apply_column_mapping, _has_aggregator, get_int_env_var, load_jsonl
1212
from promptflow.tracing import ThreadPoolExecutorWithContext as ThreadPoolExecutor
1313

1414
from ..._constants import PF_BATCH_TIMEOUT_SEC, PF_BATCH_TIMEOUT_SEC_DEFAULT

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/_batch_run_client/proxy_client.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_batch_run_client/proxy_client.py

File renamed without changes.

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/_eval_run.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_eval_run.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def generate(run_name: Optional[str]) -> "RunInfo":
5959
:param run_name: The name of a run.
6060
:type run_name: Optional[str]
6161
:return: The RunInfo instance.
62-
:rtype: azure.ai.evaluation.evaluate.RunInfo
62+
:rtype: azure.ai.evaluation._evaluate._eval_run.RunInfo
6363
"""
6464
return RunInfo(str(uuid.uuid4()), str(uuid.uuid4()), run_name or "")
6565

@@ -229,7 +229,7 @@ def __enter__(self):
229229
"""The Context Manager enter call.
230230
231231
:return: The instance of the class.
232-
:rtype: azure.ai.evaluation.evaluate.EvalRun
232+
:rtype: azure.ai.evaluation._evaluate._eval_run.EvalRun
233233
"""
234234
self._start_run()
235235
return self
@@ -360,7 +360,7 @@ def log_artifact(self, artifact_folder: str, artifact_name: str = EVALUATION_ART
360360
:param artifact_folder: The folder with artifacts to be uploaded.
361361
:type artifact_folder: str
362362
:param artifact_name: The name of the artifact to be uploaded. Defaults to
363-
azure.ai.evaluation.evaluate.EvalRun.EVALUATION_ARTIFACT.
363+
azure.ai.evaluation._evaluate._eval_run.EvalRun.EVALUATION_ARTIFACT.
364364
:type artifact_name: str
365365
"""
366366
if not self._check_state_and_log("log artifact", {RunStatus.BROKEN, RunStatus.NOT_STARTED}, False):

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/evaluate/_evaluate.py renamed to sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def _aggregate_content_safety_metrics(
6060
module = inspect.getmodule(evaluators[evaluator_name])
6161
if (
6262
module
63-
and module.__name__.startswith("azure.ai.evaluation.evaluators.")
63+
and module.__name__.startswith("azure.ai.evaluation.")
6464
and metric_name.endswith("_score")
6565
and metric_name.replace("_score", "") in content_safety_metrics
6666
):
@@ -397,8 +397,7 @@ def evaluate(
397397
.. code-block:: python
398398
399399
from promptflow.core import AzureOpenAIModelConfiguration
400-
from azure.ai.evaluation.evaluate import evaluate
401-
from azure.ai.evaluation.evaluators import RelevanceEvaluator, CoherenceEvaluator
400+
from azure.ai.evaluation import evaluate, RelevanceEvaluator, CoherenceEvaluator
402401
403402
404403
model_config = AzureOpenAIModelConfiguration(

0 commit comments

Comments
 (0)