azure-ai-evaluation 1.1.0__py3-none-any.whl → 1.3.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.
Files changed (48) hide show
  1. azure/ai/evaluation/__init__.py +1 -15
  2. azure/ai/evaluation/_azure/_clients.py +24 -8
  3. azure/ai/evaluation/_azure/_models.py +2 -2
  4. azure/ai/evaluation/_common/utils.py +8 -8
  5. azure/ai/evaluation/_constants.py +21 -0
  6. azure/ai/evaluation/_evaluate/_batch_run/__init__.py +2 -1
  7. azure/ai/evaluation/_evaluate/_eval_run.py +3 -1
  8. azure/ai/evaluation/_evaluate/_evaluate.py +74 -14
  9. azure/ai/evaluation/_evaluate/_utils.py +27 -0
  10. azure/ai/evaluation/_evaluators/_bleu/_bleu.py +46 -25
  11. azure/ai/evaluation/_evaluators/_common/__init__.py +2 -0
  12. azure/ai/evaluation/_evaluators/_common/_base_eval.py +69 -4
  13. azure/ai/evaluation/_evaluators/_common/_base_multi_eval.py +61 -0
  14. azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py +7 -1
  15. azure/ai/evaluation/_evaluators/_common/_conversation_aggregators.py +49 -0
  16. azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py +5 -42
  17. azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py +2 -0
  18. azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py +2 -0
  19. azure/ai/evaluation/_evaluators/_content_safety/_sexual.py +2 -0
  20. azure/ai/evaluation/_evaluators/_content_safety/_violence.py +2 -0
  21. azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py +61 -68
  22. azure/ai/evaluation/_evaluators/_gleu/_gleu.py +45 -23
  23. azure/ai/evaluation/_evaluators/_meteor/_meteor.py +55 -34
  24. azure/ai/evaluation/_evaluators/_qa/_qa.py +32 -27
  25. azure/ai/evaluation/_evaluators/_rouge/_rouge.py +44 -23
  26. azure/ai/evaluation/_evaluators/_similarity/_similarity.py +41 -81
  27. azure/ai/evaluation/_exceptions.py +0 -1
  28. azure/ai/evaluation/_safety_evaluation/__init__.py +3 -0
  29. azure/ai/evaluation/_safety_evaluation/_safety_evaluation.py +640 -0
  30. azure/ai/evaluation/_version.py +2 -1
  31. azure/ai/evaluation/simulator/_adversarial_simulator.py +10 -3
  32. azure/ai/evaluation/simulator/_conversation/__init__.py +4 -5
  33. azure/ai/evaluation/simulator/_conversation/_conversation.py +4 -0
  34. azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py +2 -0
  35. azure/ai/evaluation/simulator/_simulator.py +21 -13
  36. {azure_ai_evaluation-1.1.0.dist-info → azure_ai_evaluation-1.3.0.dist-info}/METADATA +77 -7
  37. {azure_ai_evaluation-1.1.0.dist-info → azure_ai_evaluation-1.3.0.dist-info}/RECORD +40 -44
  38. azure/ai/evaluation/_evaluators/_multimodal/__init__.py +0 -20
  39. azure/ai/evaluation/_evaluators/_multimodal/_content_safety_multimodal.py +0 -132
  40. azure/ai/evaluation/_evaluators/_multimodal/_content_safety_multimodal_base.py +0 -55
  41. azure/ai/evaluation/_evaluators/_multimodal/_hate_unfairness.py +0 -100
  42. azure/ai/evaluation/_evaluators/_multimodal/_protected_material.py +0 -124
  43. azure/ai/evaluation/_evaluators/_multimodal/_self_harm.py +0 -100
  44. azure/ai/evaluation/_evaluators/_multimodal/_sexual.py +0 -100
  45. azure/ai/evaluation/_evaluators/_multimodal/_violence.py +0 -100
  46. {azure_ai_evaluation-1.1.0.dist-info → azure_ai_evaluation-1.3.0.dist-info}/NOTICE.txt +0 -0
  47. {azure_ai_evaluation-1.1.0.dist-info → azure_ai_evaluation-1.3.0.dist-info}/WHEEL +0 -0
  48. {azure_ai_evaluation-1.1.0.dist-info → azure_ai_evaluation-1.3.0.dist-info}/top_level.txt +0 -0
@@ -7,6 +7,7 @@ import asyncio
7
7
  import logging
8
8
  import random
9
9
  from typing import Any, Callable, Dict, List, Optional, Union, cast
10
+ import uuid
10
11
 
11
12
  from tqdm import tqdm
12
13
 
@@ -187,6 +188,8 @@ class AdversarialSimulator:
187
188
  )
188
189
  self._ensure_service_dependencies()
189
190
  templates = await self.adversarial_template_handler._get_content_harm_template_collections(scenario.value)
191
+ simulation_id = str(uuid.uuid4())
192
+ logger.warning("Use simulation_id to help debug the issue: %s", str(simulation_id))
190
193
  concurrent_async_task = min(concurrent_async_task, 1000)
191
194
  semaphore = asyncio.Semaphore(concurrent_async_task)
192
195
  sim_results = []
@@ -236,6 +239,7 @@ class AdversarialSimulator:
236
239
  language=language,
237
240
  semaphore=semaphore,
238
241
  scenario=scenario,
242
+ simulation_id=simulation_id,
239
243
  )
240
244
  )
241
245
  )
@@ -298,9 +302,10 @@ class AdversarialSimulator:
298
302
  language: SupportedLanguages,
299
303
  semaphore: asyncio.Semaphore,
300
304
  scenario: Union[AdversarialScenario, AdversarialScenarioJailbreak],
305
+ simulation_id: str = "",
301
306
  ) -> List[Dict]:
302
307
  user_bot = self._setup_bot(
303
- role=ConversationRole.USER, template=template, parameters=parameters, scenario=scenario
308
+ role=ConversationRole.USER, template=template, parameters=parameters, scenario=scenario, simulation_id=simulation_id
304
309
  )
305
310
  system_bot = self._setup_bot(
306
311
  target=target, role=ConversationRole.ASSISTANT, template=template, parameters=parameters, scenario=scenario
@@ -329,7 +334,7 @@ class AdversarialSimulator:
329
334
  )
330
335
 
331
336
  def _get_user_proxy_completion_model(
332
- self, template_key: str, template_parameters: TemplateParameters
337
+ self, template_key: str, template_parameters: TemplateParameters, simulation_id: str = ""
333
338
  ) -> ProxyChatCompletionsModel:
334
339
  return ProxyChatCompletionsModel(
335
340
  name="raisvc_proxy_model",
@@ -340,6 +345,7 @@ class AdversarialSimulator:
340
345
  api_version="2023-07-01-preview",
341
346
  max_tokens=1200,
342
347
  temperature=0.0,
348
+ simulation_id=simulation_id,
343
349
  )
344
350
 
345
351
  def _setup_bot(
@@ -350,10 +356,11 @@ class AdversarialSimulator:
350
356
  parameters: TemplateParameters,
351
357
  target: Optional[Callable] = None,
352
358
  scenario: Union[AdversarialScenario, AdversarialScenarioJailbreak],
359
+ simulation_id: str = "",
353
360
  ) -> ConversationBot:
354
361
  if role is ConversationRole.USER:
355
362
  model = self._get_user_proxy_completion_model(
356
- template_key=template.template_name, template_parameters=parameters
363
+ template_key=template.template_name, template_parameters=parameters, simulation_id=simulation_id,
357
364
  )
358
365
  return ConversationBot(
359
366
  role=role,
@@ -128,19 +128,15 @@ class ConversationBot:
128
128
  self.conversation_starter: Optional[Union[str, jinja2.Template, Dict]] = None
129
129
  if role == ConversationRole.USER:
130
130
  if "conversation_starter" in self.persona_template_args:
131
- print(self.persona_template_args)
132
131
  conversation_starter_content = self.persona_template_args["conversation_starter"]
133
132
  if isinstance(conversation_starter_content, dict):
134
133
  self.conversation_starter = conversation_starter_content
135
- print(f"Conversation starter content: {conversation_starter_content}")
136
134
  else:
137
135
  try:
138
136
  self.conversation_starter = jinja2.Template(
139
137
  conversation_starter_content, undefined=jinja2.StrictUndefined
140
138
  )
141
- print("Successfully created a Jinja2 template for the conversation starter.")
142
139
  except jinja2.exceptions.TemplateSyntaxError as e: # noqa: F841
143
- print(f"Template syntax error: {e}. Using raw content.")
144
140
  self.conversation_starter = conversation_starter_content
145
141
  else:
146
142
  self.logger.info(
@@ -153,6 +149,7 @@ class ConversationBot:
153
149
  conversation_history: List[ConversationTurn],
154
150
  max_history: int,
155
151
  turn_number: int = 0,
152
+ session_state: Optional[Dict[str, Any]] = None,
156
153
  ) -> Tuple[dict, dict, float, dict]:
157
154
  """
158
155
  Prompt the ConversationBot for a response.
@@ -262,6 +259,7 @@ class CallbackConversationBot(ConversationBot):
262
259
  conversation_history: List[Any],
263
260
  max_history: int,
264
261
  turn_number: int = 0,
262
+ session_state: Optional[Dict[str, Any]] = None,
265
263
  ) -> Tuple[dict, dict, float, dict]:
266
264
  chat_protocol_message = self._to_chat_protocol(
267
265
  self.user_template, conversation_history, self.user_template_parameters
@@ -269,7 +267,7 @@ class CallbackConversationBot(ConversationBot):
269
267
  msg_copy = copy.deepcopy(chat_protocol_message)
270
268
  result = {}
271
269
  start_time = time.time()
272
- result = await self.callback(msg_copy)
270
+ result = await self.callback(msg_copy, session_state=session_state)
273
271
  end_time = time.time()
274
272
  if not result:
275
273
  result = {
@@ -348,6 +346,7 @@ class MultiModalConversationBot(ConversationBot):
348
346
  conversation_history: List[Any],
349
347
  max_history: int,
350
348
  turn_number: int = 0,
349
+ session_state: Optional[Dict[str, Any]] = None,
351
350
  ) -> Tuple[dict, dict, float, dict]:
352
351
  previous_prompt = conversation_history[-1]
353
352
  chat_protocol_message = await self._to_chat_protocol(conversation_history, self.user_template_parameters)
@@ -101,6 +101,7 @@ async def simulate_conversation(
101
101
  :rtype: Tuple[Optional[str], List[ConversationTurn]]
102
102
  """
103
103
 
104
+ session_state = {}
104
105
  # Read the first prompt.
105
106
  (first_response, request, _, full_response) = await bots[0].generate_response(
106
107
  session=session,
@@ -149,7 +150,10 @@ async def simulate_conversation(
149
150
  conversation_history=conversation_history,
150
151
  max_history=history_limit,
151
152
  turn_number=current_turn,
153
+ session_state=session_state,
152
154
  )
155
+ if "session_state" in full_response and full_response["session_state"] is not None:
156
+ session_state.update(full_response["session_state"])
153
157
 
154
158
  # check if conversation id is null, which means conversation starter was used. use id from next turn
155
159
  if conversation_id is None and "id" in response:
@@ -89,6 +89,7 @@ class ProxyChatCompletionsModel(OpenAIChatCompletionsModel):
89
89
  self.tkey = template_key
90
90
  self.tparam = template_parameters
91
91
  self.result_url: Optional[str] = None
92
+ self.simulation_id: Optional[str] = kwargs.pop("simulation_id", "")
92
93
 
93
94
  super().__init__(name=name, **kwargs)
94
95
 
@@ -169,6 +170,7 @@ class ProxyChatCompletionsModel(OpenAIChatCompletionsModel):
169
170
  "Content-Type": "application/json",
170
171
  "X-CV": f"{uuid.uuid4()}",
171
172
  "X-ModelType": self.model or "",
173
+ "x-ms-client-request-id": self.simulation_id,
172
174
  }
173
175
  # add all additional headers
174
176
  headers.update(self.additional_headers) # type: ignore[arg-type]
@@ -157,7 +157,7 @@ class Simulator:
157
157
  f"You have specified 'num_queries' < len('tasks') ({num_queries} < {len(tasks)}). "
158
158
  f"Only the first {num_queries} lines of the specified tasks will be simulated."
159
159
  )
160
- num_queries = min(num_queries, len(tasks))
160
+
161
161
  max_conversation_turns *= 2 # account for both user and assistant turns
162
162
 
163
163
  prompty_model_config = self.model_config
@@ -586,7 +586,10 @@ class Simulator:
586
586
  for i, query_response_pair in enumerate(query_responses):
587
587
  query = query_response_pair["q"]
588
588
  response = query_response_pair["r"]
589
- task = tasks[i]
589
+ try:
590
+ task = tasks[i]
591
+ except IndexError:
592
+ task = None
590
593
 
591
594
  conversation = await self._complete_conversation(
592
595
  conversation_starter=query,
@@ -621,7 +624,7 @@ class Simulator:
621
624
  *,
622
625
  conversation_starter: str,
623
626
  max_conversation_turns: int,
624
- task: str,
627
+ task: Optional[str],
625
628
  user_simulator_prompty: Optional[str],
626
629
  user_simulator_prompty_options: Dict[str, Any],
627
630
  target: Callable,
@@ -659,16 +662,21 @@ class Simulator:
659
662
  user_simulator_prompty_options=user_simulator_prompty_options,
660
663
  )
661
664
  if len(conversation_history) == 0:
662
- conversation_starter_from_simulated_user = await user_flow(
663
- task=task,
664
- conversation_history=[
665
- {
666
- "role": "assistant",
667
- "content": conversation_starter,
668
- }
669
- ],
670
- action="rewrite the assistant's message as you have to accomplish the task by asking the right questions. Make sure the original question is not lost in your rewrite.",
671
- )
665
+ if task:
666
+ conversation_starter_from_simulated_user = await user_flow(
667
+ task=task,
668
+ conversation_history=[
669
+ {
670
+ "role": "assistant",
671
+ "content": conversation_starter,
672
+ }
673
+ ],
674
+ action="rewrite the assistant's message as you have to accomplish the task by asking the right questions. Make sure the original question is not lost in your rewrite.",
675
+ )
676
+ else:
677
+ conversation_starter_from_simulated_user = {
678
+ "content": conversation_starter,
679
+ }
672
680
  else:
673
681
  conversation_starter_from_simulated_user = await user_flow(
674
682
  task=task,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-ai-evaluation
3
- Version: 1.1.0
3
+ Version: 1.3.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
@@ -13,17 +13,16 @@ Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Programming Language :: Python
14
14
  Classifier: Programming Language :: Python :: 3
15
15
  Classifier: Programming Language :: Python :: 3 :: Only
16
- Classifier: Programming Language :: Python :: 3.8
17
16
  Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
20
19
  Classifier: License :: OSI Approved :: MIT License
21
20
  Classifier: Operating System :: OS Independent
22
- Requires-Python: >=3.8
21
+ Requires-Python: >=3.9
23
22
  Description-Content-Type: text/markdown
24
23
  License-File: NOTICE.txt
25
- Requires-Dist: promptflow-devkit >=1.15.0
26
- Requires-Dist: promptflow-core >=1.15.0
24
+ Requires-Dist: promptflow-devkit >=1.17.1
25
+ Requires-Dist: promptflow-core >=1.17.1
27
26
  Requires-Dist: pyjwt >=2.8.0
28
27
  Requires-Dist: azure-identity >=1.16.0
29
28
  Requires-Dist: azure-core >=1.30.2
@@ -54,7 +53,7 @@ Azure AI SDK provides following to evaluate Generative AI Applications:
54
53
 
55
54
  ### Prerequisites
56
55
 
57
- - Python 3.8 or later is required to use this package.
56
+ - Python 3.9 or later is required to use this package.
58
57
  - [Optional] You must have [Azure AI Project][ai_project] or [Azure Open AI][azure_openai] to use AI-assisted evaluators
59
58
 
60
59
  ### Install the package
@@ -378,11 +377,82 @@ This project has adopted the [Microsoft Open Source Code of Conduct][code_of_con
378
377
 
379
378
  # Release History
380
379
 
381
- ## 1.1.0 (2024-12-12)
380
+ ## 1.3.0 (2025-02-28)
381
+
382
+ ### Breaking Changes
383
+ - Multimodal specific evaluators `ContentSafetyMultimodalEvaluator`, `ViolenceMultimodalEvaluator`, `SexualMultimodalEvaluator`, `SelfHarmMultimodalEvaluator`, `HateUnfairnessMultimodalEvaluator` and `ProtectedMaterialMultimodalEvaluator` has been removed. Please use `ContentSafetyEvaluator`, `ViolenceEvaluator`, `SexualEvaluator`, `SelfHarmEvaluator`, `HateUnfairnessEvaluator` and `ProtectedMaterialEvaluator` instead.
384
+ - Metric name in ProtectedMaterialEvaluator's output is changed from `protected_material.fictional_characters_label` to `protected_material.fictional_characters_defect_rate`. It's now consistent with other evaluator's metric names (ending with `_defect_rate`).
385
+
386
+ ## 1.2.0 (2025-01-27)
387
+
388
+ ### Features Added
389
+ - CSV files are now supported as data file inputs with `evaluate()` API. The CSV file should have a header row with column names that match the `data` and `target` fields in the `evaluate()` method and the filename should be passed as the `data` parameter. Column name 'Conversation' in CSV file is not fully supported yet.
390
+
391
+ ### Breaking Changes
392
+ - `ViolenceMultimodalEvaluator`, `SexualMultimodalEvaluator`, `SelfHarmMultimodalEvaluator`, `HateUnfairnessMultimodalEvaluator` and `ProtectedMaterialMultimodalEvaluator` will be removed in next release.
382
393
 
383
394
  ### Bugs Fixed
384
395
  - Removed `[remote]` extra. This is no longer needed when tracking results in Azure AI Studio.
385
396
  - Fixed `AttributeError: 'NoneType' object has no attribute 'get'` while running simulator with 1000+ results
397
+ - Fixed the non adversarial simulator to run in task-free mode
398
+ - Content safety evaluators (violence, self harm, sexual, hate/unfairness) return the maximum result as the
399
+ main score when aggregating per-turn evaluations from a conversation into an overall
400
+ evaluation score. Other conversation-capable evaluators still default to a mean for aggregation.
401
+ - Fixed bug in non adversarial simulator sample where `tasks` undefined
402
+
403
+ ### Other Changes
404
+ - Changed minimum required python version to use this package from 3.8 to 3.9
405
+ - Stop dependency on the local promptflow service. No promptflow service will automatically start when running evaluation.
406
+ - Evaluators internally allow for custom aggregation. However, this causes serialization failures if evaluated while the
407
+ environment variable `AI_EVALS_BATCH_USE_ASYNC` is set to false.
408
+
409
+ ## 1.1.0 (2024-12-12)
410
+
411
+ ### Features Added
412
+ - Added image support in `ContentSafetyEvaluator`, `ViolenceEvaluator`, `SexualEvaluator`, `SelfHarmEvaluator`, `HateUnfairnessEvaluator` and `ProtectedMaterialEvaluator`. Provide image URLs or base64 encoded images in `conversation` input for image evaluation. See below for an example:
413
+
414
+ ```python
415
+ evaluator = ContentSafetyEvaluator(credential=azure_cred, azure_ai_project=project_scope)
416
+ conversation = {
417
+ "messages": [
418
+ {
419
+ "role": "system",
420
+ "content": [
421
+ {"type": "text", "text": "You are an AI assistant that understands images."}
422
+ ],
423
+ },
424
+ {
425
+ "role": "user",
426
+ "content": [
427
+ {"type": "text", "text": "Can you describe this image?"},
428
+ {
429
+ "type": "image_url",
430
+ "image_url": {
431
+ "url": "https://cdn.britannica.com/68/178268-050-5B4E7FB6/Tom-Cruise-2013.jpg"
432
+ },
433
+ },
434
+ ],
435
+ },
436
+ {
437
+ "role": "assistant",
438
+ "content": [
439
+ {
440
+ "type": "text",
441
+ "text": "The image shows a man with short brown hair smiling, wearing a dark-colored shirt.",
442
+ }
443
+ ],
444
+ },
445
+ ]
446
+ }
447
+ print("Calling Content Safety Evaluator for multi-modal")
448
+ score = evaluator(conversation=conversation)
449
+ ```
450
+
451
+ - Please switch to generic evaluators for image evaluations as mentioned above. `ContentSafetyMultimodalEvaluator`, `ContentSafetyMultimodalEvaluatorBase`, `ViolenceMultimodalEvaluator`, `SexualMultimodalEvaluator`, `SelfHarmMultimodalEvaluator`, `HateUnfairnessMultimodalEvaluator` and `ProtectedMaterialMultimodalEvaluator` will be deprecated in the next release.
452
+
453
+ ### Bugs Fixed
454
+ - Removed `[remote]` extra. This is no longer needed when tracking results in Azure AI Foundry portal.
455
+ - Fixed `AttributeError: 'NoneType' object has no attribute 'get'` while running simulator with 1000+ results
386
456
 
387
457
  ## 1.0.1 (2024-11-15)
388
458
 
@@ -1,26 +1,26 @@
1
- azure/ai/evaluation/__init__.py,sha256=MFxJRoKfSsP_Qlfq0FwynxNf4csNAfTYPQX7jdXc9RU,2757
2
- azure/ai/evaluation/_constants.py,sha256=d41rQb-w2GmCMHOwiyDD1ieJB1U6JyPPl6APZSJbKzg,2036
3
- azure/ai/evaluation/_exceptions.py,sha256=MsTbgsPGYPzIxs7MyLKzSeiVKEoCxYkVjONzNfv2tXA,5162
1
+ azure/ai/evaluation/__init__.py,sha256=3lV2dhUqPzUz4lBo8DoEr5o4PEF_Lh5yWQtuLDUQZCM,2192
2
+ azure/ai/evaluation/_constants.py,sha256=Avp26R4qPqaze024EJXzAX8A457DExF5rnIKMWcE8X4,2881
3
+ azure/ai/evaluation/_exceptions.py,sha256=o3AjCyIAIBo_rkJAH_TsAT-hEZ4SMKd9Uo0eLmD9VHY,5085
4
4
  azure/ai/evaluation/_http_utils.py,sha256=1bGce6pKAL-vmaUGRPxVX7DVO05XVQ8YPIwIQ3q7mfA,17221
5
5
  azure/ai/evaluation/_model_configurations.py,sha256=MNN6cQlz7P9vNfHmfEKsUcly3j1FEOEFsA8WV7GPuKQ,4043
6
6
  azure/ai/evaluation/_user_agent.py,sha256=O2y-QPBAcw7w7qQ6M2aRPC3Vy3TKd789u5lcs2yuFaI,290
7
- azure/ai/evaluation/_version.py,sha256=LzMvSuUB6pmU-LfCPzoYuCoTF0BAqE7ljPjk6r8YaMw,199
7
+ azure/ai/evaluation/_version.py,sha256=xsol5X6WDVwo8FFtHWt28TPyzT0is0sJ3N5i9_ikPVI,229
8
8
  azure/ai/evaluation/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  azure/ai/evaluation/_azure/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
10
- azure/ai/evaluation/_azure/_clients.py,sha256=1mFRSxt-Ld5UBn-m3DJkKc-VPP9CbXQHrqLNdLs9RF0,8201
11
- azure/ai/evaluation/_azure/_models.py,sha256=tKpxjb5Ou476UasjXPCiuvsxTjLTrnoVnSXy5Bfa51M,12483
10
+ azure/ai/evaluation/_azure/_clients.py,sha256=N1V-LyQkItPuoKl0aieypFPdGSRSld9lQqH1x-n3L7U,9119
11
+ azure/ai/evaluation/_azure/_models.py,sha256=7EHmrCAFOscYY3H90wfmdPPdy0sqnOlgGFvraq_L-2Q,12517
12
12
  azure/ai/evaluation/_azure/_token_manager.py,sha256=1NZHwgEc9BMXWPz5Ear_J5-oYjouD77crLHHqNLldEw,5193
13
13
  azure/ai/evaluation/_common/__init__.py,sha256=LHTkf6dMLLxikrGNgbUuREBVQcs4ORHR6Eryo4bm9M8,586
14
14
  azure/ai/evaluation/_common/_experimental.py,sha256=GVtSn9r1CeR_yEa578dJVNDJ3P24eqe8WYdH7llbiQY,5694
15
15
  azure/ai/evaluation/_common/constants.py,sha256=OsExttFGLnTAyZa26jnY5_PCDTb7uJNFqtE2qsRZ1mg,1957
16
16
  azure/ai/evaluation/_common/math.py,sha256=d4bwWe35_RWDIZNcbV1BTBbHNx2QHQ4-I3EofDyyNE0,2863
17
17
  azure/ai/evaluation/_common/rai_service.py,sha256=DcakzdOour9qNdMXU-8UFfvLb12oexAoiJXG8XFTRBs,26462
18
- azure/ai/evaluation/_common/utils.py,sha256=MQIZs95gH5je1L-S3twa_WQi071zRu0Dv54lzCI7ZgU,17642
18
+ azure/ai/evaluation/_common/utils.py,sha256=wssBc9i0JrWwsrvtp45P5_z5ceB7kVGf-KKzpfVQQH4,17594
19
19
  azure/ai/evaluation/_evaluate/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
20
- azure/ai/evaluation/_evaluate/_eval_run.py,sha256=het3cxjK4J-_hT19dT5a0mC2Cdnk93gM3ONQMJb9bxQ,21923
21
- azure/ai/evaluation/_evaluate/_evaluate.py,sha256=P5aL70eUBKZT9CVRM9RVSfD0DkuljQyc5ECte37Ycmo,36225
22
- azure/ai/evaluation/_evaluate/_utils.py,sha256=S4LUUDUBo9JNA41ojSezMC-PZzkWcihhhNdyZwZrpr0,13428
23
- azure/ai/evaluation/_evaluate/_batch_run/__init__.py,sha256=G8McpeLxAS_gFhNShX52_YWvE-arhJn-bVpAfzjWG3Q,427
20
+ azure/ai/evaluation/_evaluate/_eval_run.py,sha256=QBtNBwUxqxsIVmKPU-_H8MDFkF4s_bW7arQYXAniRpo,21965
21
+ azure/ai/evaluation/_evaluate/_evaluate.py,sha256=pyl0HscBAPllpq385p9lMqR2sqip3RZ5BGfcBa4X334,39068
22
+ azure/ai/evaluation/_evaluate/_utils.py,sha256=sKj_4iN-QjrRlEkiZwA9UNiWozS4LgJcUZ6AWdHrTY4,14231
23
+ azure/ai/evaluation/_evaluate/_batch_run/__init__.py,sha256=Z-TQdSxKTn0bjsF0YosIJMbQFQHDUv_b9zCBu1TeogQ,474
24
24
  azure/ai/evaluation/_evaluate/_batch_run/code_client.py,sha256=XQLaXfswF6ReHLpQthHLuLLa65Pts8uawGp7kRqmMDs,8260
25
25
  azure/ai/evaluation/_evaluate/_batch_run/eval_run_context.py,sha256=p3Bsg_shGs5RXvysOlvo0CQb4Te5herSvX1OP6ylFUQ,3543
26
26
  azure/ai/evaluation/_evaluate/_batch_run/proxy_client.py,sha256=T_QRHScDMBM4O6ejkkKdBmHPjH2NOF6owW48aVUYF6k,3775
@@ -28,47 +28,41 @@ azure/ai/evaluation/_evaluate/_batch_run/target_run_context.py,sha256=SMos3bVmD7
28
28
  azure/ai/evaluation/_evaluate/_telemetry/__init__.py,sha256=fhLqE41qxdjfBOGi23cpk6QgUe-s1Fw2xhAAUjNESF0,7045
29
29
  azure/ai/evaluation/_evaluators/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
30
30
  azure/ai/evaluation/_evaluators/_bleu/__init__.py,sha256=quKKO0kvOSkky5hcoNBvgBuMeeVRFCE9GSv70mAdGP4,260
31
- azure/ai/evaluation/_evaluators/_bleu/_bleu.py,sha256=iT20SMmEtOnh7RWs55dFfAlKXNkNceXkCUbVyqv6aQ0,2776
31
+ azure/ai/evaluation/_evaluators/_bleu/_bleu.py,sha256=Px3KxTyNIuxy-4U3SE4XJHCd4r144JeVrlIGMdbaqBk,3425
32
32
  azure/ai/evaluation/_evaluators/_coherence/__init__.py,sha256=GRqcSCQse02Spyki0UsRNWMIXiea2lLtPPXNGvkJzQ0,258
33
33
  azure/ai/evaluation/_evaluators/_coherence/_coherence.py,sha256=uG9hX2XWkMREKfMAWRoosjicoI4Lg3ptR3UcLEgKd0c,4643
34
34
  azure/ai/evaluation/_evaluators/_coherence/coherence.prompty,sha256=ANvh9mDFW7KMejrgdWqBLjj4SIqEO5WW9gg5pE0RLJk,6798
35
- azure/ai/evaluation/_evaluators/_common/__init__.py,sha256=_hPqTkAla_O6s4ebVtTaBrVLEW3KSdDz66WwxjK50cI,423
36
- azure/ai/evaluation/_evaluators/_common/_base_eval.py,sha256=n6qldJr8d8H0DnS7IwkQPH9Ep9PdZnVeVtSxQiunADc,19424
35
+ azure/ai/evaluation/_evaluators/_common/__init__.py,sha256=xAymP_CZy4aPzWplMdXgQUQVDIUEMI-0nbgdm_umFYY,498
36
+ azure/ai/evaluation/_evaluators/_common/_base_eval.py,sha256=LtlTsA0TUywMXEYj3mVggv43G0TfKnNkDG6ZgA_dWa4,23328
37
+ azure/ai/evaluation/_evaluators/_common/_base_multi_eval.py,sha256=6WFmFMsobJjju3wzVFKx7EjuHqbBV9YXzlhbwu5vzio,2509
37
38
  azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py,sha256=hvJD7jR2ESePkRPN17ytoFhFiS0iTotOfeqmTwG2IMs,4531
38
- azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py,sha256=czyn1MfaxOmrvvFgdeblf6FaauKgKolgPFsP5f7K29w,7331
39
+ azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py,sha256=1ZwWu2dwN2y6bVOU3Ws4VvJoMVQ80tzYNutSEfmpYmg,7830
40
+ azure/ai/evaluation/_evaluators/_common/_conversation_aggregators.py,sha256=gjDBjRxJKwaHbshWH0j2idjlzfzNMnT9a9RL0fQiKeM,2129
39
41
  azure/ai/evaluation/_evaluators/_content_safety/__init__.py,sha256=PEYMIybfP64f7byhuTaiq4RiqsYbjqejpW1JsJIG1jA,556
40
- azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py,sha256=CIGfBLNOTVXrlF5HIc2UpuDDG5BfzjD7ubJ23CbvobQ,6341
41
- azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py,sha256=sjw8FfwxC1f0K1J4TkeA8wkfq88aebiNbaKzS-8DWzk,5919
42
- azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py,sha256=0zaB-JKm8FU6yoxD1nqoYvxp3gvjuZfcQjb-xhSHoQ0,5156
43
- azure/ai/evaluation/_evaluators/_content_safety/_sexual.py,sha256=q9bEMu6Dp1wxDlH3h2iTayrWv4ux-izLB0kGkxrgEhM,5396
44
- azure/ai/evaluation/_evaluators/_content_safety/_violence.py,sha256=W2QwPuWOc3nkLvvWOAhCrpLRDAAo-xG1SvlDhrshzUc,5467
42
+ azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py,sha256=XKnIlxbzkB65cRXXcOGsv0W37QKxo_jsHbR3gijMZ78,4654
43
+ azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py,sha256=LcnJuePAwByoaXAQ5CVKnkO2IVCCRdVnFTUYbOyQTbs,6043
44
+ azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py,sha256=Nl_hTIRXO_UdAjUatPzbCTextsngkgib1ECzsmDHUvE,5280
45
+ azure/ai/evaluation/_evaluators/_content_safety/_sexual.py,sha256=z8bDdkZHW09D6NTY9mlK2abNMOy9hRAJwwTQs5vjvAc,5520
46
+ azure/ai/evaluation/_evaluators/_content_safety/_violence.py,sha256=z9dM3GOBSIw_WoEELPHRE3DSK3ol7MZbDkFJyuYENVk,5591
45
47
  azure/ai/evaluation/_evaluators/_eci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
46
48
  azure/ai/evaluation/_evaluators/_eci/_eci.py,sha256=a36sLZPHKi3YAdl0JvpL6vboZMqgGjnmz0qZ-o8vcWY,2934
47
49
  azure/ai/evaluation/_evaluators/_f1_score/__init__.py,sha256=aEVbO7iMoF20obdpLQKcKm69Yyu3mYnblKELLqu8OGI,260
48
- azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py,sha256=YtPEG1ZT0jAPvEnOpD2Eaojm-8zS61bxOr3US6vvgqc,5779
50
+ azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py,sha256=nDUAz-vmkIR0Sj7JfMm3mVHfE3XnKrZnTzOUa6QKskk,5399
49
51
  azure/ai/evaluation/_evaluators/_fluency/__init__.py,sha256=EEJw39xRa0bOAA1rELTTKXQu2s60n_7CZQRD0Gu2QVw,259
50
52
  azure/ai/evaluation/_evaluators/_fluency/_fluency.py,sha256=mHQCismdL4cCeANcqWrDHCiVgr4UAWj0yIYJXt2pFDA,4399
51
53
  azure/ai/evaluation/_evaluators/_fluency/fluency.prompty,sha256=n9v0W9eYwgIO-JSsLTSKEM_ApJuxxuKWQpNblrTEkFY,4861
52
54
  azure/ai/evaluation/_evaluators/_gleu/__init__.py,sha256=Ae2EvQ7gqiYAoNO3LwGIhdAAjJPJDfT85rQGKrRrmbA,260
53
- azure/ai/evaluation/_evaluators/_gleu/_gleu.py,sha256=RaY_RZ5A3sMx4yE6uCyjvchB8rRoMvIv0JYYyMBXFM8,2696
55
+ azure/ai/evaluation/_evaluators/_gleu/_gleu.py,sha256=E_HeUuDAW2pPhsbaWLHMMxqgUxPOgBv2Bnr_Z9M6AAs,3359
54
56
  azure/ai/evaluation/_evaluators/_groundedness/__init__.py,sha256=UYNJUeRvBwcSVFyZpdsf29un5eyaDzYoo3QvC1gvlLg,274
55
57
  azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py,sha256=Zil5S7BXaVvW2wBUlsF3oGzZLOYrvSzGAY4TqKfFUX8,6876
56
58
  azure/ai/evaluation/_evaluators/_groundedness/groundedness_with_query.prompty,sha256=v7TOm75DyW_1gOU6gSiZoPcRnHcJ65DrzR2cL_ucWDY,5814
57
59
  azure/ai/evaluation/_evaluators/_groundedness/groundedness_without_query.prompty,sha256=8kNShdfxQvkII7GnqjmdqQ5TNelA2B6cjnqWZk8FFe4,5296
58
60
  azure/ai/evaluation/_evaluators/_meteor/__init__.py,sha256=209na3pPsdmcuYpYHUYtqQybCpc3yZkc93HnRdicSlI,266
59
- azure/ai/evaluation/_evaluators/_meteor/_meteor.py,sha256=UPNvWpNkMlx8NmOPuSkcXF1DA_daDdrRArhJAbbTQkc,3767
60
- azure/ai/evaluation/_evaluators/_multimodal/__init__.py,sha256=tPvsY0nv8T3VtiiAwJM6wT5A9FhKP2XXwUlCH994xl4,906
61
- azure/ai/evaluation/_evaluators/_multimodal/_content_safety_multimodal.py,sha256=x0l6eLQhxVP85jEyGfFCl27C2okMgD0S3aJ_qrgB3Q8,5219
62
- azure/ai/evaluation/_evaluators/_multimodal/_content_safety_multimodal_base.py,sha256=X2IVw0YvymDD3e4Vx-TfjqgqtYiAKVhUumjBowCpOmA,2441
63
- azure/ai/evaluation/_evaluators/_multimodal/_hate_unfairness.py,sha256=ral1AAbP5pfsygDe30MtuwajuydiXoXzzCeuLBzIkWc,3779
64
- azure/ai/evaluation/_evaluators/_multimodal/_protected_material.py,sha256=gMrfyn3KHcV6SoowuEjR7Fon9vVLN7GOPM4rkJRK6xU,4906
65
- azure/ai/evaluation/_evaluators/_multimodal/_self_harm.py,sha256=QwOCBb618ZXSs-OoVXyNM65N4ZEL7IZt-S1Nqd8xNbY,3703
66
- azure/ai/evaluation/_evaluators/_multimodal/_sexual.py,sha256=6zz89yzr_SdldqBVv-3wOErz3H5sBO6wYgNh39aHXmY,3668
67
- azure/ai/evaluation/_evaluators/_multimodal/_violence.py,sha256=t1h3bY6N7SwlSgP_1P-90KGTsq1oWvTYDJpy_uMvzjA,3694
61
+ azure/ai/evaluation/_evaluators/_meteor/_meteor.py,sha256=OpugAjIgcTcNQ6g6Rks_8GVhcRiH524PbmBKH3bTefs,4369
68
62
  azure/ai/evaluation/_evaluators/_protected_material/__init__.py,sha256=eRAQIU9diVXfO5bp6aLWxZoYUvOsrDIfy1gnDOeNTiI,109
69
63
  azure/ai/evaluation/_evaluators/_protected_material/_protected_material.py,sha256=IABs1YMBZdIi1u57dPi-aQpSiPWIGxEZ4hyt97jvdNA,4604
70
64
  azure/ai/evaluation/_evaluators/_qa/__init__.py,sha256=bcXfT--C0hjym2haqd1B2-u9bDciyM0ThOFtU1Q69sk,244
71
- azure/ai/evaluation/_evaluators/_qa/_qa.py,sha256=kLkXwkmrXqgfBu7MJwEYAobeqGh4b4zE7cjIkD_1iwA,3854
65
+ azure/ai/evaluation/_evaluators/_qa/_qa.py,sha256=HG4JiSt5S20D70LmzW8t24qWg5_uiIKwIxjJ13ygfDo,3670
72
66
  azure/ai/evaluation/_evaluators/_relevance/__init__.py,sha256=JlxytW32Nl8pbE-fI3GRpfgVuY9EG6zxIAn5VZGSwyc,265
73
67
  azure/ai/evaluation/_evaluators/_relevance/_relevance.py,sha256=S1J5BR1-ZyCLQOTbdAHLDzzY1ccVnPyy9uVUlivmCx0,5287
74
68
  azure/ai/evaluation/_evaluators/_relevance/relevance.prompty,sha256=VHKzVlC2Cv1xuholgIGmerPspspAI0t6IgJ2cxOuYDE,4811
@@ -76,14 +70,16 @@ azure/ai/evaluation/_evaluators/_retrieval/__init__.py,sha256=kMu47ZyTZ7f-4Yh6H3
76
70
  azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py,sha256=fmd8zNOVSGQGT5icSAI6PwgnS7kKz_ZMKMnxKIchYl8,5085
77
71
  azure/ai/evaluation/_evaluators/_retrieval/retrieval.prompty,sha256=_YVoO4Gt_WD42bUcj5n6BDW0dMUqNf0yF3Nj5XMOX2c,16490
78
72
  azure/ai/evaluation/_evaluators/_rouge/__init__.py,sha256=kusCDaYcXogDugGefRP8MQSn9xv107oDbrMCqZ6K4GA,291
79
- azure/ai/evaluation/_evaluators/_rouge/_rouge.py,sha256=SV5rESLVARQqh1n0Pf6EMvJoJH3A0nNKM_U33q1LQoE,4026
73
+ azure/ai/evaluation/_evaluators/_rouge/_rouge.py,sha256=xTsAF9em2QpWcgCHOmDCEcuRwrob5kPUUpkgul9E5jA,4642
80
74
  azure/ai/evaluation/_evaluators/_service_groundedness/__init__.py,sha256=0DODUGTOgaYyFbO9_zxuwifixDL3SIm3EkwP1sdwn6M,288
81
75
  azure/ai/evaluation/_evaluators/_service_groundedness/_service_groundedness.py,sha256=GPvufAgTnoQ2HYs6Xnnpmh23n5E3XxnUV0NGuwjDyU0,6648
82
76
  azure/ai/evaluation/_evaluators/_similarity/__init__.py,sha256=V2Mspog99_WBltxTkRHG5NpN5s9XoiTSN4I8POWEkLA,268
83
- azure/ai/evaluation/_evaluators/_similarity/_similarity.py,sha256=UVBIa1xIlOIJtPctCu-UCOWvXzE4ysaK_XFdokajCuA,5669
77
+ azure/ai/evaluation/_evaluators/_similarity/_similarity.py,sha256=AeqJ_OJUAsdu9Cac4OLVPF2zbrBmpXD7_5oOs_cxKsk,4244
84
78
  azure/ai/evaluation/_evaluators/_similarity/similarity.prompty,sha256=eoludASychZoGL625bFCaZai-OY7DIAg90ZLax_o4XE,4594
85
79
  azure/ai/evaluation/_evaluators/_xpia/__init__.py,sha256=VMEL8WrpJQeh4sQiOLzP7hRFPnjzsvwfvTzaGCVJPCM,88
86
80
  azure/ai/evaluation/_evaluators/_xpia/xpia.py,sha256=Nv14lU7jN0yXKbHgHRXMHEy6pn1rXmesBOYI2Ge9ewk,5849
81
+ azure/ai/evaluation/_safety_evaluation/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
82
+ azure/ai/evaluation/_safety_evaluation/_safety_evaluation.py,sha256=HtT6aKdZ4EP6Dx-JuExdysO_CBERFMwRWmGTWeHQ_NU,33890
87
83
  azure/ai/evaluation/_vendor/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
88
84
  azure/ai/evaluation/_vendor/rouge_score/__init__.py,sha256=03OkyfS_UmzRnHv6-z9juTaJ6OXJoEJM989hgifIZbc,607
89
85
  azure/ai/evaluation/_vendor/rouge_score/rouge_scorer.py,sha256=DtNSeshHipzc6vFnvx7kbs5viXe4LNq-ZrgllFvfR4U,11299
@@ -92,15 +88,15 @@ azure/ai/evaluation/_vendor/rouge_score/tokenize.py,sha256=IyHVsWY6IFFZdB23cLiJs
92
88
  azure/ai/evaluation/_vendor/rouge_score/tokenizers.py,sha256=3_-y1TyvyluHuERhSJ5CdXSwnpcMA7aAKU6PCz9wH_Q,1745
93
89
  azure/ai/evaluation/simulator/__init__.py,sha256=JbrPZ8pvTBalyX94SvZ9btHNoovX8rbZV03KmzxxWys,552
94
90
  azure/ai/evaluation/simulator/_adversarial_scenario.py,sha256=9rpAPz594tYjxzM3XMeDq6CZSc2yvf5YaNaGC7nzYhM,1710
95
- azure/ai/evaluation/simulator/_adversarial_simulator.py,sha256=FPZ3OdpGuwCHDVoOZW-f_j7pyK71PfDN3JPh205tW0c,21706
91
+ azure/ai/evaluation/simulator/_adversarial_simulator.py,sha256=2QEt5hHOKnNqMySt3SNsr-LY22DvFyusVnPkvAyur1I,22100
96
92
  azure/ai/evaluation/simulator/_constants.py,sha256=nCL7_1BnYh6k0XvxudxsDVMbiG9MMEvYw5wO9FZHHZ8,857
97
93
  azure/ai/evaluation/simulator/_direct_attack_simulator.py,sha256=FTtWf655dHJF5FLJi0xGSBgIlGWNiVWyqaLDJSud9XA,10199
98
94
  azure/ai/evaluation/simulator/_indirect_attack_simulator.py,sha256=nweIU_AkUIR50qLQpjmljf_OkpsCPth2Ebf4vusygCA,10226
99
- azure/ai/evaluation/simulator/_simulator.py,sha256=pWxVfy9ll6gmOyGEk6Ie7Y48X21wJ5DebqY8Re0SIOk,36213
95
+ azure/ai/evaluation/simulator/_simulator.py,sha256=LBzez7qvObpVjTwmlGS_PfhDLo8pRknh5epra2yo9X8,36484
100
96
  azure/ai/evaluation/simulator/_tracing.py,sha256=frZ4-usrzINast9F4-ONRzEGGox71y8bYw0UHNufL1Y,3069
101
97
  azure/ai/evaluation/simulator/_utils.py,sha256=16NltlywpbMtoFtULwTKqeURguIS1kSKSo3g8uKV8TA,5181
102
- azure/ai/evaluation/simulator/_conversation/__init__.py,sha256=s8djzJ58_-CiIA8xHB-SbgeZaq1F7ftrc3qJbpUpUdg,17853
103
- azure/ai/evaluation/simulator/_conversation/_conversation.py,sha256=qdzGMtCPYMxeGpR91NZTEmmz2RtADTvQGj6C-3EUTw4,7402
98
+ azure/ai/evaluation/simulator/_conversation/__init__.py,sha256=LOR5h7vSACrv_cmaS6r7KUqjJcHYg7PAgkDbdvOmd4g,17726
99
+ azure/ai/evaluation/simulator/_conversation/_conversation.py,sha256=h8OHq0sWKiTH821tC5zF44CJ-QgutTgDnEYsFEA7Cw0,7635
104
100
  azure/ai/evaluation/simulator/_conversation/constants.py,sha256=3v7zkjPwJAPbSpJYIK6VOZZy70bJXMo_QTVqSFGlq9A,984
105
101
  azure/ai/evaluation/simulator/_data_sources/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
106
102
  azure/ai/evaluation/simulator/_data_sources/grounding.json,sha256=jqdqHrCgS7hN7K2kXSEcPCmzFjV4cv_qcCSR-Hutwx4,1257075
@@ -109,15 +105,15 @@ azure/ai/evaluation/simulator/_helpers/_language_suffix_mapping.py,sha256=7BBLH7
109
105
  azure/ai/evaluation/simulator/_helpers/_simulator_data_classes.py,sha256=BOttMTec3muMiA4OzwD_iW08GTrhja7PL9XVjRCN3jM,3029
110
106
  azure/ai/evaluation/simulator/_model_tools/__init__.py,sha256=aMv5apb7uVjuhMF9ohhA5kQmo652hrGIJlhdl3y2R1I,835
111
107
  azure/ai/evaluation/simulator/_model_tools/_identity_manager.py,sha256=-hptp2vpJIcfjvtd0E2c7ry00LVh23LxuYGevsNFfgs,6385
112
- azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py,sha256=Zg_SzqjCGJ3Wt8hktxz6Y1JEJCcV0V5jBC9N06jQP3k,8984
108
+ azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py,sha256=D2Am07l2gq_v-vztqDBTX2MxZTUumm5ysaVSL2L0rxQ,9118
113
109
  azure/ai/evaluation/simulator/_model_tools/_rai_client.py,sha256=40MGzIXGv7oVshWH7AbOPLCigI4HlMrqbF2Rq5jFMGo,8755
114
110
  azure/ai/evaluation/simulator/_model_tools/_template_handler.py,sha256=NQWqjE7csSzkhb2XdW82AoCA-DxixpTrfBxAnOt2Wlc,7075
115
111
  azure/ai/evaluation/simulator/_model_tools/models.py,sha256=bfVm0PV3vfH_8DkdmTMZqYVN-G51hZ6Y0TOO-NiysJY,21811
116
112
  azure/ai/evaluation/simulator/_prompty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
113
  azure/ai/evaluation/simulator/_prompty/task_query_response.prompty,sha256=2BzSqDDYilDushvR56vMRDmqFIaIYAewdUlUZg_elMg,2182
118
114
  azure/ai/evaluation/simulator/_prompty/task_simulate.prompty,sha256=NE6lH4bfmibgMn4NgJtm9_l3PMoHSFrfjjosDJEKM0g,939
119
- azure_ai_evaluation-1.1.0.dist-info/METADATA,sha256=zusuZTIcO7487bWQK5V7XZ-Pbqugm7HFzvcCV5yfTmk,28751
120
- azure_ai_evaluation-1.1.0.dist-info/NOTICE.txt,sha256=4tzi_Yq4-eBGhBvveobWHCgUIVF-ZeouGN0m7hVq5Mk,3592
121
- azure_ai_evaluation-1.1.0.dist-info/WHEEL,sha256=pL8R0wFFS65tNSRnaOVrsw9EOkOqxLrlUPenUYnJKNo,91
122
- azure_ai_evaluation-1.1.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
123
- azure_ai_evaluation-1.1.0.dist-info/RECORD,,
115
+ azure_ai_evaluation-1.3.0.dist-info/METADATA,sha256=msxfA0EnNspmcqbsGuYtdEESA3kLPnEfWBpzf7yFHEw,32885
116
+ azure_ai_evaluation-1.3.0.dist-info/NOTICE.txt,sha256=4tzi_Yq4-eBGhBvveobWHCgUIVF-ZeouGN0m7hVq5Mk,3592
117
+ azure_ai_evaluation-1.3.0.dist-info/WHEEL,sha256=pL8R0wFFS65tNSRnaOVrsw9EOkOqxLrlUPenUYnJKNo,91
118
+ azure_ai_evaluation-1.3.0.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
119
+ azure_ai_evaluation-1.3.0.dist-info/RECORD,,
@@ -1,20 +0,0 @@
1
- # ---------------------------------------------------------
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # ---------------------------------------------------------
4
- from ._content_safety_multimodal import ContentSafetyMultimodalEvaluator
5
- from ._content_safety_multimodal_base import ContentSafetyMultimodalEvaluatorBase
6
- from ._hate_unfairness import HateUnfairnessMultimodalEvaluator
7
- from ._self_harm import SelfHarmMultimodalEvaluator
8
- from ._sexual import SexualMultimodalEvaluator
9
- from ._violence import ViolenceMultimodalEvaluator
10
- from ._protected_material import ProtectedMaterialMultimodalEvaluator
11
-
12
- __all__ = [
13
- "ContentSafetyMultimodalEvaluator",
14
- "ContentSafetyMultimodalEvaluatorBase",
15
- "ViolenceMultimodalEvaluator",
16
- "SexualMultimodalEvaluator",
17
- "SelfHarmMultimodalEvaluator",
18
- "HateUnfairnessMultimodalEvaluator",
19
- "ProtectedMaterialMultimodalEvaluator",
20
- ]