azure-ai-evaluation 1.3.0__py3-none-any.whl → 1.5.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 (142) hide show
  1. azure/ai/evaluation/__init__.py +27 -1
  2. azure/ai/evaluation/_azure/_models.py +6 -6
  3. azure/ai/evaluation/_common/constants.py +6 -2
  4. azure/ai/evaluation/_common/rai_service.py +39 -5
  5. azure/ai/evaluation/_common/raiclient/__init__.py +34 -0
  6. azure/ai/evaluation/_common/raiclient/_client.py +128 -0
  7. azure/ai/evaluation/_common/raiclient/_configuration.py +87 -0
  8. azure/ai/evaluation/_common/raiclient/_model_base.py +1235 -0
  9. azure/ai/evaluation/_common/raiclient/_patch.py +20 -0
  10. azure/ai/evaluation/_common/raiclient/_serialization.py +2050 -0
  11. azure/ai/evaluation/_common/raiclient/_version.py +9 -0
  12. azure/ai/evaluation/_common/raiclient/aio/__init__.py +29 -0
  13. azure/ai/evaluation/_common/raiclient/aio/_client.py +130 -0
  14. azure/ai/evaluation/_common/raiclient/aio/_configuration.py +87 -0
  15. azure/ai/evaluation/_common/raiclient/aio/_patch.py +20 -0
  16. azure/ai/evaluation/_common/raiclient/aio/operations/__init__.py +25 -0
  17. azure/ai/evaluation/_common/raiclient/aio/operations/_operations.py +981 -0
  18. azure/ai/evaluation/_common/raiclient/aio/operations/_patch.py +20 -0
  19. azure/ai/evaluation/_common/raiclient/models/__init__.py +60 -0
  20. azure/ai/evaluation/_common/raiclient/models/_enums.py +18 -0
  21. azure/ai/evaluation/_common/raiclient/models/_models.py +651 -0
  22. azure/ai/evaluation/_common/raiclient/models/_patch.py +20 -0
  23. azure/ai/evaluation/_common/raiclient/operations/__init__.py +25 -0
  24. azure/ai/evaluation/_common/raiclient/operations/_operations.py +1225 -0
  25. azure/ai/evaluation/_common/raiclient/operations/_patch.py +20 -0
  26. azure/ai/evaluation/_common/raiclient/py.typed +1 -0
  27. azure/ai/evaluation/_common/utils.py +23 -3
  28. azure/ai/evaluation/_constants.py +7 -0
  29. azure/ai/evaluation/_converters/__init__.py +3 -0
  30. azure/ai/evaluation/_converters/_ai_services.py +804 -0
  31. azure/ai/evaluation/_converters/_models.py +302 -0
  32. azure/ai/evaluation/_evaluate/_batch_run/__init__.py +10 -3
  33. azure/ai/evaluation/_evaluate/_batch_run/_run_submitter_client.py +104 -0
  34. azure/ai/evaluation/_evaluate/_batch_run/batch_clients.py +82 -0
  35. azure/ai/evaluation/_evaluate/_batch_run/code_client.py +18 -12
  36. azure/ai/evaluation/_evaluate/_batch_run/eval_run_context.py +9 -4
  37. azure/ai/evaluation/_evaluate/_batch_run/proxy_client.py +42 -22
  38. azure/ai/evaluation/_evaluate/_batch_run/target_run_context.py +1 -1
  39. azure/ai/evaluation/_evaluate/_eval_run.py +2 -2
  40. azure/ai/evaluation/_evaluate/_evaluate.py +109 -64
  41. azure/ai/evaluation/_evaluate/_telemetry/__init__.py +5 -89
  42. azure/ai/evaluation/_evaluate/_utils.py +3 -3
  43. azure/ai/evaluation/_evaluators/_bleu/_bleu.py +23 -3
  44. azure/ai/evaluation/_evaluators/_code_vulnerability/__init__.py +5 -0
  45. azure/ai/evaluation/_evaluators/_code_vulnerability/_code_vulnerability.py +120 -0
  46. azure/ai/evaluation/_evaluators/_coherence/_coherence.py +21 -2
  47. azure/ai/evaluation/_evaluators/_common/_base_eval.py +44 -4
  48. azure/ai/evaluation/_evaluators/_common/_base_multi_eval.py +4 -2
  49. azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py +44 -5
  50. azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py +16 -4
  51. azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py +42 -5
  52. azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py +15 -0
  53. azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py +15 -0
  54. azure/ai/evaluation/_evaluators/_content_safety/_sexual.py +15 -0
  55. azure/ai/evaluation/_evaluators/_content_safety/_violence.py +15 -0
  56. azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py +28 -4
  57. azure/ai/evaluation/_evaluators/_fluency/_fluency.py +21 -2
  58. azure/ai/evaluation/_evaluators/_gleu/_gleu.py +26 -3
  59. azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py +22 -4
  60. azure/ai/evaluation/_evaluators/_intent_resolution/__init__.py +7 -0
  61. azure/ai/evaluation/_evaluators/_intent_resolution/_intent_resolution.py +152 -0
  62. azure/ai/evaluation/_evaluators/_intent_resolution/intent_resolution.prompty +161 -0
  63. azure/ai/evaluation/_evaluators/_meteor/_meteor.py +26 -3
  64. azure/ai/evaluation/_evaluators/_qa/_qa.py +51 -7
  65. azure/ai/evaluation/_evaluators/_relevance/_relevance.py +26 -2
  66. azure/ai/evaluation/_evaluators/_response_completeness/__init__.py +7 -0
  67. azure/ai/evaluation/_evaluators/_response_completeness/_response_completeness.py +158 -0
  68. azure/ai/evaluation/_evaluators/_response_completeness/response_completeness.prompty +99 -0
  69. azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py +21 -2
  70. azure/ai/evaluation/_evaluators/_rouge/_rouge.py +113 -4
  71. azure/ai/evaluation/_evaluators/_service_groundedness/_service_groundedness.py +23 -3
  72. azure/ai/evaluation/_evaluators/_similarity/_similarity.py +24 -5
  73. azure/ai/evaluation/_evaluators/_task_adherence/__init__.py +7 -0
  74. azure/ai/evaluation/_evaluators/_task_adherence/_task_adherence.py +148 -0
  75. azure/ai/evaluation/_evaluators/_task_adherence/task_adherence.prompty +117 -0
  76. azure/ai/evaluation/_evaluators/_tool_call_accuracy/__init__.py +9 -0
  77. azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy.py +292 -0
  78. azure/ai/evaluation/_evaluators/_tool_call_accuracy/tool_call_accuracy.prompty +71 -0
  79. azure/ai/evaluation/_evaluators/_ungrounded_attributes/__init__.py +5 -0
  80. azure/ai/evaluation/_evaluators/_ungrounded_attributes/_ungrounded_attributes.py +103 -0
  81. azure/ai/evaluation/_evaluators/_xpia/xpia.py +2 -0
  82. azure/ai/evaluation/_exceptions.py +5 -0
  83. azure/ai/evaluation/_legacy/__init__.py +3 -0
  84. azure/ai/evaluation/_legacy/_adapters/__init__.py +21 -0
  85. azure/ai/evaluation/_legacy/_adapters/_configuration.py +45 -0
  86. azure/ai/evaluation/_legacy/_adapters/_constants.py +10 -0
  87. azure/ai/evaluation/_legacy/_adapters/_errors.py +29 -0
  88. azure/ai/evaluation/_legacy/_adapters/_flows.py +28 -0
  89. azure/ai/evaluation/_legacy/_adapters/_service.py +16 -0
  90. azure/ai/evaluation/_legacy/_adapters/client.py +51 -0
  91. azure/ai/evaluation/_legacy/_adapters/entities.py +26 -0
  92. azure/ai/evaluation/_legacy/_adapters/tracing.py +28 -0
  93. azure/ai/evaluation/_legacy/_adapters/types.py +15 -0
  94. azure/ai/evaluation/_legacy/_adapters/utils.py +31 -0
  95. azure/ai/evaluation/_legacy/_batch_engine/__init__.py +9 -0
  96. azure/ai/evaluation/_legacy/_batch_engine/_config.py +45 -0
  97. azure/ai/evaluation/_legacy/_batch_engine/_engine.py +368 -0
  98. azure/ai/evaluation/_legacy/_batch_engine/_exceptions.py +88 -0
  99. azure/ai/evaluation/_legacy/_batch_engine/_logging.py +292 -0
  100. azure/ai/evaluation/_legacy/_batch_engine/_openai_injector.py +23 -0
  101. azure/ai/evaluation/_legacy/_batch_engine/_result.py +99 -0
  102. azure/ai/evaluation/_legacy/_batch_engine/_run.py +121 -0
  103. azure/ai/evaluation/_legacy/_batch_engine/_run_storage.py +128 -0
  104. azure/ai/evaluation/_legacy/_batch_engine/_run_submitter.py +217 -0
  105. azure/ai/evaluation/_legacy/_batch_engine/_status.py +25 -0
  106. azure/ai/evaluation/_legacy/_batch_engine/_trace.py +105 -0
  107. azure/ai/evaluation/_legacy/_batch_engine/_utils.py +82 -0
  108. azure/ai/evaluation/_legacy/_batch_engine/_utils_deprecated.py +131 -0
  109. azure/ai/evaluation/_legacy/prompty/__init__.py +36 -0
  110. azure/ai/evaluation/_legacy/prompty/_connection.py +182 -0
  111. azure/ai/evaluation/_legacy/prompty/_exceptions.py +59 -0
  112. azure/ai/evaluation/_legacy/prompty/_prompty.py +313 -0
  113. azure/ai/evaluation/_legacy/prompty/_utils.py +545 -0
  114. azure/ai/evaluation/_legacy/prompty/_yaml_utils.py +99 -0
  115. azure/ai/evaluation/_safety_evaluation/__init__.py +1 -1
  116. azure/ai/evaluation/_safety_evaluation/_generated_rai_client.py +0 -0
  117. azure/ai/evaluation/_safety_evaluation/_safety_evaluation.py +251 -150
  118. azure/ai/evaluation/_version.py +1 -1
  119. azure/ai/evaluation/red_team/__init__.py +19 -0
  120. azure/ai/evaluation/red_team/_attack_objective_generator.py +195 -0
  121. azure/ai/evaluation/red_team/_attack_strategy.py +45 -0
  122. azure/ai/evaluation/red_team/_callback_chat_target.py +74 -0
  123. azure/ai/evaluation/red_team/_default_converter.py +21 -0
  124. azure/ai/evaluation/red_team/_red_team.py +1887 -0
  125. azure/ai/evaluation/red_team/_red_team_result.py +382 -0
  126. azure/ai/evaluation/red_team/_utils/__init__.py +3 -0
  127. azure/ai/evaluation/red_team/_utils/constants.py +65 -0
  128. azure/ai/evaluation/red_team/_utils/formatting_utils.py +165 -0
  129. azure/ai/evaluation/red_team/_utils/logging_utils.py +139 -0
  130. azure/ai/evaluation/red_team/_utils/strategy_utils.py +192 -0
  131. azure/ai/evaluation/simulator/_adversarial_scenario.py +3 -1
  132. azure/ai/evaluation/simulator/_adversarial_simulator.py +54 -27
  133. azure/ai/evaluation/simulator/_model_tools/_generated_rai_client.py +145 -0
  134. azure/ai/evaluation/simulator/_model_tools/_rai_client.py +71 -1
  135. azure/ai/evaluation/simulator/_simulator.py +1 -1
  136. {azure_ai_evaluation-1.3.0.dist-info → azure_ai_evaluation-1.5.0.dist-info}/METADATA +80 -15
  137. azure_ai_evaluation-1.5.0.dist-info/RECORD +207 -0
  138. {azure_ai_evaluation-1.3.0.dist-info → azure_ai_evaluation-1.5.0.dist-info}/WHEEL +1 -1
  139. azure/ai/evaluation/simulator/_tracing.py +0 -89
  140. azure_ai_evaluation-1.3.0.dist-info/RECORD +0 -119
  141. {azure_ai_evaluation-1.3.0.dist-info → azure_ai_evaluation-1.5.0.dist-info}/NOTICE.txt +0 -0
  142. {azure_ai_evaluation-1.3.0.dist-info → azure_ai_evaluation-1.5.0.dist-info}/top_level.txt +0 -0
@@ -2,9 +2,10 @@
2
2
  # Copyright (c) Microsoft Corporation. All rights reserved.
3
3
  # ---------------------------------------------------------
4
4
  import os
5
- from typing import Any
5
+ from typing import Any, Dict, List
6
6
  from urllib.parse import urljoin, urlparse
7
7
  import base64
8
+ import json
8
9
 
9
10
  from azure.ai.evaluation._exceptions import ErrorBlame, ErrorCategory, ErrorTarget, EvaluationException
10
11
  from azure.ai.evaluation._http_utils import AsyncHttpPipeline, get_async_http_client, get_http_client
@@ -62,6 +63,7 @@ class RAIClient: # pylint: disable=client-accepts-api-version-keyword
62
63
  self.jailbreaks_json_endpoint = urljoin(self.api_url, "simulation/jailbreak")
63
64
  self.simulation_submit_endpoint = urljoin(self.api_url, "simulation/chat/completions/submit")
64
65
  self.xpia_jailbreaks_json_endpoint = urljoin(self.api_url, "simulation/jailbreak/xpia")
66
+ self.attack_objectives_endpoint = urljoin(self.api_url, "simulation/attackobjectives")
65
67
 
66
68
  def _get_service_discovery_url(self):
67
69
  bearer_token = self.token_manager.get_token()
@@ -206,3 +208,71 @@ class RAIClient: # pylint: disable=client-accepts-api-version-keyword
206
208
  category=ErrorCategory.UNKNOWN,
207
209
  blame=ErrorBlame.USER_ERROR,
208
210
  )
211
+
212
+ async def get_attack_objectives(self, risk_categories: List[str], application_scenario: str = None, strategy: str = None) -> Any:
213
+ """Get the attack objectives based on risk categories and application scenario
214
+
215
+ :param risk_categories: List of risk categories to generate attack objectives for
216
+ :type risk_categories: List[str]
217
+ :param application_scenario: Optional description of the application scenario for context
218
+ :type application_scenario: str
219
+ :param strategy: Optional attack strategy to get specific objectives for
220
+ :type strategy: str
221
+ :return: The attack objectives
222
+ :rtype: Any
223
+ """
224
+ # Create query parameters for the request
225
+ if application_scenario:
226
+ raise NotImplementedError("Application scenario is not supported yet")
227
+
228
+ params = {
229
+ "api-version": "2022-11-01-preview",
230
+ "riskTypes": ",".join(risk_categories),
231
+ "lang": "en" # Default to English
232
+ }
233
+
234
+ # Add strategy parameter if provided
235
+ if strategy:
236
+ params["strategy"] = strategy
237
+
238
+ try:
239
+ # Make the request using the existing get method
240
+ result = await self.get(self.attack_objectives_endpoint)
241
+ # from collections import defaultdict
242
+ # counts_by_risk = defaultdict(int)
243
+ # for item in result:
244
+ # target_harms = item.get("Metadata", {}).get("TargetHarms", [])
245
+ # if not target_harms:
246
+ # # No risk type specified
247
+ # counts_by_risk["empty"] += 1
248
+ # else:
249
+ # for harm in target_harms:
250
+ # # Use "empty" if the risk type field is missing
251
+ # risk_type = harm.get("RiskType", "") or "empty"
252
+ # counts_by_risk[risk_type] += 1
253
+ return result
254
+ except Exception:
255
+ # If the API fails or isn't implemented yet, return a mock response
256
+ # This is temporary until the API endpoint is fully implemented
257
+ return [{
258
+ "metadata": {
259
+ "lang": "en",
260
+ "target_harms": [
261
+ {
262
+ "risk-type": "violence",
263
+ "risk-subtype": ""
264
+ }
265
+ ]
266
+ },
267
+ "messages": [
268
+ {
269
+ "role": "user",
270
+ "content": "Risky content"
271
+ }
272
+ ],
273
+ "modality": "text",
274
+ "source": [
275
+ "source"
276
+ ]
277
+ }]
278
+
@@ -11,7 +11,7 @@ import re
11
11
  import warnings
12
12
  from typing import Any, Callable, Dict, List, Optional, Union, Tuple
13
13
 
14
- from promptflow.core import AsyncPrompty
14
+ from azure.ai.evaluation._legacy._adapters._flows import AsyncPrompty
15
15
  from tqdm import tqdm
16
16
 
17
17
  from azure.ai.evaluation._common._experimental import experimental
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-ai-evaluation
3
- Version: 1.3.0
3
+ Version: 1.5.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
@@ -21,13 +21,20 @@ Classifier: Operating System :: OS Independent
21
21
  Requires-Python: >=3.9
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: NOTICE.txt
24
- Requires-Dist: promptflow-devkit >=1.17.1
25
- Requires-Dist: promptflow-core >=1.17.1
26
- Requires-Dist: pyjwt >=2.8.0
27
- Requires-Dist: azure-identity >=1.16.0
28
- Requires-Dist: azure-core >=1.30.2
29
- Requires-Dist: nltk >=3.9.1
30
- Requires-Dist: azure-storage-blob >=12.10.0
24
+ Requires-Dist: promptflow-devkit>=1.17.1
25
+ Requires-Dist: promptflow-core>=1.17.1
26
+ Requires-Dist: pyjwt>=2.8.0
27
+ Requires-Dist: azure-identity>=1.16.0
28
+ Requires-Dist: azure-core>=1.30.2
29
+ Requires-Dist: nltk>=3.9.1
30
+ Requires-Dist: azure-storage-blob>=12.10.0
31
+ Requires-Dist: httpx>=0.25.1
32
+ Requires-Dist: pandas<3.0.0,>=2.1.2
33
+ Requires-Dist: openai>=1.40.0
34
+ Requires-Dist: ruamel.yaml<1.0.0,>=0.17.10
35
+ Requires-Dist: msrest>=0.6.21
36
+ Provides-Extra: redteam
37
+ Requires-Dist: pyrit==0.8.1; extra == "redteam"
31
38
 
32
39
  # Azure AI Evaluation client library for Python
33
40
 
@@ -54,7 +61,7 @@ Azure AI SDK provides following to evaluate Generative AI Applications:
54
61
  ### Prerequisites
55
62
 
56
63
  - Python 3.9 or later is required to use this package.
57
- - [Optional] You must have [Azure AI Project][ai_project] or [Azure Open AI][azure_openai] to use AI-assisted evaluators
64
+ - [Optional] You must have [Azure AI Foundry Project][ai_project] or [Azure Open AI][azure_openai] to use AI-assisted evaluators
58
65
 
59
66
  ### Install the package
60
67
 
@@ -63,10 +70,6 @@ Install the Azure AI Evaluation SDK for Python with [pip][pip_link]:
63
70
  ```bash
64
71
  pip install azure-ai-evaluation
65
72
  ```
66
- If you want to track results in [AI Studio][ai_studio], install `remote` extra:
67
- ```python
68
- pip install azure-ai-evaluation[remote]
69
- ```
70
73
 
71
74
  ## Key concepts
72
75
 
@@ -175,9 +178,9 @@ result = evaluate(
175
178
  }
176
179
  }
177
180
  }
178
- # Optionally provide your AI Studio project information to track your evaluation results in your Azure AI Studio project
181
+ # Optionally provide your AI Foundry project information to track your evaluation results in your Azure AI Foundry project
179
182
  azure_ai_project = azure_ai_project,
180
- # Optionally provide an output path to dump a json of metric summary, row level data and metric and studio URL
183
+ # Optionally provide an output path to dump a json of metric summary, row level data and metric and AI Foundry URL
181
184
  output_path="./evaluation_results.json"
182
185
  )
183
186
  ```
@@ -375,8 +378,70 @@ This project has adopted the [Microsoft Open Source Code of Conduct][code_of_con
375
378
  [simulate_with_conversation_starter]: https://github.com/Azure-Samples/azureai-samples/tree/main/scenarios/evaluate/Simulators/Simulate_Context-Relevant_Data/Simulate_From_Conversation_Starter
376
379
  [adversarial_jailbreak]: https://learn.microsoft.com/azure/ai-studio/how-to/develop/simulator-interaction-data#simulating-jailbreak-attacks
377
380
 
381
+
378
382
  # Release History
379
383
 
384
+ ## 1.5.0 (2025-04-04)
385
+
386
+ ### Features Added
387
+
388
+ - New `RedTeam` agent functionality to assess the safety and resilience of AI systems against adversarial prompt attacks
389
+
390
+ ## 1.4.0 (2025-03-27)
391
+
392
+ ### Features Added
393
+ - Enhanced binary evaluation results with customizable thresholds
394
+ - Added threshold support for QA and ContentSafety evaluators
395
+ - Evaluation results now include both the score and threshold values
396
+ - Configurable threshold parameter allows custom binary classification boundaries
397
+ - Default thresholds provided for backward compatibility
398
+ - Quality evaluators use "higher is better" scoring (score ≥ threshold is positive)
399
+ - Content safety evaluators use "lower is better" scoring (score ≤ threshold is positive)
400
+ - New Built-in evaluator called CodeVulnerabilityEvaluator is added.
401
+ - It provides capabilities to identify the following code vulnerabilities.
402
+ - path-injection
403
+ - sql-injection
404
+ - code-injection
405
+ - stack-trace-exposure
406
+ - incomplete-url-substring-sanitization
407
+ - flask-debug
408
+ - clear-text-logging-sensitive-data
409
+ - incomplete-hostname-regexp
410
+ - server-side-unvalidated-url-redirection
411
+ - weak-cryptographic-algorithm
412
+ - full-ssrf
413
+ - bind-socket-all-network-interfaces
414
+ - client-side-unvalidated-url-redirection
415
+ - likely-bugs
416
+ - reflected-xss
417
+ - clear-text-storage-sensitive-data
418
+ - tarslip
419
+ - hardcoded-credentials
420
+ - insecure-randomness
421
+ - It also supports multiple coding languages such as (Python, Java, C++, C#, Go, Javascript, SQL)
422
+
423
+ - New Built-in evaluator called UngroundedAttributesEvaluator is added.
424
+ - It evaluates ungrounded inference of human attributes for a given query, response, and context for a single-turn evaluation only,
425
+ - where query represents the user query and response represents the AI system response given the provided context.
426
+
427
+ - Ungrounded Attributes checks for whether a response is first, ungrounded, and checks if it contains information about protected class
428
+ - or emotional state of a person.
429
+
430
+ - It identifies the following attributes:
431
+
432
+ - emotional_state
433
+ - protected_class
434
+ - groundedness
435
+ - New Built-in evaluators for Agent Evaluation (Preview)
436
+ - IntentResolutionEvaluator - Evaluates the intent resolution of an agent's response to a user query.
437
+ - ResponseCompletenessEvaluator - Evaluates the response completeness of an agent's response to a user query.
438
+ - TaskAdherenceEvaluator - Evaluates the task adherence of an agent's response to a user query.
439
+ - ToolCallAccuracyEvaluator - Evaluates the accuracy of tool calls made by an agent in response to a user query.
440
+
441
+ ### Bugs Fixed
442
+ - Fixed error in `GroundednessProEvaluator` when handling non-numeric values like "n/a" returned from the service.
443
+ - Uploading local evaluation results from `evaluate` with the same run name will no longer result in each online run sharing (and bashing) result files.
444
+
380
445
  ## 1.3.0 (2025-02-28)
381
446
 
382
447
  ### Breaking Changes
@@ -0,0 +1,207 @@
1
+ azure/ai/evaluation/__init__.py,sha256=kAtHb6ouzfFDk8KOVaLdraayQCJmnj6SSM-YZ3sAy4Y,3417
2
+ azure/ai/evaluation/_constants.py,sha256=mrIKAUZvISRcaVpv1fAzIUDbwWS2bFlzCAMp1eB5jsY,3052
3
+ azure/ai/evaluation/_exceptions.py,sha256=v70aKkYfXqCj0FDDXsC41OrDjrfnXzgXUC6G07wwOdE,5344
4
+ azure/ai/evaluation/_http_utils.py,sha256=1bGce6pKAL-vmaUGRPxVX7DVO05XVQ8YPIwIQ3q7mfA,17221
5
+ azure/ai/evaluation/_model_configurations.py,sha256=MNN6cQlz7P9vNfHmfEKsUcly3j1FEOEFsA8WV7GPuKQ,4043
6
+ azure/ai/evaluation/_user_agent.py,sha256=O2y-QPBAcw7w7qQ6M2aRPC3Vy3TKd789u5lcs2yuFaI,290
7
+ azure/ai/evaluation/_version.py,sha256=YpsqP-vu09qp1HVH74yl4WSsHSEc4bGuEPdb2hj15Z8,229
8
+ azure/ai/evaluation/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ azure/ai/evaluation/_azure/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
10
+ azure/ai/evaluation/_azure/_clients.py,sha256=N1V-LyQkItPuoKl0aieypFPdGSRSld9lQqH1x-n3L7U,9119
11
+ azure/ai/evaluation/_azure/_models.py,sha256=Vxcg7WfpAyxLQ-EesZzLGqopguV9Oohfjf-vWKTOA-8,12527
12
+ azure/ai/evaluation/_azure/_token_manager.py,sha256=1NZHwgEc9BMXWPz5Ear_J5-oYjouD77crLHHqNLldEw,5193
13
+ azure/ai/evaluation/_common/__init__.py,sha256=LHTkf6dMLLxikrGNgbUuREBVQcs4ORHR6Eryo4bm9M8,586
14
+ azure/ai/evaluation/_common/_experimental.py,sha256=GVtSn9r1CeR_yEa578dJVNDJ3P24eqe8WYdH7llbiQY,5694
15
+ azure/ai/evaluation/_common/constants.py,sha256=7gwcSbcJr-KHA-7Llmpuo4kap_l3X5-emAn2LMb_wk4,2281
16
+ azure/ai/evaluation/_common/math.py,sha256=d4bwWe35_RWDIZNcbV1BTBbHNx2QHQ4-I3EofDyyNE0,2863
17
+ azure/ai/evaluation/_common/rai_service.py,sha256=7izMNrZxLDMjbL5gAWmU9aUnFHv7Yb0OQU-A-1XnVcA,28304
18
+ azure/ai/evaluation/_common/utils.py,sha256=SqZfm_DXhZC6JBVvdtzMEuLott2B6uWNVFz-rVSSSiA,18392
19
+ azure/ai/evaluation/_common/raiclient/__init__.py,sha256=SaoPfbEPhdoXpIKqOPmRVNyYky1mW5c7UobHt08ksAI,1153
20
+ azure/ai/evaluation/_common/raiclient/_client.py,sha256=ZnFRcpZ0UD3MeFWnJ44AbkbUqPHsvGM502ra28pm_No,5812
21
+ azure/ai/evaluation/_common/raiclient/_configuration.py,sha256=exABHzDcOl5295p5LnWxL82x21z6_ruyBbigW3WoQRA,4246
22
+ azure/ai/evaluation/_common/raiclient/_model_base.py,sha256=loH1BeKpp3UeO6hFvAzcNbT2hhotWQIDu3JRQgQZV_M,45135
23
+ azure/ai/evaluation/_common/raiclient/_patch.py,sha256=P7PMm3Gbjlk56lI6B_Ra43hSW5qGMEmN3cNYGH5uZ3s,674
24
+ azure/ai/evaluation/_common/raiclient/_serialization.py,sha256=vN_jYB0jHUw2hVIWB6M9n6_0AvFw9mFa3ndcz2y6gaQ,82802
25
+ azure/ai/evaluation/_common/raiclient/_version.py,sha256=O4QAKqUqd5NYgBOMaio5NlyJfhohrHXcqV8Xdbpuh50,486
26
+ azure/ai/evaluation/_common/raiclient/py.typed,sha256=dcrsqJrcYfTX-ckLFJMTaj6mD8aDe2u0tkQG-ZYxnEg,26
27
+ azure/ai/evaluation/_common/raiclient/aio/__init__.py,sha256=hq21DCvcidiGXghKHYHLNSfEMNjbj43jyVssEV6fF3M,1001
28
+ azure/ai/evaluation/_common/raiclient/aio/_client.py,sha256=D8Qx3tiOEgbnv1M8nU6_rJB8QG0JdY7rwwTcLLgv36w,5961
29
+ azure/ai/evaluation/_common/raiclient/aio/_configuration.py,sha256=t3IUIutMUucIgvn7LTDzpG4adroh5ZfA99ImZFhy26E,4289
30
+ azure/ai/evaluation/_common/raiclient/aio/_patch.py,sha256=P7PMm3Gbjlk56lI6B_Ra43hSW5qGMEmN3cNYGH5uZ3s,674
31
+ azure/ai/evaluation/_common/raiclient/aio/operations/__init__.py,sha256=Ah41eszCE4ZDISukKSdOWQQcZGv0TbDduaT35Q8PQz8,925
32
+ azure/ai/evaluation/_common/raiclient/aio/operations/_operations.py,sha256=mP03I6IEmDgfXWE_StqGaLRbDYhNOWHsPuOi0ZEPw6A,41385
33
+ azure/ai/evaluation/_common/raiclient/aio/operations/_patch.py,sha256=P7PMm3Gbjlk56lI6B_Ra43hSW5qGMEmN3cNYGH5uZ3s,674
34
+ azure/ai/evaluation/_common/raiclient/models/__init__.py,sha256=SPbkbuJRkjd2l52gXR-p9g67p7ix1L6q3td0hvrd86I,1531
35
+ azure/ai/evaluation/_common/raiclient/models/_enums.py,sha256=Dc574fkQb8GiXRzemFO9EQc23W4YjvziykDj-baSatA,747
36
+ azure/ai/evaluation/_common/raiclient/models/_models.py,sha256=oUolMwRT4QIiQCwI-nEJhxvlX_7o9BJLCMu6v5tkeCM,20665
37
+ azure/ai/evaluation/_common/raiclient/models/_patch.py,sha256=P7PMm3Gbjlk56lI6B_Ra43hSW5qGMEmN3cNYGH5uZ3s,674
38
+ azure/ai/evaluation/_common/raiclient/operations/__init__.py,sha256=Ah41eszCE4ZDISukKSdOWQQcZGv0TbDduaT35Q8PQz8,925
39
+ azure/ai/evaluation/_common/raiclient/operations/_operations.py,sha256=_-B8zU6GQ4RciGvBcAoVNlfGdNXaqf2XsS3EP-kYu10,50944
40
+ azure/ai/evaluation/_common/raiclient/operations/_patch.py,sha256=P7PMm3Gbjlk56lI6B_Ra43hSW5qGMEmN3cNYGH5uZ3s,674
41
+ azure/ai/evaluation/_converters/__init__.py,sha256=UwArlb5cGLN4pRUm8nG7mXsmxhgdIving2OslYhQDAg,179
42
+ azure/ai/evaluation/_converters/_ai_services.py,sha256=U2s-KdCAv4ja-Xo0nGUhjIQEoyg9QmSj2Dqt73uufUo,37091
43
+ azure/ai/evaluation/_converters/_models.py,sha256=LlrB7Vj_uW3-Ng06b3EHahRXf690W4j2XfYihS7dejo,11029
44
+ azure/ai/evaluation/_evaluate/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
45
+ azure/ai/evaluation/_evaluate/_eval_run.py,sha256=Bu_7uV8-reRllUChXZDjILpXX8ym57VIUaKvUNhono0,21985
46
+ azure/ai/evaluation/_evaluate/_evaluate.py,sha256=QO4H8-G53qif8NnsYFEULmr3eWQ4sudpf6gOzhnaNDo,40647
47
+ azure/ai/evaluation/_evaluate/_utils.py,sha256=Cn6BpKzRkIXeywB1zbYMvEBvJXWIIlvPVy_2z8nOfFE,14289
48
+ azure/ai/evaluation/_evaluate/_batch_run/__init__.py,sha256=cPLi_MJ_pCp8eKBxJbiSoxgTnN3nDLuaP57dMkKuyhg,552
49
+ azure/ai/evaluation/_evaluate/_batch_run/_run_submitter_client.py,sha256=fbDkx_qhYlBSGrxoRLPFiNccgd3pToDnLRmBb0QWzmM,3941
50
+ azure/ai/evaluation/_evaluate/_batch_run/batch_clients.py,sha256=dTZYdQGweGzEN6OHtn1jOmGG767AJ7RJwfHoCCeRddg,2761
51
+ azure/ai/evaluation/_evaluate/_batch_run/code_client.py,sha256=n4JxDAFNnetfpAj4FyhtZms3kuGmDWXCBOogqeO4F98,8607
52
+ azure/ai/evaluation/_evaluate/_batch_run/eval_run_context.py,sha256=NXlXHyQ9TFIcXdozmMqc3CmOsyzh2N9EexprBhQwoTQ,3737
53
+ azure/ai/evaluation/_evaluate/_batch_run/proxy_client.py,sha256=8lt0mZfJrPHUeGCdxjlLzB4CZNDt4OuOmYQX9J1hgCw,4666
54
+ azure/ai/evaluation/_evaluate/_batch_run/target_run_context.py,sha256=OCiCnLKRYzNkdm6mo-WSviXa-HbCltq-G9ym6gLIdO4,1658
55
+ azure/ai/evaluation/_evaluate/_telemetry/__init__.py,sha256=tBZ98BC8sIuANCTZsgONQblR-Vrw2oIcRqjjyHxbZio,3513
56
+ azure/ai/evaluation/_evaluators/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
57
+ azure/ai/evaluation/_evaluators/_bleu/__init__.py,sha256=quKKO0kvOSkky5hcoNBvgBuMeeVRFCE9GSv70mAdGP4,260
58
+ azure/ai/evaluation/_evaluators/_bleu/_bleu.py,sha256=ZX12bWcDop7HX5hXT2im2KLIJTWik9ok67zK2hZo1WY,4429
59
+ azure/ai/evaluation/_evaluators/_code_vulnerability/__init__.py,sha256=zRHHxYA6CI72iqZaZz9eSbDHwhhjp5hjicEK_RWXlL0,109
60
+ azure/ai/evaluation/_evaluators/_code_vulnerability/_code_vulnerability.py,sha256=Ud8YN2umel_hm_qWH0LZSSkMeL-pDjfC8NtQud6eGow,4068
61
+ azure/ai/evaluation/_evaluators/_coherence/__init__.py,sha256=GRqcSCQse02Spyki0UsRNWMIXiea2lLtPPXNGvkJzQ0,258
62
+ azure/ai/evaluation/_evaluators/_coherence/_coherence.py,sha256=IFk4RYa0h39i9GbtUYDph78ELx9GTJ6gzk4-oBtdL34,5378
63
+ azure/ai/evaluation/_evaluators/_coherence/coherence.prompty,sha256=ANvh9mDFW7KMejrgdWqBLjj4SIqEO5WW9gg5pE0RLJk,6798
64
+ azure/ai/evaluation/_evaluators/_common/__init__.py,sha256=xAymP_CZy4aPzWplMdXgQUQVDIUEMI-0nbgdm_umFYY,498
65
+ azure/ai/evaluation/_evaluators/_common/_base_eval.py,sha256=zUntxs1kR7fSzevotAy9m4KnuSFQXtpajXN4w0GNo4o,25449
66
+ azure/ai/evaluation/_evaluators/_common/_base_multi_eval.py,sha256=yYFpoCDe2wMFQck0ykbX8IJBBidk6NT1wUTkVFlVSy8,2728
67
+ azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py,sha256=iYIciz7Mkea67OiodbZ4Od9Djtu0GcAwingfzvk-d-Q,6177
68
+ azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py,sha256=fjiGQn2IHbhhzhykA3oguipaNVisoAqUDAEKgvvNN10,8539
69
+ azure/ai/evaluation/_evaluators/_common/_conversation_aggregators.py,sha256=gjDBjRxJKwaHbshWH0j2idjlzfzNMnT9a9RL0fQiKeM,2129
70
+ azure/ai/evaluation/_evaluators/_content_safety/__init__.py,sha256=PEYMIybfP64f7byhuTaiq4RiqsYbjqejpW1JsJIG1jA,556
71
+ azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py,sha256=xZwQnmSqaKmLtZaDAoM4vZxOVeudGQaVxa5GLV03NwI,6309
72
+ azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py,sha256=uEnsyhjJ-oQRSkMeHjEJwURhkWBXXtkaIWEhjRR6qPY,6656
73
+ azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py,sha256=wNyUm2QT1_Jpm7a8uOy74rOMF3yGNupC10g_kbEwRBI,5854
74
+ azure/ai/evaluation/_evaluators/_content_safety/_sexual.py,sha256=-yuKdXd98wQazlQ8s1bB7yee-sAIm-vHlVzDW1sC1t0,6099
75
+ azure/ai/evaluation/_evaluators/_content_safety/_violence.py,sha256=8SwwogI7gBFep_KQKh0SjiNkbxreQToXtUDMr1L6jpA,6159
76
+ azure/ai/evaluation/_evaluators/_eci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
+ azure/ai/evaluation/_evaluators/_eci/_eci.py,sha256=a36sLZPHKi3YAdl0JvpL6vboZMqgGjnmz0qZ-o8vcWY,2934
78
+ azure/ai/evaluation/_evaluators/_f1_score/__init__.py,sha256=aEVbO7iMoF20obdpLQKcKm69Yyu3mYnblKELLqu8OGI,260
79
+ azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py,sha256=Nt4QgiJew6cuLyE3fsy9tizNsC8Rk2vCBiu1FA2doAY,6483
80
+ azure/ai/evaluation/_evaluators/_fluency/__init__.py,sha256=EEJw39xRa0bOAA1rELTTKXQu2s60n_7CZQRD0Gu2QVw,259
81
+ azure/ai/evaluation/_evaluators/_fluency/_fluency.py,sha256=uG3NzLS2XxLePg5fsUVdL2K76XUa4tBaPybjxbHRtBA,5092
82
+ azure/ai/evaluation/_evaluators/_fluency/fluency.prompty,sha256=n9v0W9eYwgIO-JSsLTSKEM_ApJuxxuKWQpNblrTEkFY,4861
83
+ azure/ai/evaluation/_evaluators/_gleu/__init__.py,sha256=Ae2EvQ7gqiYAoNO3LwGIhdAAjJPJDfT85rQGKrRrmbA,260
84
+ azure/ai/evaluation/_evaluators/_gleu/_gleu.py,sha256=QnogGvw2JmmV4YZCOvoZMMvoB9JMAjnac2r5h806zmI,4421
85
+ azure/ai/evaluation/_evaluators/_groundedness/__init__.py,sha256=UYNJUeRvBwcSVFyZpdsf29un5eyaDzYoo3QvC1gvlLg,274
86
+ azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py,sha256=Zzh08Tsz_52NdZkVtMzWVISzG_wLCDNwl-cgeT-o6iQ,7634
87
+ azure/ai/evaluation/_evaluators/_groundedness/groundedness_with_query.prompty,sha256=v7TOm75DyW_1gOU6gSiZoPcRnHcJ65DrzR2cL_ucWDY,5814
88
+ azure/ai/evaluation/_evaluators/_groundedness/groundedness_without_query.prompty,sha256=8kNShdfxQvkII7GnqjmdqQ5TNelA2B6cjnqWZk8FFe4,5296
89
+ azure/ai/evaluation/_evaluators/_intent_resolution/__init__.py,sha256=Lr8krXt2yfShFTAuwjTFgrUbO75boLLrRSnF1mriN_Q,280
90
+ azure/ai/evaluation/_evaluators/_intent_resolution/_intent_resolution.py,sha256=cyaqYUyq3CsC3SOX27F_AphvQ4jrUcgxcKfRP58JCTE,10791
91
+ azure/ai/evaluation/_evaluators/_intent_resolution/intent_resolution.prompty,sha256=p8_V-bB3uOqqXWRsDNa4eIOoP8U-_D-5fZuCNSL8ZUU,7467
92
+ azure/ai/evaluation/_evaluators/_meteor/__init__.py,sha256=209na3pPsdmcuYpYHUYtqQybCpc3yZkc93HnRdicSlI,266
93
+ azure/ai/evaluation/_evaluators/_meteor/_meteor.py,sha256=DCWzH-wtWlWKkMUXK7nN-hpBYqEKT5cZSl6ikMNaNkw,5462
94
+ azure/ai/evaluation/_evaluators/_protected_material/__init__.py,sha256=eRAQIU9diVXfO5bp6aLWxZoYUvOsrDIfy1gnDOeNTiI,109
95
+ azure/ai/evaluation/_evaluators/_protected_material/_protected_material.py,sha256=IABs1YMBZdIi1u57dPi-aQpSiPWIGxEZ4hyt97jvdNA,4604
96
+ azure/ai/evaluation/_evaluators/_qa/__init__.py,sha256=bcXfT--C0hjym2haqd1B2-u9bDciyM0ThOFtU1Q69sk,244
97
+ azure/ai/evaluation/_evaluators/_qa/_qa.py,sha256=A0amMuVRCgcHP567LkXnFXJAWCzdPQfSxisbKLycASw,5772
98
+ azure/ai/evaluation/_evaluators/_relevance/__init__.py,sha256=JlxytW32Nl8pbE-fI3GRpfgVuY9EG6zxIAn5VZGSwyc,265
99
+ azure/ai/evaluation/_evaluators/_relevance/_relevance.py,sha256=KlzKGY19kUO3EU5gqcCGhDDhr_VBaApwXCl9A01UJ_s,6068
100
+ azure/ai/evaluation/_evaluators/_relevance/relevance.prompty,sha256=VHKzVlC2Cv1xuholgIGmerPspspAI0t6IgJ2cxOuYDE,4811
101
+ azure/ai/evaluation/_evaluators/_response_completeness/__init__.py,sha256=U3eqkQQAgRif46B6UGdq3yWefgbkZGJ3ZE2sKoZQDlU,292
102
+ azure/ai/evaluation/_evaluators/_response_completeness/_response_completeness.py,sha256=TdTe6wdz2RDqQbTVKg3J0ZqEYuR537KE5lvG6crWY0E,7424
103
+ azure/ai/evaluation/_evaluators/_response_completeness/response_completeness.prompty,sha256=MnlvnNbGucHUAHkrxZrlcgn0zF8jK9gtXiQtVZ4AoBo,7191
104
+ azure/ai/evaluation/_evaluators/_retrieval/__init__.py,sha256=kMu47ZyTZ7f-4Yh6H3KHxswmxitmPJ8FPSk90qgR0XI,265
105
+ azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py,sha256=eddgpihSjZwQH58lcfL0vYh-07H_TOVT8dt_MxRZfBk,5791
106
+ azure/ai/evaluation/_evaluators/_retrieval/retrieval.prompty,sha256=_YVoO4Gt_WD42bUcj5n6BDW0dMUqNf0yF3Nj5XMOX2c,16490
107
+ azure/ai/evaluation/_evaluators/_rouge/__init__.py,sha256=kusCDaYcXogDugGefRP8MQSn9xv107oDbrMCqZ6K4GA,291
108
+ azure/ai/evaluation/_evaluators/_rouge/_rouge.py,sha256=BrOr7qj_jLDPSbOy4jupF6FWahoKLJnAxrJGcfU92DA,9631
109
+ azure/ai/evaluation/_evaluators/_service_groundedness/__init__.py,sha256=0DODUGTOgaYyFbO9_zxuwifixDL3SIm3EkwP1sdwn6M,288
110
+ azure/ai/evaluation/_evaluators/_service_groundedness/_service_groundedness.py,sha256=YkmGxWOIzuPaBoxY2rxlkOQzw-atyo9lKtGgv34wulw,7544
111
+ azure/ai/evaluation/_evaluators/_similarity/__init__.py,sha256=V2Mspog99_WBltxTkRHG5NpN5s9XoiTSN4I8POWEkLA,268
112
+ azure/ai/evaluation/_evaluators/_similarity/_similarity.py,sha256=EHA-1aWaclDSUGea3uX5F195W-W9bmIpALvd8DyWgUU,4934
113
+ azure/ai/evaluation/_evaluators/_similarity/similarity.prompty,sha256=eoludASychZoGL625bFCaZai-OY7DIAg90ZLax_o4XE,4594
114
+ azure/ai/evaluation/_evaluators/_task_adherence/__init__.py,sha256=9HtNrG7yYX0Ygq3cZoS_0obAvGgmy5HWcsBcPKoB15c,271
115
+ azure/ai/evaluation/_evaluators/_task_adherence/_task_adherence.py,sha256=vK0_UFsrVqV580-aG5F0vrGxjL7x0YLbQH91HUvu-ss,9701
116
+ azure/ai/evaluation/_evaluators/_task_adherence/task_adherence.prompty,sha256=tOgTrDO41jsFHloabSBCWcbwKB1MtGGxHH_pyFIn2Vk,5350
117
+ azure/ai/evaluation/_evaluators/_tool_call_accuracy/__init__.py,sha256=vYB4Y_3n1LqTiEeZB1O1A0b14wpURBwtW0wPEN2FG9Q,288
118
+ azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy.py,sha256=E0fgQoHKie7piqC0ohDnJ7DPVd-OPhED4-5eZVUF_qc,14602
119
+ azure/ai/evaluation/_evaluators/_tool_call_accuracy/tool_call_accuracy.prompty,sha256=0YgN5SwlWCdcqHAhRU5NEVlZL062tQMiFil0bvdppn4,3890
120
+ azure/ai/evaluation/_evaluators/_ungrounded_attributes/__init__.py,sha256=wGZBd_cRDgkuS-0HV9qm81dHK7ScYdKd98xLPtk6EwQ,118
121
+ azure/ai/evaluation/_evaluators/_ungrounded_attributes/_ungrounded_attributes.py,sha256=h534CBX_OfFcmb_QmGKl6MURvmvewbleqeg8iCBZq8c,3800
122
+ azure/ai/evaluation/_evaluators/_xpia/__init__.py,sha256=VMEL8WrpJQeh4sQiOLzP7hRFPnjzsvwfvTzaGCVJPCM,88
123
+ azure/ai/evaluation/_evaluators/_xpia/xpia.py,sha256=64ersTyBvmkl2lvuuh5YJqJ2Ow0RUzjlqxZCnhYhS0g,5958
124
+ azure/ai/evaluation/_legacy/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
125
+ azure/ai/evaluation/_legacy/_adapters/__init__.py,sha256=8idkgtaxIaVaoS7rs5kmnGXLNODpgyRt9Bb-XJkFdt0,692
126
+ azure/ai/evaluation/_legacy/_adapters/_configuration.py,sha256=aDukrNbyXz9zPHYKpmXrLthnJoJQziP1WL793nIuC28,1677
127
+ azure/ai/evaluation/_legacy/_adapters/_constants.py,sha256=MmTUbPSCiM4eLtAA5LIsD6sN1B9IuFB-RTuUnxbwZSs,386
128
+ azure/ai/evaluation/_legacy/_adapters/_errors.py,sha256=SSyaGsqGzzrIeOKEGTtIzhKnAIg_oJw5ze5KMPIfw2Y,1175
129
+ azure/ai/evaluation/_legacy/_adapters/_flows.py,sha256=c2C0otzTL73YbIRSfSKWjkpfscAFOEjdBn_oMVCG9Yo,779
130
+ azure/ai/evaluation/_legacy/_adapters/_service.py,sha256=4xlpxSCrH0jWyKVazu-qhe42KgFksKWVPQqDqf7CFGY,423
131
+ azure/ai/evaluation/_legacy/_adapters/client.py,sha256=76XEJJ2GoKJsfHfMSvixU8oSI6ePtJQBG10x9PXVUxM,1770
132
+ azure/ai/evaluation/_legacy/_adapters/entities.py,sha256=4ZYXfawx5w7t0pyEdm7g49eAJwct2QtcZX0ZvB_6uHU,710
133
+ azure/ai/evaluation/_legacy/_adapters/tracing.py,sha256=jm-lkzLA-agRY1meIzs9mFrzJ1A3dBodi6HgjklIjD0,1162
134
+ azure/ai/evaluation/_legacy/_adapters/types.py,sha256=q7n0TtpFxd1WttbUR_Q8ODd8bTcMaJjIrxLXx1onirc,447
135
+ azure/ai/evaluation/_legacy/_adapters/utils.py,sha256=2KdYqfeuHLcfqk1qJRviNoqqsghxBZNmyoGcUTNphl0,1306
136
+ azure/ai/evaluation/_legacy/_batch_engine/__init__.py,sha256=NNX2DhtPVzJCX8kR_QzZ6EkUsdGifvwip2LHEcRwy1Y,594
137
+ azure/ai/evaluation/_legacy/_batch_engine/_config.py,sha256=-B37cIbWOWEB3kTaNjHGLfQNbLa-XAP1gWm0Kvyv82k,1724
138
+ azure/ai/evaluation/_legacy/_batch_engine/_engine.py,sha256=K7N_MKa4EGhFv4-1W7MeGeaRY7LEHA579x04DV7vUlc,15146
139
+ azure/ai/evaluation/_legacy/_batch_engine/_exceptions.py,sha256=_QQLowht6ww4wBJbShQBo00Y8HFdaWh-dWd44sGvJBc,2870
140
+ azure/ai/evaluation/_legacy/_batch_engine/_logging.py,sha256=aEZsfS2wqbqVEA-vBsfg0-sCWyssGf2L1oWFmu9cego,11398
141
+ azure/ai/evaluation/_legacy/_batch_engine/_openai_injector.py,sha256=NLoHjpUSqUy4CVNYXIgpQ3e7izDFCUIQSwvIEf7oNHY,884
142
+ azure/ai/evaluation/_legacy/_batch_engine/_result.py,sha256=r8MSaQ8q42vKAiaML36dFsMY-WELUkdnVOLVdK7H-FI,3187
143
+ azure/ai/evaluation/_legacy/_batch_engine/_run.py,sha256=b9eJOorEHcGJqE7cApvJpY3JpUdCv3ZVNFo4ZKlfWNA,4343
144
+ azure/ai/evaluation/_legacy/_batch_engine/_run_storage.py,sha256=KjiKaSjT16L_wLYrZpIeBANtin3fa4Gqd3L-Xjw-59I,3418
145
+ azure/ai/evaluation/_legacy/_batch_engine/_run_submitter.py,sha256=4V4Xh7xRepTX9eBFKHkaeoNRBytZ_o__xbX_NiIp64M,9674
146
+ azure/ai/evaluation/_legacy/_batch_engine/_status.py,sha256=xSpJaMmBroGOL8U_iTpAr_PgyNKaxfawqak6TpuUrkk,780
147
+ azure/ai/evaluation/_legacy/_batch_engine/_trace.py,sha256=4ZbvptRg-GOfP7VxDIkP-aZfLULBelHD3Ecr1VAOYk4,4536
148
+ azure/ai/evaluation/_legacy/_batch_engine/_utils.py,sha256=bfeLHUMcCASBNoL-tcLTuCrOS_XhvTX855LYDsShzlM,2491
149
+ azure/ai/evaluation/_legacy/_batch_engine/_utils_deprecated.py,sha256=hBm4gh_m8BCWDAryKmqO4ZsypuGE1QSh3K_DxfoEKpc,5917
150
+ azure/ai/evaluation/_legacy/prompty/__init__.py,sha256=nWpB3ApQWzlzgbhvNkjHq3sL5tnpwfwmSsTKBmhxmN8,1660
151
+ azure/ai/evaluation/_legacy/prompty/_connection.py,sha256=mJekR_DWnoUYlqwehE1wc9bKfn1pg5ziLQjzjpdpQPc,6211
152
+ azure/ai/evaluation/_legacy/prompty/_exceptions.py,sha256=3EeLGkJGZ3gOq0f-6xoIdGqJkCw956uChvow_Byvt-o,2250
153
+ azure/ai/evaluation/_legacy/prompty/_prompty.py,sha256=nuGVZd1KBFOb0lvXsZziGeObrPmuhY3R5WLKtG3tSaQ,11794
154
+ azure/ai/evaluation/_legacy/prompty/_utils.py,sha256=9OOEBTF9MzcgBUyracbHJMNinNfoaGs7Bm8COsTMVkE,22463
155
+ azure/ai/evaluation/_legacy/prompty/_yaml_utils.py,sha256=pVL6xgTHC3AKKD5plJ4d6hiBuComaOlUww1uqqDQlB4,3350
156
+ azure/ai/evaluation/_safety_evaluation/__init__.py,sha256=UwArlb5cGLN4pRUm8nG7mXsmxhgdIving2OslYhQDAg,179
157
+ azure/ai/evaluation/_safety_evaluation/_generated_rai_client.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
158
+ azure/ai/evaluation/_safety_evaluation/_safety_evaluation.py,sha256=5JHNB9TGFldpKxucQPGpJiH4EFSZWLrfwnWNwQ3lSVo,36967
159
+ azure/ai/evaluation/_vendor/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
160
+ azure/ai/evaluation/_vendor/rouge_score/__init__.py,sha256=03OkyfS_UmzRnHv6-z9juTaJ6OXJoEJM989hgifIZbc,607
161
+ azure/ai/evaluation/_vendor/rouge_score/rouge_scorer.py,sha256=DtNSeshHipzc6vFnvx7kbs5viXe4LNq-ZrgllFvfR4U,11299
162
+ azure/ai/evaluation/_vendor/rouge_score/scoring.py,sha256=0sqdiNE-4R_EmTTqyWL9_DAOgl54250H5004tZDGxEE,1878
163
+ azure/ai/evaluation/_vendor/rouge_score/tokenize.py,sha256=IyHVsWY6IFFZdB23cLiJs8iBZ0DXk1mQlWE1xtdjuuk,1826
164
+ azure/ai/evaluation/_vendor/rouge_score/tokenizers.py,sha256=3_-y1TyvyluHuERhSJ5CdXSwnpcMA7aAKU6PCz9wH_Q,1745
165
+ azure/ai/evaluation/red_team/__init__.py,sha256=wAjy_85gzdX0YyUlj6kHWrpo01zz2mgOJ1AbH5EkH8s,613
166
+ azure/ai/evaluation/red_team/_attack_objective_generator.py,sha256=yMK5z91_w6GIzbqTQtUXfABuGeH3nfVgF8feOMd37K4,10765
167
+ azure/ai/evaluation/red_team/_attack_strategy.py,sha256=Qy3K63z98uDg_06lc5-6HG1MgquYXB9Y9Ke0xifeEl0,1430
168
+ azure/ai/evaluation/red_team/_callback_chat_target.py,sha256=H58nU6IVEpeDuTZPsxIoYKXAvU3dAWnLRhA8wyaY11s,3071
169
+ azure/ai/evaluation/red_team/_default_converter.py,sha256=K8G775VVdQLsAqff60BBNFrNRj8JijB7St9XOHmGQGA,775
170
+ azure/ai/evaluation/red_team/_red_team.py,sha256=v8zzv1s_S3LgVMHDu2kwVlY56q4T28vaLmIfvDLjoIE,105658
171
+ azure/ai/evaluation/red_team/_red_team_result.py,sha256=BwHf0KBGe9hqyWeTYDOOuoIxJ0rqkY9lHLUOZ02wPJI,17340
172
+ azure/ai/evaluation/red_team/_utils/__init__.py,sha256=UwArlb5cGLN4pRUm8nG7mXsmxhgdIving2OslYhQDAg,179
173
+ azure/ai/evaluation/red_team/_utils/constants.py,sha256=ctSsuWiavhaGApRgP6fL3OtNGphnCKuesTQOwR833nk,2289
174
+ azure/ai/evaluation/red_team/_utils/formatting_utils.py,sha256=jztERWOb1P3ClOKEr6-sMmLDQ8subjKUVBKVVxeSFcY,6416
175
+ azure/ai/evaluation/red_team/_utils/logging_utils.py,sha256=jjNq37zlJz0KPo9g8NuuhnDJo56T-06ElJ-7yyeD46M,4838
176
+ azure/ai/evaluation/red_team/_utils/strategy_utils.py,sha256=3ID-6rY3t8QqbfwFNx-4VxGDHq0i5VoRFMsGR7mlKvM,8058
177
+ azure/ai/evaluation/simulator/__init__.py,sha256=JbrPZ8pvTBalyX94SvZ9btHNoovX8rbZV03KmzxxWys,552
178
+ azure/ai/evaluation/simulator/_adversarial_scenario.py,sha256=FQ9ZNruqPY4o06uu2uig2MZSbearwAJwieIB26GbPOU,1833
179
+ azure/ai/evaluation/simulator/_adversarial_simulator.py,sha256=RlHk8Y324pvd7golXOygQ5NayPQ2zjT-ekQooldMGtE,23017
180
+ azure/ai/evaluation/simulator/_constants.py,sha256=nCL7_1BnYh6k0XvxudxsDVMbiG9MMEvYw5wO9FZHHZ8,857
181
+ azure/ai/evaluation/simulator/_direct_attack_simulator.py,sha256=FTtWf655dHJF5FLJi0xGSBgIlGWNiVWyqaLDJSud9XA,10199
182
+ azure/ai/evaluation/simulator/_indirect_attack_simulator.py,sha256=nweIU_AkUIR50qLQpjmljf_OkpsCPth2Ebf4vusygCA,10226
183
+ azure/ai/evaluation/simulator/_simulator.py,sha256=aVoPvTQsY7u4O0YYQm4pug368UelKefAxa38dJVZ4ps,36513
184
+ azure/ai/evaluation/simulator/_utils.py,sha256=16NltlywpbMtoFtULwTKqeURguIS1kSKSo3g8uKV8TA,5181
185
+ azure/ai/evaluation/simulator/_conversation/__init__.py,sha256=LOR5h7vSACrv_cmaS6r7KUqjJcHYg7PAgkDbdvOmd4g,17726
186
+ azure/ai/evaluation/simulator/_conversation/_conversation.py,sha256=h8OHq0sWKiTH821tC5zF44CJ-QgutTgDnEYsFEA7Cw0,7635
187
+ azure/ai/evaluation/simulator/_conversation/constants.py,sha256=3v7zkjPwJAPbSpJYIK6VOZZy70bJXMo_QTVqSFGlq9A,984
188
+ azure/ai/evaluation/simulator/_data_sources/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
189
+ azure/ai/evaluation/simulator/_data_sources/grounding.json,sha256=jqdqHrCgS7hN7K2kXSEcPCmzFjV4cv_qcCSR-Hutwx4,1257075
190
+ azure/ai/evaluation/simulator/_helpers/__init__.py,sha256=FQwgrJvzq_nv3wF9DBr2pyLn2V2hKGmtp0QN9nwpAww,203
191
+ azure/ai/evaluation/simulator/_helpers/_language_suffix_mapping.py,sha256=7BBLH78b7YDelHDLbAIwf-IO9s9cAEtn-RRXmNReHdc,1017
192
+ azure/ai/evaluation/simulator/_helpers/_simulator_data_classes.py,sha256=BOttMTec3muMiA4OzwD_iW08GTrhja7PL9XVjRCN3jM,3029
193
+ azure/ai/evaluation/simulator/_model_tools/__init__.py,sha256=aMv5apb7uVjuhMF9ohhA5kQmo652hrGIJlhdl3y2R1I,835
194
+ azure/ai/evaluation/simulator/_model_tools/_generated_rai_client.py,sha256=pt5bwzSzkdNpWjoljP2enueydpBNygFsCc6-1-fc1Zs,6282
195
+ azure/ai/evaluation/simulator/_model_tools/_identity_manager.py,sha256=-hptp2vpJIcfjvtd0E2c7ry00LVh23LxuYGevsNFfgs,6385
196
+ azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py,sha256=D2Am07l2gq_v-vztqDBTX2MxZTUumm5ysaVSL2L0rxQ,9118
197
+ azure/ai/evaluation/simulator/_model_tools/_rai_client.py,sha256=nvDS33uaxLpuvZEC4aotu-P9-CHqLiyCInED6Xq9ZQ0,11643
198
+ azure/ai/evaluation/simulator/_model_tools/_template_handler.py,sha256=NQWqjE7csSzkhb2XdW82AoCA-DxixpTrfBxAnOt2Wlc,7075
199
+ azure/ai/evaluation/simulator/_model_tools/models.py,sha256=bfVm0PV3vfH_8DkdmTMZqYVN-G51hZ6Y0TOO-NiysJY,21811
200
+ azure/ai/evaluation/simulator/_prompty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
201
+ azure/ai/evaluation/simulator/_prompty/task_query_response.prompty,sha256=2BzSqDDYilDushvR56vMRDmqFIaIYAewdUlUZg_elMg,2182
202
+ azure/ai/evaluation/simulator/_prompty/task_simulate.prompty,sha256=NE6lH4bfmibgMn4NgJtm9_l3PMoHSFrfjjosDJEKM0g,939
203
+ azure_ai_evaluation-1.5.0.dist-info/METADATA,sha256=MS1dXybS1lf1sBR5fdxYw-y82ifENen9vnVnxDIMkKE,35924
204
+ azure_ai_evaluation-1.5.0.dist-info/NOTICE.txt,sha256=4tzi_Yq4-eBGhBvveobWHCgUIVF-ZeouGN0m7hVq5Mk,3592
205
+ azure_ai_evaluation-1.5.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
206
+ azure_ai_evaluation-1.5.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
207
+ azure_ai_evaluation-1.5.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (74.1.3)
2
+ Generator: setuptools (75.3.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,89 +0,0 @@
1
- # ---------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # ---------------------------------------------------------
4
- # pylint: disable=C0103,C0114,C0116,E0401,E0611
5
-
6
- import functools
7
- from typing import Callable, TypeVar
8
-
9
- from promptflow._sdk._telemetry.activity import ActivityType, monitor_operation
10
- from typing_extensions import ParamSpec
11
-
12
- P = ParamSpec("P")
13
- R = TypeVar("R")
14
-
15
-
16
- def monitor_adversarial_scenario(activity_name: str = "adversarial.simulator.call"):
17
- """
18
- Monitor an adversarial scenario.
19
-
20
- :param activity_name: The name of the activity to monitor.
21
- :type activity_name: str
22
- :returns: A decorator
23
- :rtype: Callable[[Callable], Callable]
24
- """
25
-
26
- def decorator(func: Callable[P, R]) -> Callable[P, R]:
27
- """
28
- Decorator for monitoring an adversarial scenario.
29
-
30
- :param func: The function to be decorated.
31
- :type func: Callable[P, R]
32
- :returns: The decorated function
33
- :rtype: Callable[P, R]
34
- """
35
-
36
- @functools.wraps(func)
37
- def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
38
- scenario = str(kwargs.get("scenario", None))
39
- max_conversation_turns = kwargs.get("max_conversation_turns", None)
40
- max_simulation_results = kwargs.get("max_simulation_results", None)
41
- jailbreak = kwargs.get("jailbreak", None)
42
- decorated_func = monitor_operation(
43
- activity_name=activity_name,
44
- activity_type=ActivityType.PUBLICAPI,
45
- custom_dimensions={
46
- "scenario": scenario,
47
- "max_conversation_turns": max_conversation_turns,
48
- "max_simulation_results": max_simulation_results,
49
- "jailbreak": jailbreak,
50
- },
51
- )(func)
52
-
53
- return decorated_func(*args, **kwargs)
54
-
55
- return wrapper
56
-
57
- return decorator
58
-
59
-
60
- def monitor_task_simulator(func: Callable[P, R]) -> Callable[P, R]:
61
- """
62
- Monitor a task simulator.
63
-
64
- :param func: The function to be decorated.
65
- :type func: Callable[P, R]
66
- :returns: The decorated function
67
- :rtype: Callable[P, R]
68
- """
69
-
70
- @functools.wraps(func)
71
- def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
72
- text = kwargs.get("text")
73
- user_persona = kwargs.get("user_persona")
74
- num_queries = kwargs.get("num_queries", 0)
75
- max_conversation_turns = kwargs.get("max_conversation_turns", 0)
76
- decorated_func = monitor_operation(
77
- activity_name="task.simulator.call",
78
- activity_type=ActivityType.PUBLICAPI,
79
- custom_dimensions={
80
- "text_length": len(text) if isinstance(text, str) else 0,
81
- "user_persona_length": len(user_persona) if isinstance(user_persona, list) else 0,
82
- "number_of_queries": num_queries,
83
- "max_conversation_turns": max_conversation_turns,
84
- },
85
- )(func)
86
-
87
- return decorated_func(*args, **kwargs)
88
-
89
- return wrapper