Skip to content

Commit aeeb1f0

Browse files
w-javedCopilot
andauthored
1dp sdk followup (Azure#40813)
* initial changes * fix * fix * fix * fix * rearranged * fix * Fix tests * Fix tests * Fix tests * Fix tests * Copilot fix Co-authored-by: Copilot <[email protected]> * Fix tests * Fix tests * Fix tests - assets * Fix tests - assets * Fix tests - assets * assets * assets * fix-assets * adding service check * revert one test to avoid large size recording * unit test fix * unit test fix * last asset * red-team * Enabling Red Teaming for 1dp * assset change * fix for one test * typo fix * fix * dep * asset * CI Fix * CI Fix * CI Fix * revert again * revert * updated asset for one test * rollback changes * rollback changes * initial commit * adding assets * fix * fix * asset for evaluate_conversation test * fix for validate --------- Co-authored-by: Copilot <[email protected]>
1 parent b8255e7 commit aeeb1f0

File tree

8 files changed

+17
-15
lines changed

8 files changed

+17
-15
lines changed

sdk/evaluation/azure-ai-evaluation/assets.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
"AssetsRepo": "Azure/azure-sdk-assets",
33
"AssetsRepoPrefixPath": "python",
44
"TagPrefix": "python/evaluation/azure-ai-evaluation",
5-
"Tag": "python/evaluation/azure-ai-evaluation_7d56415461"
5+
"Tag": "python/evaluation/azure-ai-evaluation_a93be1e527"
66
}

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluate/_evaluate.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import pandas as pd
1515

1616
from azure.ai.evaluation._common.math import list_mean_nan_safe, apply_transform_nan_safe
17-
from azure.ai.evaluation._common.utils import validate_azure_ai_project
17+
from azure.ai.evaluation._common.utils import validate_azure_ai_project, is_onedp_project
1818
from azure.ai.evaluation._exceptions import ErrorBlame, ErrorCategory, ErrorTarget, EvaluationException
1919

2020
from azure.ai.evaluation._aoai.aoai_grader import AzureOpenAIGrader
@@ -816,7 +816,7 @@ def _evaluate( # pylint: disable=too-many-locals,too-many-statements
816816
target: Optional[Callable] = None,
817817
data: Union[str, os.PathLike],
818818
evaluator_config: Optional[Dict[str, EvaluatorConfig]] = None,
819-
azure_ai_project: Optional[AzureAIProject] = None,
819+
azure_ai_project: Optional[Union[str, AzureAIProject]] = None,
820820
output_path: Optional[Union[str, os.PathLike]] = None,
821821
fail_on_evaluator_errors: bool = False,
822822
**kwargs,
@@ -915,7 +915,7 @@ def _evaluate( # pylint: disable=too-many-locals,too-many-statements
915915

916916
# Done with all evaluations, message outputs into final forms, and log results if needed.
917917
name_map = _map_names_to_builtins(evaluators, graders)
918-
if isinstance(azure_ai_project, str):
918+
if is_onedp_project(azure_ai_project):
919919
studio_url = _log_metrics_and_instance_results_onedp(
920920
metrics, results_df, azure_ai_project, evaluation_name, name_map, **kwargs
921921
)
@@ -943,7 +943,7 @@ def _preprocess_data(
943943
evaluator_config: Optional[Dict[str, EvaluatorConfig]] = None,
944944
target: Optional[Callable] = None,
945945
output_path: Optional[Union[str, os.PathLike]] = None,
946-
azure_ai_project: Optional[AzureAIProject] = None,
946+
azure_ai_project: Optional[Union[str, AzureAIProject]] = None,
947947
evaluation_name: Optional[str] = None,
948948
**kwargs,
949949
) -> __ValidatedData:

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def __init__(
5959
):
6060
super().__init__(eval_last_turn=eval_last_turn, conversation_aggregation_type=conversation_aggregation_type, threshold=threshold, _higher_is_better=_higher_is_better)
6161
self._eval_metric = eval_metric
62-
self._azure_ai_project = azure_ai_project if is_onedp_project(azure_ai_project) else validate_azure_ai_project(azure_ai_project)
62+
self._azure_ai_project = validate_azure_ai_project(azure_ai_project)
6363
self._credential = credential
6464
self._threshold = threshold
6565
self._higher_is_better = _higher_is_better

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/_safety_evaluation/_safety_evaluation.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ def __init__(
111111
self.model_config = model_config
112112
else:
113113
self.model_config = None
114-
self.azure_ai_project = azure_ai_project if isinstance(azure_ai_project, str) else validate_azure_ai_project(azure_ai_project)
114+
self.azure_ai_project = validate_azure_ai_project(azure_ai_project)
115115
self.credential = credential
116116
self.logger = _setup_logger()
117117

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/red_team/_red_team.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ def __init__(
212212
:type output_dir: str
213213
"""
214214

215-
self.azure_ai_project = azure_ai_project if is_onedp_project(azure_ai_project) else validate_azure_ai_project(azure_ai_project)
215+
self.azure_ai_project = validate_azure_ai_project(azure_ai_project)
216216
self.credential = credential
217217
self.output_dir = output_dir
218218

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/simulator/_adversarial_simulator.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ class AdversarialSimulator:
4949
"""
5050
Initializes the adversarial simulator with a project scope.
5151
52-
:param azure_ai_project: The scope of the Azure AI project. It contains subscription id, resource group, and project
53-
name.
54-
:type azure_ai_project: ~azure.ai.evaluation.AzureAIProject
52+
:param azure_ai_project: The Azure AI project, which can either be a string representing the project endpoint
53+
or an instance of AzureAIProject. It contains subscription id, resource group, and project name.
54+
:type azure_ai_project: Union[str, AzureAIProject]
5555
:param credential: The credential for connecting to Azure AI project.
5656
:type credential: ~azure.core.credentials.TokenCredential
5757

sdk/evaluation/azure-ai-evaluation/azure/ai/evaluation/simulator/_conversation/__init__.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import time
99
from dataclasses import dataclass
1010
from typing import Any, Callable, Dict, List, Optional, Tuple, Union, cast
11-
11+
import base64
1212
import re
1313
import jinja2
1414

@@ -422,7 +422,10 @@ async def _to_multi_modal_content(self, text: str) -> list:
422422
if(isinstance(self.rai_client, RAIClient)):
423423
encoded_image = await self.rai_client.get_image_data(msg)
424424
else:
425-
encoded_image = self.rai_client.red_teams.get_template_parameters_image(path=msg)
425+
response = self.rai_client.red_teams.get_template_parameters_image(path=msg, stream="true")
426+
image_data = b"".join(response)
427+
encoded_image = base64.b64encode(image_data).decode("utf-8")
428+
426429
contents.append(
427430
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{encoded_image}"}},
428431
)

sdk/evaluation/azure-ai-evaluation/tests/e2etests/test_sim_and_eval.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ async def callback(
138138
("proj_scope", "cred"),
139139
(
140140
("project_scope", "azure_cred"),
141-
# ("project_scope_onedp", "azure_cred_onedp"),
141+
("project_scope_onedp", "azure_cred_onedp"),
142142
)
143143
)
144144
def test_protected_material_sim_image_understanding(self, request, proj_scope, cred):
@@ -192,7 +192,6 @@ async def callback(
192192
eval_output = evaluate(
193193
data=file_name,
194194
evaluation_name="sim_image_understanding_protected_material_eval",
195-
# azure_ai_project=project_scope,
196195
evaluators={"protected_material": protected_material_eval},
197196
)
198197

0 commit comments

Comments
 (0)