azure-ai-evaluation 1.10.0__py3-none-any.whl → 1.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of azure-ai-evaluation might be problematic. Click here for more details.

Files changed (49) hide show
  1. azure/ai/evaluation/_common/onedp/models/_models.py +5 -0
  2. azure/ai/evaluation/_converters/_ai_services.py +60 -10
  3. azure/ai/evaluation/_converters/_models.py +75 -26
  4. azure/ai/evaluation/_evaluate/_eval_run.py +14 -1
  5. azure/ai/evaluation/_evaluate/_evaluate.py +13 -4
  6. azure/ai/evaluation/_evaluate/_evaluate_aoai.py +77 -33
  7. azure/ai/evaluation/_evaluate/_utils.py +4 -0
  8. azure/ai/evaluation/_evaluators/_coherence/_coherence.py +2 -1
  9. azure/ai/evaluation/_evaluators/_common/_base_eval.py +113 -19
  10. azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py +7 -2
  11. azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py +1 -1
  12. azure/ai/evaluation/_evaluators/_fluency/_fluency.py +2 -1
  13. azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py +113 -3
  14. azure/ai/evaluation/_evaluators/_intent_resolution/_intent_resolution.py +8 -2
  15. azure/ai/evaluation/_evaluators/_relevance/_relevance.py +2 -1
  16. azure/ai/evaluation/_evaluators/_response_completeness/_response_completeness.py +10 -2
  17. azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py +2 -1
  18. azure/ai/evaluation/_evaluators/_similarity/_similarity.py +2 -1
  19. azure/ai/evaluation/_evaluators/_task_adherence/_task_adherence.py +8 -2
  20. azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy.py +104 -60
  21. azure/ai/evaluation/_evaluators/_tool_call_accuracy/tool_call_accuracy.prompty +58 -41
  22. azure/ai/evaluation/_exceptions.py +1 -0
  23. azure/ai/evaluation/_version.py +1 -1
  24. azure/ai/evaluation/red_team/__init__.py +2 -1
  25. azure/ai/evaluation/red_team/_attack_objective_generator.py +17 -0
  26. azure/ai/evaluation/red_team/_callback_chat_target.py +14 -1
  27. azure/ai/evaluation/red_team/_evaluation_processor.py +376 -0
  28. azure/ai/evaluation/red_team/_mlflow_integration.py +322 -0
  29. azure/ai/evaluation/red_team/_orchestrator_manager.py +661 -0
  30. azure/ai/evaluation/red_team/_red_team.py +697 -3067
  31. azure/ai/evaluation/red_team/_result_processor.py +610 -0
  32. azure/ai/evaluation/red_team/_utils/__init__.py +34 -0
  33. azure/ai/evaluation/red_team/_utils/_rai_service_eval_chat_target.py +3 -1
  34. azure/ai/evaluation/red_team/_utils/_rai_service_true_false_scorer.py +6 -0
  35. azure/ai/evaluation/red_team/_utils/exception_utils.py +345 -0
  36. azure/ai/evaluation/red_team/_utils/file_utils.py +266 -0
  37. azure/ai/evaluation/red_team/_utils/formatting_utils.py +115 -13
  38. azure/ai/evaluation/red_team/_utils/metric_mapping.py +24 -4
  39. azure/ai/evaluation/red_team/_utils/progress_utils.py +252 -0
  40. azure/ai/evaluation/red_team/_utils/retry_utils.py +218 -0
  41. azure/ai/evaluation/red_team/_utils/strategy_utils.py +17 -4
  42. azure/ai/evaluation/simulator/_adversarial_simulator.py +9 -0
  43. azure/ai/evaluation/simulator/_model_tools/_generated_rai_client.py +19 -5
  44. azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py +4 -3
  45. {azure_ai_evaluation-1.10.0.dist-info → azure_ai_evaluation-1.11.0.dist-info}/METADATA +32 -2
  46. {azure_ai_evaluation-1.10.0.dist-info → azure_ai_evaluation-1.11.0.dist-info}/RECORD +49 -41
  47. {azure_ai_evaluation-1.10.0.dist-info → azure_ai_evaluation-1.11.0.dist-info}/WHEEL +1 -1
  48. {azure_ai_evaluation-1.10.0.dist-info → azure_ai_evaluation-1.11.0.dist-info/licenses}/NOTICE.txt +0 -0
  49. {azure_ai_evaluation-1.10.0.dist-info → azure_ai_evaluation-1.11.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,218 @@
1
+ # ---------------------------------------------------------
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # ---------------------------------------------------------
4
+ """
5
+ Retry utilities for Red Team Agent.
6
+
7
+ This module provides centralized retry logic and decorators for handling
8
+ network errors and other transient failures consistently across the codebase.
9
+ """
10
+
11
+ import asyncio
12
+ import logging
13
+ from typing import Any, Callable, Dict, List, Optional, TypeVar
14
+ from tenacity import (
15
+ retry,
16
+ stop_after_attempt,
17
+ wait_exponential,
18
+ retry_if_exception,
19
+ RetryError,
20
+ )
21
+
22
+ # Retry imports for exception handling
23
+ import httpx
24
+ import httpcore
25
+
26
+ # Import Azure exceptions if available
27
+ try:
28
+ from azure.core.exceptions import ServiceRequestError, ServiceResponseError
29
+
30
+ AZURE_EXCEPTIONS = (ServiceRequestError, ServiceResponseError)
31
+ except ImportError:
32
+ AZURE_EXCEPTIONS = ()
33
+
34
+
35
+ # Type variable for generic retry decorators
36
+ T = TypeVar("T")
37
+
38
+
39
+ class RetryManager:
40
+ """Centralized retry management for Red Team operations."""
41
+
42
+ # Default retry configuration
43
+ DEFAULT_MAX_ATTEMPTS = 5
44
+ DEFAULT_MIN_WAIT = 2
45
+ DEFAULT_MAX_WAIT = 30
46
+ DEFAULT_MULTIPLIER = 1.5
47
+
48
+ # Network-related exceptions that should trigger retries
49
+ NETWORK_EXCEPTIONS = (
50
+ httpx.ConnectTimeout,
51
+ httpx.ReadTimeout,
52
+ httpx.ConnectError,
53
+ httpx.HTTPError,
54
+ httpx.TimeoutException,
55
+ httpx.HTTPStatusError,
56
+ httpcore.ReadTimeout,
57
+ ConnectionError,
58
+ ConnectionRefusedError,
59
+ ConnectionResetError,
60
+ TimeoutError,
61
+ OSError,
62
+ IOError,
63
+ asyncio.TimeoutError,
64
+ ) + AZURE_EXCEPTIONS
65
+
66
+ def __init__(
67
+ self,
68
+ logger: Optional[logging.Logger] = None,
69
+ max_attempts: int = DEFAULT_MAX_ATTEMPTS,
70
+ min_wait: int = DEFAULT_MIN_WAIT,
71
+ max_wait: int = DEFAULT_MAX_WAIT,
72
+ multiplier: float = DEFAULT_MULTIPLIER,
73
+ ):
74
+ """Initialize retry manager.
75
+
76
+ :param logger: Logger instance for retry messages
77
+ :param max_attempts: Maximum number of retry attempts
78
+ :param min_wait: Minimum wait time between retries (seconds)
79
+ :param max_wait: Maximum wait time between retries (seconds)
80
+ :param multiplier: Exponential backoff multiplier
81
+ """
82
+ self.logger = logger or logging.getLogger(__name__)
83
+ self.max_attempts = max_attempts
84
+ self.min_wait = min_wait
85
+ self.max_wait = max_wait
86
+ self.multiplier = multiplier
87
+
88
+ def should_retry_exception(self, exception: Exception) -> bool:
89
+ """Determine if an exception should trigger a retry.
90
+
91
+ :param exception: The exception to check
92
+ :return: True if the exception should trigger a retry
93
+ """
94
+ if isinstance(exception, self.NETWORK_EXCEPTIONS):
95
+ return True
96
+
97
+ # Special case for HTTP status errors
98
+ if isinstance(exception, httpx.HTTPStatusError):
99
+ return exception.response.status_code == 500 or "model_error" in str(exception)
100
+
101
+ return False
102
+
103
+ def log_retry_attempt(self, retry_state) -> None:
104
+ """Log retry attempts for visibility.
105
+
106
+ :param retry_state: The retry state object from tenacity
107
+ """
108
+ exception = retry_state.outcome.exception()
109
+ if exception:
110
+ self.logger.warning(
111
+ f"Retry attempt {retry_state.attempt_number}/{self.max_attempts}: "
112
+ f"{exception.__class__.__name__} - {str(exception)}. "
113
+ f"Retrying in {retry_state.next_action.sleep} seconds..."
114
+ )
115
+
116
+ def log_retry_error(self, retry_state) -> Exception:
117
+ """Log the final error after all retries failed.
118
+
119
+ :param retry_state: The retry state object from tenacity
120
+ :return: The final exception
121
+ """
122
+ exception = retry_state.outcome.exception()
123
+ self.logger.error(
124
+ f"All retries failed after {retry_state.attempt_number} attempts. "
125
+ f"Final error: {exception.__class__.__name__}: {str(exception)}"
126
+ )
127
+ return exception
128
+
129
+ def create_retry_decorator(self, context: str = "") -> Callable:
130
+ """Create a retry decorator with the configured settings.
131
+
132
+ :param context: Optional context string for logging
133
+ :return: Configured retry decorator
134
+ """
135
+ context_prefix = f"[{context}] " if context else ""
136
+
137
+ def log_attempt(retry_state):
138
+ exception = retry_state.outcome.exception()
139
+ if exception:
140
+ self.logger.warning(
141
+ f"{context_prefix}Retry attempt {retry_state.attempt_number}/{self.max_attempts}: "
142
+ f"{exception.__class__.__name__} - {str(exception)}. "
143
+ f"Retrying in {retry_state.next_action.sleep} seconds..."
144
+ )
145
+
146
+ def log_final_error(retry_state):
147
+ exception = retry_state.outcome.exception()
148
+ self.logger.error(
149
+ f"{context_prefix}All retries failed after {retry_state.attempt_number} attempts. "
150
+ f"Final error: {exception.__class__.__name__}: {str(exception)}"
151
+ )
152
+ return exception
153
+
154
+ return retry(
155
+ retry=retry_if_exception(self.should_retry_exception),
156
+ stop=stop_after_attempt(self.max_attempts),
157
+ wait=wait_exponential(
158
+ multiplier=self.multiplier,
159
+ min=self.min_wait,
160
+ max=self.max_wait,
161
+ ),
162
+ before_sleep=log_attempt,
163
+ retry_error_callback=log_final_error,
164
+ )
165
+
166
+ def get_retry_config(self) -> Dict[str, Any]:
167
+ """Get retry configuration dictionary for backward compatibility.
168
+
169
+ :return: Dictionary containing retry configuration
170
+ """
171
+ return {
172
+ "network_retry": {
173
+ "retry": retry_if_exception(self.should_retry_exception),
174
+ "stop": stop_after_attempt(self.max_attempts),
175
+ "wait": wait_exponential(
176
+ multiplier=self.multiplier,
177
+ min=self.min_wait,
178
+ max=self.max_wait,
179
+ ),
180
+ "retry_error_callback": self.log_retry_error,
181
+ "before_sleep": self.log_retry_attempt,
182
+ }
183
+ }
184
+
185
+
186
+ def create_standard_retry_manager(logger: Optional[logging.Logger] = None) -> RetryManager:
187
+ """Create a standard retry manager with default settings.
188
+
189
+ :param logger: Optional logger instance
190
+ :return: Configured RetryManager instance
191
+ """
192
+ return RetryManager(logger=logger)
193
+
194
+
195
+ # Convenience function for creating retry decorators
196
+ def create_retry_decorator(
197
+ logger: Optional[logging.Logger] = None,
198
+ context: str = "",
199
+ max_attempts: int = RetryManager.DEFAULT_MAX_ATTEMPTS,
200
+ min_wait: int = RetryManager.DEFAULT_MIN_WAIT,
201
+ max_wait: int = RetryManager.DEFAULT_MAX_WAIT,
202
+ ) -> Callable:
203
+ """Create a retry decorator with specified parameters.
204
+
205
+ :param logger: Optional logger instance
206
+ :param context: Optional context for logging
207
+ :param max_attempts: Maximum retry attempts
208
+ :param min_wait: Minimum wait time between retries
209
+ :param max_wait: Maximum wait time between retries
210
+ :return: Configured retry decorator
211
+ """
212
+ retry_manager = RetryManager(
213
+ logger=logger,
214
+ max_attempts=max_attempts,
215
+ min_wait=min_wait,
216
+ max_wait=max_wait,
217
+ )
218
+ return retry_manager.create_retry_decorator(context)
@@ -88,12 +88,15 @@ def get_converter_for_strategy(
88
88
 
89
89
 
90
90
  def get_chat_target(
91
- target: Union[PromptChatTarget, Callable, AzureOpenAIModelConfiguration, OpenAIModelConfiguration]
91
+ target: Union[PromptChatTarget, Callable, AzureOpenAIModelConfiguration, OpenAIModelConfiguration],
92
+ prompt_to_context: Optional[Dict[str, str]] = None,
92
93
  ) -> PromptChatTarget:
93
94
  """Convert various target types to a PromptChatTarget.
94
95
 
95
96
  :param target: The target to convert
96
97
  :type target: Union[PromptChatTarget, Callable, AzureOpenAIModelConfiguration, OpenAIModelConfiguration]
98
+ :param prompt_to_context: Optional mapping from prompt content to context
99
+ :type prompt_to_context: Optional[Dict[str, str]]
97
100
  :return: A PromptChatTarget instance
98
101
  :rtype: PromptChatTarget
99
102
  """
@@ -151,7 +154,7 @@ def get_chat_target(
151
154
  has_callback_signature = False
152
155
 
153
156
  if has_callback_signature:
154
- chat_target = _CallbackChatTarget(callback=target)
157
+ chat_target = _CallbackChatTarget(callback=target, prompt_to_context=prompt_to_context)
155
158
  else:
156
159
 
157
160
  async def callback_target(
@@ -163,8 +166,18 @@ def get_chat_target(
163
166
  messages_list = [_message_to_dict(chat_message) for chat_message in messages] # type: ignore
164
167
  latest_message = messages_list[-1]
165
168
  application_input = latest_message["content"]
169
+
170
+ # Check if target accepts context as a parameter
171
+ sig = inspect.signature(target)
172
+ param_names = list(sig.parameters.keys())
173
+
166
174
  try:
167
- response = target(query=application_input)
175
+ if "context" in param_names:
176
+ # Pass context if the target function accepts it
177
+ response = target(query=application_input, context=context)
178
+ else:
179
+ # Fallback to original behavior for compatibility
180
+ response = target(query=application_input)
168
181
  except Exception as e:
169
182
  response = f"Something went wrong {e!s}"
170
183
 
@@ -177,7 +190,7 @@ def get_chat_target(
177
190
  messages_list.append(formatted_response) # type: ignore
178
191
  return {"messages": messages_list, "stream": stream, "session_state": session_state, "context": {}}
179
192
 
180
- chat_target = _CallbackChatTarget(callback=callback_target) # type: ignore
193
+ chat_target = _CallbackChatTarget(callback=callback_target, prompt_to_context=prompt_to_context) # type: ignore
181
194
 
182
195
  return chat_target
183
196
 
@@ -8,6 +8,7 @@ import logging
8
8
  import random
9
9
  from typing import Any, Callable, Dict, List, Optional, Union, cast
10
10
  import uuid
11
+ import warnings
11
12
 
12
13
  from tqdm import tqdm
13
14
 
@@ -68,6 +69,14 @@ class AdversarialSimulator:
68
69
 
69
70
  def __init__(self, *, azure_ai_project: Union[str, AzureAIProject], credential: TokenCredential):
70
71
  """Constructor."""
72
+ warnings.warn(
73
+ "DEPRECATION NOTE: Azure AI Evaluation SDK has discontinued active development on the AdversarialSimulator class."
74
+ + " While existing functionality remains available in preview, it is no longer recommended for production workloads or future integration. "
75
+ + "We recommend users migrate to the AI Red Teaming Agent for future use as it supports full parity of functionality."
76
+ + " See https://aka.ms/airedteamingagent-sample for details on AI Red Teaming Agent.",
77
+ DeprecationWarning,
78
+ stacklevel=2,
79
+ )
71
80
 
72
81
  if is_onedp_project(azure_ai_project):
73
82
  self.azure_ai_project = azure_ai_project
@@ -30,7 +30,11 @@ class GeneratedRAIClient:
30
30
  :type token_manager: ~azure.ai.evaluation.simulator._model_tools._identity_manager.APITokenManager
31
31
  """
32
32
 
33
- def __init__(self, azure_ai_project: Union[AzureAIProject, str], token_manager: ManagedIdentityAPITokenManager):
33
+ def __init__(
34
+ self,
35
+ azure_ai_project: Union[AzureAIProject, str],
36
+ token_manager: ManagedIdentityAPITokenManager,
37
+ ):
34
38
  self.azure_ai_project = azure_ai_project
35
39
  self.token_manager = token_manager
36
40
 
@@ -53,10 +57,14 @@ class GeneratedRAIClient:
53
57
  ).rai_svc
54
58
  else:
55
59
  self._client = AIProjectClient(
56
- endpoint=azure_ai_project, credential=token_manager, user_agent_policy=user_agent_policy
60
+ endpoint=azure_ai_project,
61
+ credential=token_manager,
62
+ user_agent_policy=user_agent_policy,
57
63
  ).red_teams
58
64
  self._evaluation_onedp_client = EvaluationServiceOneDPClient(
59
- endpoint=azure_ai_project, credential=token_manager, user_agent_policy=user_agent_policy
65
+ endpoint=azure_ai_project,
66
+ credential=token_manager,
67
+ user_agent_policy=user_agent_policy,
60
68
  )
61
69
 
62
70
  def _get_service_discovery_url(self):
@@ -68,7 +76,10 @@ class GeneratedRAIClient:
68
76
  import requests
69
77
 
70
78
  bearer_token = self._fetch_or_reuse_token(self.token_manager)
71
- headers = {"Authorization": f"Bearer {bearer_token}", "Content-Type": "application/json"}
79
+ headers = {
80
+ "Authorization": f"Bearer {bearer_token}",
81
+ "Content-Type": "application/json",
82
+ }
72
83
 
73
84
  response = requests.get(
74
85
  f"https://management.azure.com/subscriptions/{self.azure_ai_project['subscription_id']}/"
@@ -100,6 +111,7 @@ class GeneratedRAIClient:
100
111
  risk_category: Optional[str] = None,
101
112
  application_scenario: str = None,
102
113
  strategy: Optional[str] = None,
114
+ language: str = "en",
103
115
  scan_session_id: Optional[str] = None,
104
116
  ) -> Dict:
105
117
  """Get attack objectives using the auto-generated operations.
@@ -112,6 +124,8 @@ class GeneratedRAIClient:
112
124
  :type application_scenario: str
113
125
  :param strategy: Optional strategy to filter the attack objectives
114
126
  :type strategy: Optional[str]
127
+ :param language: Language code for the attack objectives (e.g., "en", "es", "fr")
128
+ :type language: str
115
129
  :param scan_session_id: Optional unique session ID for the scan
116
130
  :type scan_session_id: Optional[str]
117
131
  :return: The attack objectives
@@ -122,7 +136,7 @@ class GeneratedRAIClient:
122
136
  response = self._client.get_attack_objectives(
123
137
  risk_types=[risk_type],
124
138
  risk_category=risk_category,
125
- lang="en",
139
+ lang=language,
126
140
  strategy=strategy,
127
141
  headers={"x-ms-client-request-id": scan_session_id},
128
142
  )
@@ -208,7 +208,7 @@ class ProxyChatCompletionsModel(OpenAIChatCompletionsModel):
208
208
  flag = True
209
209
  while flag:
210
210
  try:
211
- response = session.evaluations.operation_results(operation_id, headers=headers)
211
+ response = session.red_teams.operation_results(operation_id, headers=headers)
212
212
  except Exception as e:
213
213
  from types import SimpleNamespace # pylint: disable=forgotten-debug-statement
214
214
 
@@ -217,9 +217,10 @@ class ProxyChatCompletionsModel(OpenAIChatCompletionsModel):
217
217
  response_data = response
218
218
  flag = False
219
219
  break
220
- if response.status_code == 200:
221
- response_data = cast(List[Dict], response.json())
220
+ if not isinstance(response, SimpleNamespace) and response.get("object") == "chat.completion":
221
+ response_data = response
222
222
  flag = False
223
+ break
223
224
  else:
224
225
  request_count += 1
225
226
  sleep_time = RAIService.SLEEP_TIME**request_count
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: azure-ai-evaluation
3
- Version: 1.10.0
3
+ Version: 1.11.0
4
4
  Summary: Microsoft Azure Evaluation Library for Python
5
5
  Home-page: https://github.com/Azure/azure-sdk-for-python
6
6
  Author: Microsoft Corporation
@@ -35,6 +35,20 @@ Requires-Dist: Jinja2>=3.1.6
35
35
  Requires-Dist: aiohttp>=3.0
36
36
  Provides-Extra: redteam
37
37
  Requires-Dist: pyrit==0.8.1; extra == "redteam"
38
+ Dynamic: author
39
+ Dynamic: author-email
40
+ Dynamic: classifier
41
+ Dynamic: description
42
+ Dynamic: description-content-type
43
+ Dynamic: home-page
44
+ Dynamic: keywords
45
+ Dynamic: license
46
+ Dynamic: license-file
47
+ Dynamic: project-url
48
+ Dynamic: provides-extra
49
+ Dynamic: requires-dist
50
+ Dynamic: requires-python
51
+ Dynamic: summary
38
52
 
39
53
  # Azure AI Evaluation client library for Python
40
54
 
@@ -398,6 +412,22 @@ This project has adopted the [Microsoft Open Source Code of Conduct][code_of_con
398
412
 
399
413
  # Release History
400
414
 
415
+ ## 1.11.0 (2025-09-02)
416
+
417
+ ### Features Added
418
+ - Added support for user-supplied tags in the `evaluate` function. Tags are key-value pairs that can be used for experiment tracking, A/B testing, filtering, and organizing evaluation runs. The function accepts a `tags` parameter.
419
+ - Added support for user-supplied TokenCredentials with LLM based evaluators.
420
+ - Enhanced `GroundednessEvaluator` to support AI agent evaluation with tool calls. The evaluator now accepts agent response data containing tool calls and can extract context from `file_search` tool results for groundedness assessment. This enables evaluation of AI agents that use tools to retrieve information and generate responses. Note: Agent groundedness evaluation is currently supported only when the `file_search` tool is used.
421
+ - Added `language` parameter to `RedTeam` class for multilingual red team scanning support. The parameter accepts values from `SupportedLanguages` enum including English, Spanish, French, German, Italian, Portuguese, Japanese, Korean, and Simplified Chinese, enabling red team attacks to be generated and conducted in multiple languages.
422
+ - Added support for IndirectAttack and UngroundedAttributes risk categories in `RedTeam` scanning. These new risk categories expand red team capabilities to detect cross-platform indirect attacks and evaluate ungrounded inferences about human attributes including emotional state and protected class information.
423
+
424
+ ### Bugs Fixed
425
+ - Fixed issue where evaluation results were not properly aligned with input data, leading to incorrect metrics being reported.
426
+
427
+ ### Other Changes
428
+ - Deprecating `AdversarialSimulator` in favor of the [AI Red Teaming Agent](https://aka.ms/airedteamingagent-sample). `AdversarialSimulator` will be removed in the next minor release.
429
+ - Moved retry configuration constants (`MAX_RETRY_ATTEMPTS`, `MAX_RETRY_WAIT_SECONDS`, `MIN_RETRY_WAIT_SECONDS`) from `RedTeam` class to new `RetryManager` class for better code organization and configurability.
430
+
401
431
  ## 1.10.0 (2025-07-31)
402
432
 
403
433
  ### Breaking Changes
@@ -1,11 +1,11 @@
1
1
  azure/ai/evaluation/__init__.py,sha256=hrP2gqioHoUe5QBvpkmNpQ45zu6g-ErReY-fqzWeOf8,5298
2
2
  azure/ai/evaluation/_constants.py,sha256=FNVxCt3_0MwZHtDsjRYPH5h6mT_48KCbJTBWBDTNujE,3729
3
3
  azure/ai/evaluation/_eval_mapping.py,sha256=CHabrfaRlWbrAYUZV5YXYH0GX_zk9tG9y1og6RtUAnU,2584
4
- azure/ai/evaluation/_exceptions.py,sha256=y5zVwhyoNuqjaE8P6E65j0-NRDE2Nx0iMq8F7_0kO-4,5848
4
+ azure/ai/evaluation/_exceptions.py,sha256=XTKiPpQlsT67Bj6WgL_ZkVOtHs1Pfvtb_T8W57e4Kyc,5886
5
5
  azure/ai/evaluation/_http_utils.py,sha256=d1McnMRT5lnaoR8x4r3pkfH2ic4T3JArclOK4kAaUmg,17261
6
6
  azure/ai/evaluation/_model_configurations.py,sha256=MNN6cQlz7P9vNfHmfEKsUcly3j1FEOEFsA8WV7GPuKQ,4043
7
7
  azure/ai/evaluation/_user_agent.py,sha256=SgUm6acnwyoENu8KroyaWRrJroJNqLZBccpQoeKyrHw,1144
8
- azure/ai/evaluation/_version.py,sha256=6wd-PDI7lXxIj0JWkLpHM3nxqs22YSfHFt4rjZRC69E,230
8
+ azure/ai/evaluation/_version.py,sha256=8pNo9H5hBZtBGeSW3x-Zvdw4xfdgPA3XP0qgG209QKA,230
9
9
  azure/ai/evaluation/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  azure/ai/evaluation/_aoai/__init__.py,sha256=0Ji05ShlsJaytvexXUpCe69t0jSNd3PpNbhr0zCkr6A,265
11
11
  azure/ai/evaluation/_aoai/aoai_grader.py,sha256=8mp_dwMK-MdKkoiTud9ra6ExKyYV1SAPXr1m46j4lm4,4434
@@ -49,7 +49,7 @@ azure/ai/evaluation/_common/onedp/aio/operations/_operations.py,sha256=xSkn23Wei
49
49
  azure/ai/evaluation/_common/onedp/aio/operations/_patch.py,sha256=lNLUF-PrKQxqNd7ZZ6cvds5HfRzDZIF2FOiV0eW4sGY,847
50
50
  azure/ai/evaluation/_common/onedp/models/__init__.py,sha256=3p1f6D_dLR78NZD8KIW96QIGFEPC4hX0Cmny_GFW3lE,4111
51
51
  azure/ai/evaluation/_common/onedp/models/_enums.py,sha256=BmRNUNzEQNeS_wAeTSJedRFOz6KUQfu3ui4X__DCQ48,9230
52
- azure/ai/evaluation/_common/onedp/models/_models.py,sha256=1F5s1hwN-gDdV3dwiFUnf4H3MOXzxfLftpvwPkyL8aA,109858
52
+ azure/ai/evaluation/_common/onedp/models/_models.py,sha256=tNBbOkNS4LqFpNnH7WZyu8isfKygNuMI1hgVaZsUb8M,110094
53
53
  azure/ai/evaluation/_common/onedp/models/_patch.py,sha256=lNLUF-PrKQxqNd7ZZ6cvds5HfRzDZIF2FOiV0eW4sGY,847
54
54
  azure/ai/evaluation/_common/onedp/operations/__init__.py,sha256=k9s2V8lJr-9bkIz8NzKEEopscWFsXbtDvkyGX-8ypPA,1479
55
55
  azure/ai/evaluation/_common/onedp/operations/_operations.py,sha256=PML44MdW9NdRBqtii__jsdW9_a2CJNJ5CMNciZFxUTc,254330
@@ -93,14 +93,14 @@ azure/ai/evaluation/_common/raiclient/operations/__init__.py,sha256=Ah41eszCE4ZD
93
93
  azure/ai/evaluation/_common/raiclient/operations/_operations.py,sha256=8p5cxclqe1TV5Eolqm9Qy90D9q0MqspLbv8yoeWsjR8,51394
94
94
  azure/ai/evaluation/_common/raiclient/operations/_patch.py,sha256=P7PMm3Gbjlk56lI6B_Ra43hSW5qGMEmN3cNYGH5uZ3s,674
95
95
  azure/ai/evaluation/_converters/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
96
- azure/ai/evaluation/_converters/_ai_services.py,sha256=sAzXojsM9flEmG7tSRPxmuqf8NGrmKOcMZP4dyqVjaU,38752
97
- azure/ai/evaluation/_converters/_models.py,sha256=WjAJntMPlc_CpnHZ2pFqW5yezlvfGJCorw7FIa8lMQc,15308
96
+ azure/ai/evaluation/_converters/_ai_services.py,sha256=YmaLe-qKJY2q4QCBUSo8L89NKabUo9s-tXWsJOauZr4,40634
97
+ azure/ai/evaluation/_converters/_models.py,sha256=x6GxLItQtvccv8q6jWtOUmQL1ZdeIAcV21uHXqRqgNA,17588
98
98
  azure/ai/evaluation/_converters/_sk_services.py,sha256=NfjflVgeJUF0MrvAiUd_uF2magn38Q_MKmHzaY41vOA,18239
99
99
  azure/ai/evaluation/_evaluate/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
100
- azure/ai/evaluation/_evaluate/_eval_run.py,sha256=ZlDvTNDiMSZ2VfzVicPmEGx65LL3LmcKcPWft6XjWcA,21991
101
- azure/ai/evaluation/_evaluate/_evaluate.py,sha256=XlJT0VWuNDIRSee7z63p5AP3dRNwZ7vJbSYOUGJfD_E,56540
102
- azure/ai/evaluation/_evaluate/_evaluate_aoai.py,sha256=-5oR9rPzXns6DQMiwJAp0iBHdK74JtlpTlx-xoGDhmo,26222
103
- azure/ai/evaluation/_evaluate/_utils.py,sha256=e9Jha5zAkDaidZjFf1-FnNSmT02BjYWkleV9P1E0Iq8,19095
100
+ azure/ai/evaluation/_evaluate/_eval_run.py,sha256=57rfW4MkE9LSlQNqdzxvq_nw8xYW-mqPQLw4WY_k-YU,22564
101
+ azure/ai/evaluation/_evaluate/_evaluate.py,sha256=FwANTG-K2MtL6yOIawXV1We27IC9nMJLA5o6nb6nfMg,57108
102
+ azure/ai/evaluation/_evaluate/_evaluate_aoai.py,sha256=E8ERnyCu8MmZWF-IYp_f0vJR8Qd095APWDBhOvEnPng,27872
103
+ azure/ai/evaluation/_evaluate/_utils.py,sha256=DRLY9rtYdTtlcJMMv9UbzuD3U41sCq3UBKwvgVAcEp4,19227
104
104
  azure/ai/evaluation/_evaluate/_batch_run/__init__.py,sha256=cPLi_MJ_pCp8eKBxJbiSoxgTnN3nDLuaP57dMkKuyhg,552
105
105
  azure/ai/evaluation/_evaluate/_batch_run/_run_submitter_client.py,sha256=2Rl4j_f4qK6_J-Gl_qUV-4elpWbegWzIkJuQOdPP-ig,7046
106
106
  azure/ai/evaluation/_evaluate/_batch_run/batch_clients.py,sha256=dTZYdQGweGzEN6OHtn1jOmGG767AJ7RJwfHoCCeRddg,2761
@@ -115,13 +115,13 @@ azure/ai/evaluation/_evaluators/_bleu/_bleu.py,sha256=CJOmTL_5vC477Q4dAKTArApj2d
115
115
  azure/ai/evaluation/_evaluators/_code_vulnerability/__init__.py,sha256=zRHHxYA6CI72iqZaZz9eSbDHwhhjp5hjicEK_RWXlL0,109
116
116
  azure/ai/evaluation/_evaluators/_code_vulnerability/_code_vulnerability.py,sha256=KrOtAxtipZf2FDQ9uiHQ4pTAzD-aev14EPgaQUdFVNA,4890
117
117
  azure/ai/evaluation/_evaluators/_coherence/__init__.py,sha256=GRqcSCQse02Spyki0UsRNWMIXiea2lLtPPXNGvkJzQ0,258
118
- azure/ai/evaluation/_evaluators/_coherence/_coherence.py,sha256=MqifhqPRbvMH1AsvAO8D7sbN1xSZ7VtkiWQIFFrR0_8,5844
118
+ azure/ai/evaluation/_evaluators/_coherence/_coherence.py,sha256=GntdMq4fZCp8C90wIv1WaHOIR10tHX4ozF6iNn-I6OI,5896
119
119
  azure/ai/evaluation/_evaluators/_coherence/coherence.prompty,sha256=ANvh9mDFW7KMejrgdWqBLjj4SIqEO5WW9gg5pE0RLJk,6798
120
120
  azure/ai/evaluation/_evaluators/_common/__init__.py,sha256=xAymP_CZy4aPzWplMdXgQUQVDIUEMI-0nbgdm_umFYY,498
121
- azure/ai/evaluation/_evaluators/_common/_base_eval.py,sha256=qv1W6gQR5-SLq6hTvDBqSusaPzOX6I6mH8feI2JFSOk,26050
121
+ azure/ai/evaluation/_evaluators/_common/_base_eval.py,sha256=HldEvHxoj7BJivIAK2GN2DOeZKfVUQbKDM-FglZiyEQ,30256
122
122
  azure/ai/evaluation/_evaluators/_common/_base_multi_eval.py,sha256=yYFpoCDe2wMFQck0ykbX8IJBBidk6NT1wUTkVFlVSy8,2728
123
- azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py,sha256=11ZMNPLF50O7om7UOq8BzeWiarVpU9qnC1exotnw1Lo,6866
124
- azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py,sha256=mW8jErfouw1rVST2YO5nWEdMwIaXWCaw46-s8-Avilc,9068
123
+ azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py,sha256=uvCwyUXInYfB2CxntbRiGla8n9lXRmsaUJsuFrckL-w,7047
124
+ azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py,sha256=JSZhRxVKljM4XE4P2DGrJSnD6iWr7tlDIJ8g95rHaGg,9078
125
125
  azure/ai/evaluation/_evaluators/_common/_conversation_aggregators.py,sha256=gjDBjRxJKwaHbshWH0j2idjlzfzNMnT9a9RL0fQiKeM,2129
126
126
  azure/ai/evaluation/_evaluators/_content_safety/__init__.py,sha256=PEYMIybfP64f7byhuTaiq4RiqsYbjqejpW1JsJIG1jA,556
127
127
  azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py,sha256=0JVsptT5koRCXOhcd5_NIvQPQxMRHhlCfisc_KRKE6k,7502
@@ -136,16 +136,16 @@ azure/ai/evaluation/_evaluators/_eci/_eci.py,sha256=3Zrf6xxaw7e2adQLb0TM_KFWf-4R
136
136
  azure/ai/evaluation/_evaluators/_f1_score/__init__.py,sha256=aEVbO7iMoF20obdpLQKcKm69Yyu3mYnblKELLqu8OGI,260
137
137
  azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py,sha256=8xKB0SDqseQ2Vnhf3CNftXVMjV6co8h-gfKOTcmNJJw,6940
138
138
  azure/ai/evaluation/_evaluators/_fluency/__init__.py,sha256=EEJw39xRa0bOAA1rELTTKXQu2s60n_7CZQRD0Gu2QVw,259
139
- azure/ai/evaluation/_evaluators/_fluency/_fluency.py,sha256=iIgN2DQDvAoZldeCYRv8Z-kzNvEPsS4KEuDQBhXiQog,5552
139
+ azure/ai/evaluation/_evaluators/_fluency/_fluency.py,sha256=_0KKogHupXULC9_1gkp8zElL8K6j2grGVXDWmKYejgQ,5604
140
140
  azure/ai/evaluation/_evaluators/_fluency/fluency.prompty,sha256=n9v0W9eYwgIO-JSsLTSKEM_ApJuxxuKWQpNblrTEkFY,4861
141
141
  azure/ai/evaluation/_evaluators/_gleu/__init__.py,sha256=Ae2EvQ7gqiYAoNO3LwGIhdAAjJPJDfT85rQGKrRrmbA,260
142
142
  azure/ai/evaluation/_evaluators/_gleu/_gleu.py,sha256=bm46V_t4NpIEaAAZMtMAxMMe_u3SgOY0201RihpFxEc,4884
143
143
  azure/ai/evaluation/_evaluators/_groundedness/__init__.py,sha256=UYNJUeRvBwcSVFyZpdsf29un5eyaDzYoo3QvC1gvlLg,274
144
- azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py,sha256=DF1rEC1AZp8yXGVQc4i_0Nn4joKVCas2cBKyVOgJnPg,8208
144
+ azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py,sha256=ittAkpoyCQ_A0BaZ2vZRoDpPpIuPLC2n369c62vK-yg,13184
145
145
  azure/ai/evaluation/_evaluators/_groundedness/groundedness_with_query.prompty,sha256=v7TOm75DyW_1gOU6gSiZoPcRnHcJ65DrzR2cL_ucWDY,5814
146
146
  azure/ai/evaluation/_evaluators/_groundedness/groundedness_without_query.prompty,sha256=8kNShdfxQvkII7GnqjmdqQ5TNelA2B6cjnqWZk8FFe4,5296
147
147
  azure/ai/evaluation/_evaluators/_intent_resolution/__init__.py,sha256=Lr8krXt2yfShFTAuwjTFgrUbO75boLLrRSnF1mriN_Q,280
148
- azure/ai/evaluation/_evaluators/_intent_resolution/_intent_resolution.py,sha256=3cWMeUSUGJmFtIFLHNH0rHX4KNUfVeermeTJpIRHh4M,11431
148
+ azure/ai/evaluation/_evaluators/_intent_resolution/_intent_resolution.py,sha256=ybZCa8HQ6Q3BCtA0_6cPlj0HbFBbWHOZruN64PILrV4,11542
149
149
  azure/ai/evaluation/_evaluators/_intent_resolution/intent_resolution.prompty,sha256=5xLdYQ9FUfJVNtkbFMjiFhFH17eyRYF4WFIE6_3zvxc,8449
150
150
  azure/ai/evaluation/_evaluators/_meteor/__init__.py,sha256=209na3pPsdmcuYpYHUYtqQybCpc3yZkc93HnRdicSlI,266
151
151
  azure/ai/evaluation/_evaluators/_meteor/_meteor.py,sha256=6OkRH78wfn61lkR-1MuDw2J980SCm7LU-B567cS_8ho,5926
@@ -154,27 +154,27 @@ azure/ai/evaluation/_evaluators/_protected_material/_protected_material.py,sha25
154
154
  azure/ai/evaluation/_evaluators/_qa/__init__.py,sha256=bcXfT--C0hjym2haqd1B2-u9bDciyM0ThOFtU1Q69sk,244
155
155
  azure/ai/evaluation/_evaluators/_qa/_qa.py,sha256=y8Magyzb2DESoN6vFllJkf8bLZ28UFFYyKVHCv1ah3o,6270
156
156
  azure/ai/evaluation/_evaluators/_relevance/__init__.py,sha256=JlxytW32Nl8pbE-fI3GRpfgVuY9EG6zxIAn5VZGSwyc,265
157
- azure/ai/evaluation/_evaluators/_relevance/_relevance.py,sha256=TwApL9yRB47O_n8OOGhg7E2WLpNAWWX6Pqiku3PIR2Q,8944
157
+ azure/ai/evaluation/_evaluators/_relevance/_relevance.py,sha256=CcE9wHUci6BCAjR5P-rlpfD9U63rdlSognNmMFAibsU,8996
158
158
  azure/ai/evaluation/_evaluators/_relevance/relevance.prompty,sha256=1F45mS6phDhUCjWD7AVAeCJE8UJHytCgRwHrndcH99E,6462
159
159
  azure/ai/evaluation/_evaluators/_response_completeness/__init__.py,sha256=U3eqkQQAgRif46B6UGdq3yWefgbkZGJ3ZE2sKoZQDlU,292
160
- azure/ai/evaluation/_evaluators/_response_completeness/_response_completeness.py,sha256=gNZHxw-sk99DDvwhLGh3Az4RVfauPv9QMRt6d2lyNoY,7922
160
+ azure/ai/evaluation/_evaluators/_response_completeness/_response_completeness.py,sha256=gMvQOJdcuKHKBvOYnDenUEPoMttTL_ZcxaHghaD7mMY,8047
161
161
  azure/ai/evaluation/_evaluators/_response_completeness/response_completeness.prompty,sha256=25PqzWWtpwvsKNnBGDNfqsKKo2RpyeiIFzvK8sauPDg,7520
162
162
  azure/ai/evaluation/_evaluators/_retrieval/__init__.py,sha256=kMu47ZyTZ7f-4Yh6H3KHxswmxitmPJ8FPSk90qgR0XI,265
163
- azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py,sha256=hiCVZOg_dn7q87OPdizhdYqK3SkK46evpEUBphNfIBY,6254
163
+ azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py,sha256=ZFLXC36rWoPNAmTPV0sgMhrk1U9WFPmJ2NAY_JRfHyo,6265
164
164
  azure/ai/evaluation/_evaluators/_retrieval/retrieval.prompty,sha256=_YVoO4Gt_WD42bUcj5n6BDW0dMUqNf0yF3Nj5XMOX2c,16490
165
165
  azure/ai/evaluation/_evaluators/_rouge/__init__.py,sha256=kusCDaYcXogDugGefRP8MQSn9xv107oDbrMCqZ6K4GA,291
166
166
  azure/ai/evaluation/_evaluators/_rouge/_rouge.py,sha256=6xfAc18Cqa2bq_GtGTKUEIZdWFqdjAYPjsqNl1ok10E,10033
167
167
  azure/ai/evaluation/_evaluators/_service_groundedness/__init__.py,sha256=0DODUGTOgaYyFbO9_zxuwifixDL3SIm3EkwP1sdwn6M,288
168
168
  azure/ai/evaluation/_evaluators/_service_groundedness/_service_groundedness.py,sha256=qdwVlgoPB870mcwDzDfsfmWlSocpyQJPvQxROGaiTXg,8158
169
169
  azure/ai/evaluation/_evaluators/_similarity/__init__.py,sha256=V2Mspog99_WBltxTkRHG5NpN5s9XoiTSN4I8POWEkLA,268
170
- azure/ai/evaluation/_evaluators/_similarity/_similarity.py,sha256=W86KDcAjf6_tXUVEYM80mmWNHVJ2O_WQD1AT6yRQ6r8,5460
170
+ azure/ai/evaluation/_evaluators/_similarity/_similarity.py,sha256=YAmrxQdbgDHLWpsTQIcu7uywdZLdvhIdzXAJsWvxH3Y,5512
171
171
  azure/ai/evaluation/_evaluators/_similarity/similarity.prompty,sha256=eoludASychZoGL625bFCaZai-OY7DIAg90ZLax_o4XE,4594
172
172
  azure/ai/evaluation/_evaluators/_task_adherence/__init__.py,sha256=9HtNrG7yYX0Ygq3cZoS_0obAvGgmy5HWcsBcPKoB15c,271
173
- azure/ai/evaluation/_evaluators/_task_adherence/_task_adherence.py,sha256=DjlgI9LWhVZEJAnLhh4X2rH76ON4ORVfWpoVreSsOfE,11054
173
+ azure/ai/evaluation/_evaluators/_task_adherence/_task_adherence.py,sha256=JBNr1cXbK97SRyG4B84DnlKPUxVrCSr9mZ9mIzGoKqI,11165
174
174
  azure/ai/evaluation/_evaluators/_task_adherence/task_adherence.prompty,sha256=b1beQUEBPFLkcJUhiVvH7s07RArcPRVtHvXKKZKHbPg,12795
175
175
  azure/ai/evaluation/_evaluators/_tool_call_accuracy/__init__.py,sha256=vYB4Y_3n1LqTiEeZB1O1A0b14wpURBwtW0wPEN2FG9Q,288
176
- azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy.py,sha256=lyqy4Gm1n0_6ixrYLb39wSA6a0B-sH8GspbdZL2QiTY,17399
177
- azure/ai/evaluation/_evaluators/_tool_call_accuracy/tool_call_accuracy.prompty,sha256=mJ8fILFrJ8AjJ-kNwDk_zrOUxWxYBBJVHeL5_6MX48M,10488
176
+ azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy.py,sha256=3fkBiGGK5xdb7upbVZNr5bWz9-z8EQ8J7bidD1o3QH0,19132
177
+ azure/ai/evaluation/_evaluators/_tool_call_accuracy/tool_call_accuracy.prompty,sha256=pQhNQC1w12WNBU4sdgyhO9gXhZY1dWrNIBK31ciW-V4,10138
178
178
  azure/ai/evaluation/_evaluators/_ungrounded_attributes/__init__.py,sha256=wGZBd_cRDgkuS-0HV9qm81dHK7ScYdKd98xLPtk6EwQ,118
179
179
  azure/ai/evaluation/_evaluators/_ungrounded_attributes/_ungrounded_attributes.py,sha256=5Y4JMUGRkGiMyBg95OgMVf2AFLEtKnP_GbpeDqwxIGE,4656
180
180
  azure/ai/evaluation/_evaluators/_xpia/__init__.py,sha256=VMEL8WrpJQeh4sQiOLzP7hRFPnjzsvwfvTzaGCVJPCM,88
@@ -224,30 +224,38 @@ azure/ai/evaluation/_vendor/rouge_score/rouge_scorer.py,sha256=DtNSeshHipzc6vFnv
224
224
  azure/ai/evaluation/_vendor/rouge_score/scoring.py,sha256=0sqdiNE-4R_EmTTqyWL9_DAOgl54250H5004tZDGxEE,1878
225
225
  azure/ai/evaluation/_vendor/rouge_score/tokenize.py,sha256=IyHVsWY6IFFZdB23cLiJs8iBZ0DXk1mQlWE1xtdjuuk,1826
226
226
  azure/ai/evaluation/_vendor/rouge_score/tokenizers.py,sha256=3_-y1TyvyluHuERhSJ5CdXSwnpcMA7aAKU6PCz9wH_Q,1745
227
- azure/ai/evaluation/red_team/__init__.py,sha256=goB0RudQS4_BFvhvb634RXGR2FoZ49Q-fDfQfHDtucQ,632
228
- azure/ai/evaluation/red_team/_attack_objective_generator.py,sha256=3l5cOfWCfX9-fdFkBdJ0yONv7kL7w6TyghzPVErYN_w,11070
227
+ azure/ai/evaluation/red_team/__init__.py,sha256=pzt82b8QRkKqt3AfCYPEpVkOLR1Jo72LumkitLIcbiA,678
228
+ azure/ai/evaluation/red_team/_attack_objective_generator.py,sha256=8ftuYnf6gfqknvGxVHbicJ4SzCNRCqG_PKtfbT-cBBY,11482
229
229
  azure/ai/evaluation/red_team/_attack_strategy.py,sha256=5VEES4AdiHc057Bt8STAKpKvpJ7gKPGxjkh6kjlQ2og,1488
230
- azure/ai/evaluation/red_team/_callback_chat_target.py,sha256=-kd5voHTnWtTwQVXr3fl_OaxKXLic-GnwELN_e9SG_g,3016
230
+ azure/ai/evaluation/red_team/_callback_chat_target.py,sha256=iONukXtXhEVlDJod2Lf_BncxmK5aRvN7O1TrYkxSu5g,3825
231
231
  azure/ai/evaluation/red_team/_default_converter.py,sha256=tewcQgYNqQA8EJ0IIDOA3HhZOR7vpCn8E1hP787gg9k,776
232
- azure/ai/evaluation/red_team/_red_team.py,sha256=Hn1jbyd2ywZQ4XYirTVJxIHee9xfauUMzeu3-Jov6ZA,177525
232
+ azure/ai/evaluation/red_team/_evaluation_processor.py,sha256=Xvu_0y67-F0rHLs9hdCdrf73rhfaqpcwoT6lcs0nBIM,17583
233
+ azure/ai/evaluation/red_team/_mlflow_integration.py,sha256=XCBSticGVg7J7rLRt3Va_gdbUCLveoC-ky2A99rtE1U,15676
234
+ azure/ai/evaluation/red_team/_orchestrator_manager.py,sha256=d0OniEs1yese-NawL68zSelD31lQUfjCImHcYABSw24,29876
235
+ azure/ai/evaluation/red_team/_red_team.py,sha256=XIZweuR7A9naC9hyQmnZpl7baS4ExADIL4SFNh1PGgs,53479
233
236
  azure/ai/evaluation/red_team/_red_team_result.py,sha256=9DM8vDQWDhQ1TBj2KsQCCd5fGAh2gZBeT4evJnsq0Vk,17410
237
+ azure/ai/evaluation/red_team/_result_processor.py,sha256=N6HXNyUODSw7Klml5H5EufTaZ8gcoApYu6p4HJr872k,30253
234
238
  azure/ai/evaluation/red_team/_agent/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
235
239
  azure/ai/evaluation/red_team/_agent/_agent_functions.py,sha256=kLV2lQ5PHMucGK9IsrnZsmSvlhL2fhgzxa1G0NPF6eM,10482
236
240
  azure/ai/evaluation/red_team/_agent/_agent_tools.py,sha256=-ClGcNexUYa6_SxBPERAl2u4LgR0UP5Dk0TeYfUcBW8,20653
237
241
  azure/ai/evaluation/red_team/_agent/_agent_utils.py,sha256=3wtUg0BUp68l5Vm01K3zjzd1CKKt_N2Xd295yY1itdo,3224
238
242
  azure/ai/evaluation/red_team/_agent/_semantic_kernel_plugin.py,sha256=Q-9uVkIM9Hq63pXhnxg6vwmIf9gTVXmmnC3c3ikbO0w,10601
239
- azure/ai/evaluation/red_team/_utils/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
240
- azure/ai/evaluation/red_team/_utils/_rai_service_eval_chat_target.py,sha256=mC3MmSyfTvyKzZ0p4_bQ2lDh7Sk_v4vLLRcJ0iHh3mw,4940
243
+ azure/ai/evaluation/red_team/_utils/__init__.py,sha256=qzNPTCailoUp3U5rWvlx613RbbQXTWGnAVWRYezHD58,1107
244
+ azure/ai/evaluation/red_team/_utils/_rai_service_eval_chat_target.py,sha256=7l9ciCBer-pH9I5v-g9AxpTi24XsF3GYQxeqe54hCjM,5035
241
245
  azure/ai/evaluation/red_team/_utils/_rai_service_target.py,sha256=BsSffRght1caZh9EsUpRcb8fh5W78ORmTUE7X9XvWd0,29811
242
- azure/ai/evaluation/red_team/_utils/_rai_service_true_false_scorer.py,sha256=_NZ1OGgXPtKPaOqRjOr-59JguHT_EOfeFuZUQ5FmwAE,4119
246
+ azure/ai/evaluation/red_team/_utils/_rai_service_true_false_scorer.py,sha256=kWUaZvV5AcBt6JeVD5D8CiKmpq0kajKsCXa4tUTx2-o,4366
243
247
  azure/ai/evaluation/red_team/_utils/constants.py,sha256=Lujaa8X72lieAiYK0TLn59fErb1v9hWAI8JlMpmM92w,1948
244
- azure/ai/evaluation/red_team/_utils/formatting_utils.py,sha256=zoTywXnslhQBUz2NLowny6Q0FclijDxiahsuoON-GQs,6263
248
+ azure/ai/evaluation/red_team/_utils/exception_utils.py,sha256=JBQ-AlAPwhQCPucSkYu-M70RmlbOpmbWYuMjSz9cd80,12309
249
+ azure/ai/evaluation/red_team/_utils/file_utils.py,sha256=FH2rnvTFji6nJ5RM0KdayZZOF6jdgQLHAYmfAhFos2k,9047
250
+ azure/ai/evaluation/red_team/_utils/formatting_utils.py,sha256=X-AwNziYvxv3bCcW3gGcJ1UQkGp4KFJBt3e4BdqKxnM,10500
245
251
  azure/ai/evaluation/red_team/_utils/logging_utils.py,sha256=1EK7xRO0eA0nKJmqz7WhMwjP8M3i1je1KxHdGfH9HVI,4775
246
- azure/ai/evaluation/red_team/_utils/metric_mapping.py,sha256=TU9Z9umtjwmJy3SQNqbc2Fj-oJUX_7rFlg1NEGXaSK4,2130
247
- azure/ai/evaluation/red_team/_utils/strategy_utils.py,sha256=gW0cfsB8alXTIV02RHNVsz7vmQLjq7SXNf8ZHY0_OHs,8088
252
+ azure/ai/evaluation/red_team/_utils/metric_mapping.py,sha256=EwoxqIoTfTp3R2Y8-Z9OrnDb4dMKgNU5nVc-MzADbOQ,2976
253
+ azure/ai/evaluation/red_team/_utils/progress_utils.py,sha256=B39Av45v3R4ZFMnNbDfkHq_TmwXBhNNed_k-dsiNgb8,9364
254
+ azure/ai/evaluation/red_team/_utils/retry_utils.py,sha256=Ozn25fMJSoIcxy8pRA5WmZfEYzhNW7KyCc6IldNh-JA,7519
255
+ azure/ai/evaluation/red_team/_utils/strategy_utils.py,sha256=ShILcu-_XSoOiDL2_5UCwOC4lkvuKUDS_yKKtHRyNb4,8834
248
256
  azure/ai/evaluation/simulator/__init__.py,sha256=JbrPZ8pvTBalyX94SvZ9btHNoovX8rbZV03KmzxxWys,552
249
257
  azure/ai/evaluation/simulator/_adversarial_scenario.py,sha256=ISMjXfcmquvuBhM8l2u_X3jbEbNa7F7dR-AwgKNaJw0,1884
250
- azure/ai/evaluation/simulator/_adversarial_simulator.py,sha256=NuUhI-wzFylCwpQxaQYJ-Q67bQ4dn0Jp70TGHNnsCq0,25711
258
+ azure/ai/evaluation/simulator/_adversarial_simulator.py,sha256=KZJ_SN0P2MVcYDL9iaIHPc6XgjJ0zKbSMLCQNWRfQJw,26328
251
259
  azure/ai/evaluation/simulator/_constants.py,sha256=jtsj-XzbseurEAxWmB-iSPmXu7B6ZHrM3bl07j-zruM,875
252
260
  azure/ai/evaluation/simulator/_direct_attack_simulator.py,sha256=g3170PdieqzN_98PHVbpmoFKUapLN_Yns_JBF71UNog,11025
253
261
  azure/ai/evaluation/simulator/_indirect_attack_simulator.py,sha256=VPTq33pRiXbiGrUo4UPPvYLSuCK0uR39Ylm0WQ2k0Yc,11810
@@ -262,17 +270,17 @@ azure/ai/evaluation/simulator/_helpers/__init__.py,sha256=FQwgrJvzq_nv3wF9DBr2py
262
270
  azure/ai/evaluation/simulator/_helpers/_language_suffix_mapping.py,sha256=sbKc3O5qsg77LEaSEQfWDfzqEFXVDw612BaDcBo3E7A,1095
263
271
  azure/ai/evaluation/simulator/_helpers/_simulator_data_classes.py,sha256=BOttMTec3muMiA4OzwD_iW08GTrhja7PL9XVjRCN3jM,3029
264
272
  azure/ai/evaluation/simulator/_model_tools/__init__.py,sha256=soaUHfmd_IK1FINPRKgKens7qKOVw9BZwc7ms7N6zrk,860
265
- azure/ai/evaluation/simulator/_model_tools/_generated_rai_client.py,sha256=m8VSBeFYyj1OKgOKHEoDKvmYSYlIg6RZkPyqbTWw7y0,7945
273
+ azure/ai/evaluation/simulator/_model_tools/_generated_rai_client.py,sha256=_nfMZvvUEiIgIY_sll-Y8waO0kPHgd8k0Q48Mi6wUN4,8229
266
274
  azure/ai/evaluation/simulator/_model_tools/_identity_manager.py,sha256=kRmKm8etMq6fM2PjVKL0P7TtXfhDESNME3PenGTryjU,6475
267
- azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py,sha256=GJkxtEHp1lv0kQ1gnK-D04Ci18KFkMQ8MZK_2OgJgWo,11827
275
+ azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py,sha256=YOvdvs_f08TmEE2nyXHkfGy-RXByj8Q7TWIgRLZTGQY,11888
268
276
  azure/ai/evaluation/simulator/_model_tools/_rai_client.py,sha256=fC38IptUtoumxu2CWLmErNoGxMdVlNr60XbpJeKdQ18,11379
269
277
  azure/ai/evaluation/simulator/_model_tools/_template_handler.py,sha256=ghQNP8ur19BfbLilEnIio85RbYwQ8APAm45-iNcimYY,8375
270
278
  azure/ai/evaluation/simulator/_model_tools/models.py,sha256=H7tjmj9wzLT-6bI542eAfecOKl1sHBZhcd-YNF522Sg,22372
271
279
  azure/ai/evaluation/simulator/_prompty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
272
280
  azure/ai/evaluation/simulator/_prompty/task_query_response.prompty,sha256=2BzSqDDYilDushvR56vMRDmqFIaIYAewdUlUZg_elMg,2182
273
281
  azure/ai/evaluation/simulator/_prompty/task_simulate.prompty,sha256=NE6lH4bfmibgMn4NgJtm9_l3PMoHSFrfjjosDJEKM0g,939
274
- azure_ai_evaluation-1.10.0.dist-info/METADATA,sha256=jPRl1bvOIg6J2b2pCfoLPp4esbKesiUEFy1bbomwpyQ,42772
275
- azure_ai_evaluation-1.10.0.dist-info/NOTICE.txt,sha256=4tzi_Yq4-eBGhBvveobWHCgUIVF-ZeouGN0m7hVq5Mk,3592
276
- azure_ai_evaluation-1.10.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
277
- azure_ai_evaluation-1.10.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
278
- azure_ai_evaluation-1.10.0.dist-info/RECORD,,
282
+ azure_ai_evaluation-1.11.0.dist-info/licenses/NOTICE.txt,sha256=4tzi_Yq4-eBGhBvveobWHCgUIVF-ZeouGN0m7hVq5Mk,3592
283
+ azure_ai_evaluation-1.11.0.dist-info/METADATA,sha256=hFOnD4ilDyFnGchPla9jqPclUz-6uio9Hi3ybvigbmc,45071
284
+ azure_ai_evaluation-1.11.0.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
285
+ azure_ai_evaluation-1.11.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
286
+ azure_ai_evaluation-1.11.0.dist-info/RECORD,,