azure-ai-evaluation 1.0.0b1__py3-none-any.whl → 1.0.0b3__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 (76) hide show
  1. azure/ai/evaluation/__init__.py +4 -4
  2. azure/ai/evaluation/_common/rai_service.py +4 -4
  3. azure/ai/evaluation/_common/utils.py +40 -25
  4. azure/ai/evaluation/_constants.py +13 -0
  5. azure/ai/evaluation/_evaluate/_batch_run_client/batch_run_context.py +2 -1
  6. azure/ai/evaluation/_evaluate/_batch_run_client/code_client.py +39 -17
  7. azure/ai/evaluation/_evaluate/_batch_run_client/proxy_client.py +23 -13
  8. azure/ai/evaluation/_evaluate/_eval_run.py +38 -18
  9. azure/ai/evaluation/_evaluate/_evaluate.py +88 -63
  10. azure/ai/evaluation/_evaluate/_telemetry/__init__.py +13 -8
  11. azure/ai/evaluation/_evaluate/_utils.py +29 -22
  12. azure/ai/evaluation/_evaluators/_bleu/_bleu.py +1 -1
  13. azure/ai/evaluation/_evaluators/_coherence/_coherence.py +34 -86
  14. azure/ai/evaluation/_evaluators/_coherence/coherence.prompty +0 -5
  15. azure/ai/evaluation/_evaluators/_common/__init__.py +13 -0
  16. azure/ai/evaluation/_evaluators/_common/_base_eval.py +302 -0
  17. azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py +79 -0
  18. azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py +99 -0
  19. azure/ai/evaluation/_evaluators/_content_safety/__init__.py +0 -4
  20. azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py +0 -2
  21. azure/ai/evaluation/_evaluators/_content_safety/_content_safety_chat.py +9 -4
  22. azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py +18 -41
  23. azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py +18 -39
  24. azure/ai/evaluation/_evaluators/_content_safety/_sexual.py +18 -39
  25. azure/ai/evaluation/_evaluators/_content_safety/_violence.py +18 -39
  26. azure/ai/evaluation/_evaluators/_eci/_eci.py +18 -55
  27. azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py +2 -1
  28. azure/ai/evaluation/_evaluators/_fluency/_fluency.py +29 -79
  29. azure/ai/evaluation/_evaluators/_fluency/fluency.prompty +0 -5
  30. azure/ai/evaluation/_evaluators/_gleu/_gleu.py +1 -1
  31. azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py +33 -85
  32. azure/ai/evaluation/_evaluators/_groundedness/groundedness.prompty +0 -5
  33. azure/ai/evaluation/_evaluators/_meteor/_meteor.py +1 -0
  34. azure/ai/evaluation/_evaluators/_protected_material/_protected_material.py +18 -65
  35. azure/ai/evaluation/_evaluators/_qa/_qa.py +3 -14
  36. azure/ai/evaluation/_evaluators/_relevance/_relevance.py +34 -88
  37. azure/ai/evaluation/_evaluators/_relevance/relevance.prompty +0 -5
  38. azure/ai/evaluation/_evaluators/{_chat → _retrieval}/__init__.py +2 -2
  39. azure/ai/evaluation/_evaluators/{_chat/retrieval → _retrieval}/_retrieval.py +17 -29
  40. azure/ai/evaluation/_evaluators/{_chat/retrieval → _retrieval}/retrieval.prompty +0 -5
  41. azure/ai/evaluation/_evaluators/_rouge/_rouge.py +3 -2
  42. azure/ai/evaluation/_evaluators/_similarity/_similarity.py +5 -18
  43. azure/ai/evaluation/_evaluators/_similarity/similarity.prompty +0 -5
  44. azure/ai/evaluation/_evaluators/_xpia/xpia.py +16 -91
  45. azure/ai/evaluation/_exceptions.py +0 -1
  46. azure/ai/evaluation/_http_utils.py +3 -3
  47. azure/ai/evaluation/_model_configurations.py +36 -8
  48. azure/ai/evaluation/_version.py +1 -1
  49. azure/ai/evaluation/simulator/__init__.py +1 -1
  50. azure/ai/evaluation/simulator/_adversarial_simulator.py +8 -6
  51. azure/ai/evaluation/simulator/_conversation/__init__.py +1 -1
  52. azure/ai/evaluation/simulator/_conversation/_conversation.py +16 -16
  53. azure/ai/evaluation/simulator/_direct_attack_simulator.py +6 -6
  54. azure/ai/evaluation/simulator/_helpers/__init__.py +3 -2
  55. azure/ai/evaluation/simulator/_helpers/_experimental.py +157 -0
  56. azure/ai/evaluation/simulator/_helpers/_simulator_data_classes.py +11 -29
  57. azure/ai/evaluation/simulator/_indirect_attack_simulator.py +6 -6
  58. azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py +2 -3
  59. azure/ai/evaluation/simulator/_model_tools/_rai_client.py +18 -11
  60. azure/ai/evaluation/simulator/_model_tools/_template_handler.py +1 -1
  61. azure/ai/evaluation/simulator/_model_tools/models.py +9 -11
  62. azure/ai/evaluation/simulator/_prompty/__init__.py +0 -0
  63. azure/ai/evaluation/simulator/_prompty/task_query_response.prompty +2 -1
  64. azure/ai/evaluation/simulator/{simulator.py → _simulator.py} +166 -88
  65. azure/ai/evaluation/simulator/_tracing.py +21 -24
  66. azure/ai/evaluation/simulator/_utils.py +4 -1
  67. {azure_ai_evaluation-1.0.0b1.dist-info → azure_ai_evaluation-1.0.0b3.dist-info}/METADATA +144 -14
  68. azure_ai_evaluation-1.0.0b3.dist-info/RECORD +98 -0
  69. azure/ai/evaluation/_evaluators/_chat/_chat.py +0 -350
  70. azure/ai/evaluation/_evaluators/_chat/retrieval/__init__.py +0 -9
  71. azure/ai/evaluation/_evaluators/_content_safety/_content_safety_base.py +0 -66
  72. azure/ai/evaluation/_evaluators/_protected_materials/__init__.py +0 -5
  73. azure/ai/evaluation/_evaluators/_protected_materials/_protected_materials.py +0 -104
  74. azure_ai_evaluation-1.0.0b1.dist-info/RECORD +0 -97
  75. {azure_ai_evaluation-1.0.0b1.dist-info → azure_ai_evaluation-1.0.0b3.dist-info}/WHEEL +0 -0
  76. {azure_ai_evaluation-1.0.0b1.dist-info → azure_ai_evaluation-1.0.0b3.dist-info}/top_level.txt +0 -0
@@ -4,35 +4,37 @@
4
4
  # pylint: disable=C0103,C0114,C0116,E0401,E0611
5
5
 
6
6
  import functools
7
+ from typing import Callable, TypeVar
7
8
 
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")
9
14
 
10
15
 
11
16
  def monitor_adversarial_scenario(activity_name: str = "adversarial.simulator.call"):
12
17
  """
13
18
  Monitor an adversarial scenario.
14
19
 
15
- Parameters:
16
- activity_name (str): The name of the activity to monitor.
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]
17
24
  """
18
25
 
19
- def decorator(func):
26
+ def decorator(func: Callable[P, R]) -> Callable[P, R]:
20
27
  """
21
28
  Decorator for monitoring an adversarial scenario.
22
29
 
23
- Parameters:
24
- func (function): The function to be decorated.
30
+ :param func: The function to be decorated.
31
+ :type func: Callable[P, R]
32
+ :returns: The decorated function
33
+ :rtype: Callable[P, R]
25
34
  """
26
35
 
27
36
  @functools.wraps(func)
28
- def wrapper(*args, **kwargs):
29
- """
30
- Wrapper for monitoring an adversarial scenario.
31
-
32
- Parameters:
33
- *args: Variable length argument list.
34
- **kwargs: Arbitrary keyword arguments.
35
- """
37
+ def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
36
38
  scenario = str(kwargs.get("scenario", None))
37
39
  max_conversation_turns = kwargs.get("max_conversation_turns", None)
38
40
  max_simulation_results = kwargs.get("max_simulation_results", None)
@@ -55,23 +57,18 @@ def monitor_adversarial_scenario(activity_name: str = "adversarial.simulator.cal
55
57
  return decorator
56
58
 
57
59
 
58
- def monitor_task_simulator(func):
60
+ def monitor_task_simulator(func: Callable[P, R]) -> Callable[P, R]:
59
61
  """
60
62
  Monitor a task simulator.
61
63
 
62
- Parameters:
63
- func (function): The function to be decorated.
64
+ :param func: The function to be decorated.
65
+ :type func: Callable[P, R]
66
+ :returns: The decorated function
67
+ :rtype: Callable[P, R]
64
68
  """
65
69
 
66
70
  @functools.wraps(func)
67
- def wrapper(*args, **kwargs):
68
- """
69
- Wrapper for monitoring a task simulator.
70
-
71
- Parameters:
72
- *args: Variable length argument list.
73
- **kwargs: Arbitrary keyword arguments.
74
- """
71
+ def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
75
72
  text_length = len(kwargs.get("text", ""))
76
73
  user_persona_length = len(kwargs.get("user_persona", []))
77
74
  num_queries = kwargs.get("num_queries", 0)
@@ -80,10 +80,13 @@ class JsonLineChatProtocol(dict):
80
80
  """
81
81
  return json.dumps(self)
82
82
 
83
- def to_eval_qa_json_lines(self):
83
+ def to_eval_qa_json_lines(self) -> str:
84
84
  """
85
85
  Converts the object to a string of JSON lines suitable for evaluation in a Q&A format.
86
86
  The object is expected to be a dictionary with 'messages' key.
87
+
88
+ :returns: A json lines document
89
+ :rtype: str
87
90
  """
88
91
  user_message = None
89
92
  assistant_message = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: azure-ai-evaluation
3
- Version: 1.0.0b1
3
+ Version: 1.0.0b3
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,11 +35,27 @@ Requires-Dist: promptflow-azure <2.0.0,>=1.15.0 ; extra == 'pf-azure'
35
35
 
36
36
  # Azure AI Evaluation client library for Python
37
37
 
38
+ We are excited to introduce the public preview of the Azure AI Evaluation SDK.
39
+
40
+ [Source code][source_code]
41
+ | [Package (PyPI)][evaluation_pypi]
42
+ | [API reference documentation][evaluation_ref_docs]
43
+ | [Product documentation][product_documentation]
44
+ | [Samples][evaluation_samples]
45
+
46
+ This package has been tested with Python 3.8, 3.9, 3.10, 3.11, and 3.12.
47
+
48
+ For a more complete set of Azure libraries, see https://aka.ms/azsdk/python/all
49
+
38
50
  ## Getting started
39
51
 
52
+ ### Prerequisites
53
+
54
+ - Python 3.8 or later is required to use this package.
55
+
40
56
  ### Install the package
41
57
 
42
- Install the Azure AI Evaluation library for Python with:
58
+ Install the Azure AI Evaluation library for Python with [pip][pip_link]::
43
59
 
44
60
  ```bash
45
61
  pip install azure-ai-evaluation
@@ -51,6 +67,8 @@ Evaluators are custom or prebuilt classes or functions that are designed to meas
51
67
 
52
68
  ## Examples
53
69
 
70
+ ### Evaluators
71
+
54
72
  Users can create evaluator runs on the local machine as shown in the example below:
55
73
 
56
74
  ```python
@@ -92,9 +110,9 @@ if __name__ == "__main__":
92
110
 
93
111
  # Initialize Project Scope
94
112
  azure_ai_project = {
95
- "subscription_id": "e0fd569c-e34a-4249-8c24-e8d723c7f054",
96
- "resource_group_name": "rg-test",
97
- "project_name": "project-test",
113
+ "subscription_id": <subscription_id>,
114
+ "resource_group_name": <resource_group_name>,
115
+ "project_name": <project_name>
98
116
  }
99
117
 
100
118
  violence_eval = ViolenceEvaluator(azure_ai_project)
@@ -122,9 +140,13 @@ if __name__ == "__main__":
122
140
 
123
141
  pprint(result)
124
142
  ```
125
- ## Simulator
143
+ ### Simulator
144
+
145
+
146
+ Simulators allow users to generate synthentic data using their application. Simulator expects the user to have a callback method that invokes
147
+ their AI application.
126
148
 
127
- Sample application prompty
149
+ #### Simulating with a Prompty
128
150
 
129
151
  ```yaml
130
152
  ---
@@ -163,7 +185,7 @@ Application code:
163
185
  import json
164
186
  import asyncio
165
187
  from typing import Any, Dict, List, Optional
166
- from azure.ai.evaluation.synthetic import Simulator
188
+ from azure.ai.evaluation.simulator import Simulator
167
189
  from promptflow.client import load_flow
168
190
  from azure.identity import DefaultAzureCredential
169
191
  import os
@@ -171,8 +193,7 @@ import os
171
193
  azure_ai_project = {
172
194
  "subscription_id": os.environ.get("AZURE_SUBSCRIPTION_ID"),
173
195
  "resource_group_name": os.environ.get("RESOURCE_GROUP"),
174
- "project_name": os.environ.get("PROJECT_NAME"),
175
- "credential": DefaultAzureCredential(),
196
+ "project_name": os.environ.get("PROJECT_NAME")
176
197
  }
177
198
 
178
199
  import wikipedia
@@ -249,8 +270,7 @@ if __name__ == "__main__":
249
270
  print("done!")
250
271
  ```
251
272
 
252
- Simulators allow users to generate synthentic data using their application. Simulator expects the user to have a callback method that invokes
253
- their AI application. Here's a sample of a callback which invokes AsyncAzureOpenAI:
273
+ #### Adversarial Simulator
254
274
 
255
275
  ```python
256
276
  from from azure.ai.evaluation.simulator import AdversarialSimulator, AdversarialScenario
@@ -318,7 +338,9 @@ async def callback(
318
338
  }
319
339
 
320
340
  ```
321
- ### Adversarial QA:
341
+
342
+ #### Adversarial QA
343
+
322
344
  ```python
323
345
  scenario = AdversarialScenario.ADVERSARIAL_QA
324
346
  simulator = AdversarialSimulator(azure_ai_project=azure_ai_project, credential=DefaultAzureCredential())
@@ -334,7 +356,7 @@ outputs = asyncio.run(
334
356
 
335
357
  print(outputs.to_eval_qa_json_lines())
336
358
  ```
337
- ### Direct Attack Simulator
359
+ #### Direct Attack Simulator
338
360
 
339
361
  ```python
340
362
  scenario = AdversarialScenario.ADVERSARIAL_QA
@@ -353,13 +375,121 @@ print(outputs)
353
375
  ```
354
376
  ## Troubleshooting
355
377
 
378
+ ### General
379
+
380
+ Azure ML clients raise exceptions defined in [Azure Core][azure_core_readme].
381
+
382
+ ### Logging
383
+
384
+ This library uses the standard
385
+ [logging][python_logging] library for logging.
386
+ Basic information about HTTP sessions (URLs, headers, etc.) is logged at INFO
387
+ level.
388
+
389
+ Detailed DEBUG level logging, including request/response bodies and unredacted
390
+ headers, can be enabled on a client with the `logging_enable` argument.
391
+
392
+ See full SDK logging documentation with examples [here][sdk_logging_docs].
393
+
356
394
  ## Next steps
357
395
 
396
+ - View our [samples][evaluation_samples].
397
+ - View our [documentation][product_documentation]
398
+
358
399
  ## Contributing
359
400
 
401
+ This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit [cla.microsoft.com][cla].
402
+
403
+ When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
404
+
405
+ This project has adopted the [Microsoft Open Source Code of Conduct][code_of_conduct]. For more information see the [Code of Conduct FAQ][coc_faq] or contact [opencode@microsoft.com][coc_contact] with any additional questions or comments.
406
+
407
+ <!-- LINKS -->
408
+
409
+ [source_code]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/evaluation/azure-ai-evaluation
410
+ [evaluation_pypi]: https://pypi.org/project/azure-ai-evaluation/
411
+ [evaluation_ref_docs]: https://learn.microsoft.com/python/api/azure-ai-evaluation/azure.ai.evaluation?view=azure-python-preview
412
+ [evaluation_samples]: https://github.com/Azure-Samples/azureai-samples/tree/main/scenarios
413
+ [product_documentation]: https://learn.microsoft.com/azure/ai-studio/how-to/develop/evaluate-sdk
414
+ [python_logging]: https://docs.python.org/3/library/logging.html
415
+ [sdk_logging_docs]: https://docs.microsoft.com/azure/developer/python/azure-sdk-logging
416
+ [azure_core_readme]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md
417
+ [pip_link]: https://pypi.org/project/pip/
418
+ [azure_core_ref_docs]: https://aka.ms/azsdk-python-core-policies
419
+ [azure_core]: https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/core/azure-core/README.md
420
+ [azure_identity]: https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/identity/azure-identity
421
+ [cla]: https://cla.microsoft.com
422
+ [code_of_conduct]: https://opensource.microsoft.com/codeofconduct/
423
+ [coc_faq]: https://opensource.microsoft.com/codeofconduct/faq/
424
+ [coc_contact]: mailto:opencode@microsoft.com
425
+
360
426
 
361
427
  # Release History
362
428
 
429
+ ## 1.0.0b3 (2024-10-01)
430
+
431
+ ### Features Added
432
+
433
+ - Added `type` field to `AzureOpenAIModelConfiguration` and `OpenAIModelConfiguration`
434
+ - The following evaluators now support `conversation` as an alternative input to their usual single-turn inputs:
435
+ - `ViolenceEvaluator`
436
+ - `SexualEvaluator`
437
+ - `SelfHarmEvaluator`
438
+ - `HateUnfairnessEvaluator`
439
+ - `ProtectedMaterialEvaluator`
440
+ - `IndirectAttackEvaluator`
441
+ - `CoherenceEvaluator`
442
+ - `RelevanceEvaluator`
443
+ - `FluencyEvaluator`
444
+ - `GroundednessEvaluator`
445
+ - Surfaced `RetrievalScoreEvaluator`, formally an internal part of `ChatEvaluator` as a standalone conversation-only evaluator.
446
+
447
+ ### Breaking Changes
448
+
449
+ - Removed `ContentSafetyChatEvaluator` and `ChatEvaluator`
450
+ - The `evaluator_config` parameter of `evaluate` now maps in evaluator name to a dictionary `EvaluatorConfig`, which is a `TypedDict`. The
451
+ `column_mapping` between `data` or `target` and evaluator field names should now be specified inside this new dictionary:
452
+
453
+ Before:
454
+ ```python
455
+ evaluate(
456
+ ...,
457
+ evaluator_config={
458
+ "hate_unfairness": {
459
+ "query": "${data.question}",
460
+ "response": "${data.answer}",
461
+ }
462
+ },
463
+ ...
464
+ )
465
+ ```
466
+
467
+ After
468
+ ```python
469
+ evaluate(
470
+ ...,
471
+ evaluator_config={
472
+ "hate_unfairness": {
473
+ "column_mapping": {
474
+ "query": "${data.question}",
475
+ "response": "${data.answer}",
476
+ }
477
+ }
478
+ },
479
+ ...
480
+ )
481
+ ```
482
+
483
+ ### Bugs Fixed
484
+
485
+ - Fixed issue where Entra ID authentication was not working with `AzureOpenAIModelConfiguration`
486
+
487
+ ## 1.0.0b2 (2024-09-24)
488
+
489
+ ### Breaking Changes
490
+
491
+ - `data` and `evaluators` are now required keywords in `evaluate`.
492
+
363
493
  ## 1.0.0b1 (2024-09-20)
364
494
 
365
495
  ### Breaking Changes
@@ -0,0 +1,98 @@
1
+ azure/ai/evaluation/__init__.py,sha256=AW8HyrHG5L1NT-0-vzu14o9Em8-ZiKXokPlIAvgF9lI,1977
2
+ azure/ai/evaluation/_constants.py,sha256=RWerL5-uO8xmgZmdyon5TYH2_xPM_31cZqXs7qk28Ms,1743
3
+ azure/ai/evaluation/_exceptions.py,sha256=CH4Waotlr519uHirau38NFExv5cG5JgrjPxjTAHWPGU,4131
4
+ azure/ai/evaluation/_http_utils.py,sha256=kpAuxuoC6ZK-ZHw6qScOC8ePJQXLwf7SJWP5S4OWwUs,13983
5
+ azure/ai/evaluation/_model_configurations.py,sha256=9yiXXCFw8DiCHB0Rjg6NEHZNSK8AYCfpRdRp_rwd5DU,1869
6
+ azure/ai/evaluation/_user_agent.py,sha256=O2y-QPBAcw7w7qQ6M2aRPC3Vy3TKd789u5lcs2yuFaI,290
7
+ azure/ai/evaluation/_version.py,sha256=O5t2mfbIREHTFuOmpAqCrJ00-kGQ4SRcFh42DDRu2Ac,201
8
+ azure/ai/evaluation/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ azure/ai/evaluation/_common/__init__.py,sha256=LHTkf6dMLLxikrGNgbUuREBVQcs4ORHR6Eryo4bm9M8,586
10
+ azure/ai/evaluation/_common/constants.py,sha256=ZKHGVgGA1Fc6Pvo22X-CeOUX6-m0q_UwpOKOWATTSuI,1639
11
+ azure/ai/evaluation/_common/rai_service.py,sha256=R-1jtWi4Fu4IT4v0j0hKsWyN-D5nwH5HQr1x0AtCp8Q,17539
12
+ azure/ai/evaluation/_common/utils.py,sha256=IKCAxHbGcmi5rH6qFZOB76vInXS8A7Oa7dYC56K0BWY,3494
13
+ azure/ai/evaluation/_evaluate/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
14
+ azure/ai/evaluation/_evaluate/_eval_run.py,sha256=EVCSRjIwOkXfYlIBTv7hosyUqcMTmVqGQ44yvHmm2Eg,20943
15
+ azure/ai/evaluation/_evaluate/_evaluate.py,sha256=XoGXpzO8Z_hYwpPw9amjYarrKqtvNtLB4xLdtE8mmuI,30324
16
+ azure/ai/evaluation/_evaluate/_utils.py,sha256=9I29KAFsYJCp6frlLXb5vwZJzmiNzfzku9CD1eslaHU,9880
17
+ azure/ai/evaluation/_evaluate/_batch_run_client/__init__.py,sha256=BkxhojWca3e2QM3hFwO2xrLiiQ0i-3f8wsMfOx1zchs,361
18
+ azure/ai/evaluation/_evaluate/_batch_run_client/batch_run_context.py,sha256=sn7k9nM7vVZDt5CgNwwQrvQwV--SwfsfLjfjahk23DM,2984
19
+ azure/ai/evaluation/_evaluate/_batch_run_client/code_client.py,sha256=zuACg8pNe4d5lckhghjkDA8Hk4WQ9ih3W2AJ-M3hVGk,7890
20
+ azure/ai/evaluation/_evaluate/_batch_run_client/proxy_client.py,sha256=WDmtnRmIlBmJASxRlX9vAT4CpgZszv7juyfJrj892vo,2598
21
+ azure/ai/evaluation/_evaluate/_telemetry/__init__.py,sha256=6kkbiTCsz7BNV5WxOdwCBv96u7c0k0bk84m9vQ0mHXY,6627
22
+ azure/ai/evaluation/_evaluators/__init__.py,sha256=Yx1Iq2GNKQ5lYxTotvPwkPL4u0cm6YVxUe-iVbu1clI,180
23
+ azure/ai/evaluation/_evaluators/_bleu/__init__.py,sha256=quKKO0kvOSkky5hcoNBvgBuMeeVRFCE9GSv70mAdGP4,260
24
+ azure/ai/evaluation/_evaluators/_bleu/_bleu.py,sha256=6EJCG9DnL2Y4pU_vhY4o3UOrumvI-6HI92tzEuCoyXk,2413
25
+ azure/ai/evaluation/_evaluators/_coherence/__init__.py,sha256=GRqcSCQse02Spyki0UsRNWMIXiea2lLtPPXNGvkJzQ0,258
26
+ azure/ai/evaluation/_evaluators/_coherence/_coherence.py,sha256=ydYo03-XlJDaX6YD432xMfutU8r41ovf1MW7vVuWPw4,2512
27
+ azure/ai/evaluation/_evaluators/_coherence/coherence.prompty,sha256=_GXYhAH04tsl2qntZH5ACx7gFNfUeQ0hZQpOmDoLPNc,2549
28
+ azure/ai/evaluation/_evaluators/_common/__init__.py,sha256=_hPqTkAla_O6s4ebVtTaBrVLEW3KSdDz66WwxjK50cI,423
29
+ azure/ai/evaluation/_evaluators/_common/_base_eval.py,sha256=Ai3jN-HRzNsG2V48pMR9TmK3owT-6YJxKi9gzMloZNE,14072
30
+ azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py,sha256=bPePVS7-5gvzEtpKxlDBamxNwetBJTqf5nCMt6Wu7ao,3050
31
+ azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py,sha256=O_klXEBsmYJyyqoIGN5gRg0udnvTKtaouQmEeMGpOgM,4331
32
+ azure/ai/evaluation/_evaluators/_content_safety/__init__.py,sha256=PEYMIybfP64f7byhuTaiq4RiqsYbjqejpW1JsJIG1jA,556
33
+ azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py,sha256=uM6BL9jwtv5nJpSchezTYc-E514_VCTN2pACy7oxHuU,3928
34
+ azure/ai/evaluation/_evaluators/_content_safety/_content_safety_chat.py,sha256=n5fdL0TPelJY_AuiamkLO7Jiv7P-7gIZqipo5ShyoR8,11958
35
+ azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py,sha256=YIQLFj6P7WXAyRRHVOflikUePN5sMCanJQmnIpSDeY0,1856
36
+ azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py,sha256=BFRNVDehDe7Qgnt3k1zRzscFQmn_miuHaSpjOytFhds,1810
37
+ azure/ai/evaluation/_evaluators/_content_safety/_sexual.py,sha256=Ap4EvHDPF8YjJ_esKEK83yusSR_xYhJWn6HIn1mkwW0,1788
38
+ azure/ai/evaluation/_evaluators/_content_safety/_violence.py,sha256=HbLsZOqLopr0beDeHW85EmqSMFcTCZIYGUYvxUq_-gM,1804
39
+ azure/ai/evaluation/_evaluators/_eci/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ azure/ai/evaluation/_evaluators/_eci/_eci.py,sha256=EPy_A4BtqHm_10kHApi9xZ2eHYU5CjVGtkfG4zUMRhs,2411
41
+ azure/ai/evaluation/_evaluators/_f1_score/__init__.py,sha256=aEVbO7iMoF20obdpLQKcKm69Yyu3mYnblKELLqu8OGI,260
42
+ azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py,sha256=Cgp-hANXtrNfe1q6SVm-CUG3UEP8Gj1pvH293ay57OI,4554
43
+ azure/ai/evaluation/_evaluators/_fluency/__init__.py,sha256=EEJw39xRa0bOAA1rELTTKXQu2s60n_7CZQRD0Gu2QVw,259
44
+ azure/ai/evaluation/_evaluators/_fluency/_fluency.py,sha256=k7lq7qRoiI2SaHPqLhW-Frm_STRK-hFHsbAFOejAU7s,2459
45
+ azure/ai/evaluation/_evaluators/_fluency/fluency.prompty,sha256=xdznyssZDQiLELv4ecC-8uUJ4ssM-iij7A6S1aDsxOQ,2403
46
+ azure/ai/evaluation/_evaluators/_gleu/__init__.py,sha256=Ae2EvQ7gqiYAoNO3LwGIhdAAjJPJDfT85rQGKrRrmbA,260
47
+ azure/ai/evaluation/_evaluators/_gleu/_gleu.py,sha256=m02wmIGjdoXjp9dwjnFQAKA8hGOUOTvpppDf2CD4QQo,2326
48
+ azure/ai/evaluation/_evaluators/_groundedness/__init__.py,sha256=UYNJUeRvBwcSVFyZpdsf29un5eyaDzYoo3QvC1gvlLg,274
49
+ azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py,sha256=FREk-1w_K6oF74eiNii5EdRS4uK_NUxW0dLd5Kzgj6c,2682
50
+ azure/ai/evaluation/_evaluators/_groundedness/groundedness.prompty,sha256=ylgxKa_xipb7wN_QwxSnjrD9AhKcJQCv8pPpWPwFfGg,3023
51
+ azure/ai/evaluation/_evaluators/_meteor/__init__.py,sha256=209na3pPsdmcuYpYHUYtqQybCpc3yZkc93HnRdicSlI,266
52
+ azure/ai/evaluation/_evaluators/_meteor/_meteor.py,sha256=K3EdRuRcuEZYVIlI2jMEp0O9KJYXQB2o6h08q43oKWY,3316
53
+ azure/ai/evaluation/_evaluators/_protected_material/__init__.py,sha256=eRAQIU9diVXfO5bp6aLWxZoYUvOsrDIfy1gnDOeNTiI,109
54
+ azure/ai/evaluation/_evaluators/_protected_material/_protected_material.py,sha256=KT8AMLL9nGvI_KVwpUAcZJcPqPN_QNyQMkkmIhmexNE,2117
55
+ azure/ai/evaluation/_evaluators/_qa/__init__.py,sha256=bcXfT--C0hjym2haqd1B2-u9bDciyM0ThOFtU1Q69sk,244
56
+ azure/ai/evaluation/_evaluators/_qa/_qa.py,sha256=w9XJOfDof78mfOpc7tbPF5wec9dGPFmXXAdR5yx2buI,3502
57
+ azure/ai/evaluation/_evaluators/_relevance/__init__.py,sha256=JlxytW32Nl8pbE-fI3GRpfgVuY9EG6zxIAn5VZGSwyc,265
58
+ azure/ai/evaluation/_evaluators/_relevance/_relevance.py,sha256=tHBHzp2wz3szgfA24HQgphP4mF5iJfg-lw6bVqgqkpY,2934
59
+ azure/ai/evaluation/_evaluators/_relevance/relevance.prompty,sha256=QNWlrWxObUPlXFF1hdCDVpfXuw0QDOxHUtWLj1MwrxA,3559
60
+ azure/ai/evaluation/_evaluators/_retrieval/__init__.py,sha256=kMu47ZyTZ7f-4Yh6H3KHxswmxitmPJ8FPSk90qgR0XI,265
61
+ azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py,sha256=u6OqyZ62JpHmYatepRW5aRbtwu1sZByVSCDj_CRZSj8,5160
62
+ azure/ai/evaluation/_evaluators/_retrieval/retrieval.prompty,sha256=HbQu5Gy9Ghw9r8vGCF-4ui441JBD8w45NOU_9ehamd0,1585
63
+ azure/ai/evaluation/_evaluators/_rouge/__init__.py,sha256=kusCDaYcXogDugGefRP8MQSn9xv107oDbrMCqZ6K4GA,291
64
+ azure/ai/evaluation/_evaluators/_rouge/_rouge.py,sha256=28vqjjleeJR5VRsQP5VCCMX_PVUUVxkgh4c3xIvwmXE,3526
65
+ azure/ai/evaluation/_evaluators/_similarity/__init__.py,sha256=V2Mspog99_WBltxTkRHG5NpN5s9XoiTSN4I8POWEkLA,268
66
+ azure/ai/evaluation/_evaluators/_similarity/_similarity.py,sha256=m4Ub7EcGMHotcOll_WIEYrvUWV1hMjF6K1VGthkEoqk,3883
67
+ azure/ai/evaluation/_evaluators/_similarity/similarity.prompty,sha256=eoludASychZoGL625bFCaZai-OY7DIAg90ZLax_o4XE,4594
68
+ azure/ai/evaluation/_evaluators/_xpia/__init__.py,sha256=VMEL8WrpJQeh4sQiOLzP7hRFPnjzsvwfvTzaGCVJPCM,88
69
+ azure/ai/evaluation/_evaluators/_xpia/xpia.py,sha256=Mg0nhT00VPgfBqp0Pu-7C4Unf6MEu8yNMFW-Wu7RTXw,2556
70
+ azure/ai/evaluation/simulator/__init__.py,sha256=UtlcXo3SteIQEW_hW2WMhtqLNiDiIGLeW_lIkEUNoMc,486
71
+ azure/ai/evaluation/simulator/_adversarial_scenario.py,sha256=SxpyMw5wmM5-fiUjl1_oJH0GQEnsa7ASso10MAr2Hjw,1030
72
+ azure/ai/evaluation/simulator/_adversarial_simulator.py,sha256=kOL31FcD7vXTpkeFUooASXNaFTe9Vme5st_i0Qa_9sA,20542
73
+ azure/ai/evaluation/simulator/_constants.py,sha256=xM-Or2x7RytfoeBM3N7Vt4JQDJX66UdL3CPz0YN5rvE,485
74
+ azure/ai/evaluation/simulator/_direct_attack_simulator.py,sha256=zFYYdk8Sdg4-_HSd_rumM0LizPevcR57HjqvEdowv8c,11691
75
+ azure/ai/evaluation/simulator/_indirect_attack_simulator.py,sha256=qALFN3LG5o1kSjMjdlLeJInax8GcjD1iPUZCayJp0Kc,9628
76
+ azure/ai/evaluation/simulator/_simulator.py,sha256=V9xNOwDRTlK9Xf1SyRK4yv8j3pTFd_4D79BYanePoDw,32187
77
+ azure/ai/evaluation/simulator/_tracing.py,sha256=LRPjsVLe9VohmXowFr9aCK_VwD0MHd1CBe8rl9jGQhU,3032
78
+ azure/ai/evaluation/simulator/_utils.py,sha256=aXH5GdzQrwluKvYofWtdT0s_nzgVHS2hP6x4rc5zt-E,4287
79
+ azure/ai/evaluation/simulator/_conversation/__init__.py,sha256=MNfFW4UDsVrk1p2ysIvmYlLzHqjKfxExktQXfSRiBPk,12774
80
+ azure/ai/evaluation/simulator/_conversation/_conversation.py,sha256=ajJeFlHv4APXOinMYMzDYqKbDLtAdu4fE9FvP1gt2XA,7300
81
+ azure/ai/evaluation/simulator/_conversation/constants.py,sha256=3v7zkjPwJAPbSpJYIK6VOZZy70bJXMo_QTVqSFGlq9A,984
82
+ azure/ai/evaluation/simulator/_helpers/__init__.py,sha256=YTwBf9B_uWGZSbS5vDBde4UpFszxzi3hSlcPtZ4Slcg,259
83
+ azure/ai/evaluation/simulator/_helpers/_experimental.py,sha256=xHOiIoe6SBX0OkkuDNZ_hkMZBwq5fEXUPQvlu8jMH28,5277
84
+ azure/ai/evaluation/simulator/_helpers/_language_suffix_mapping.py,sha256=7BBLH78b7YDelHDLbAIwf-IO9s9cAEtn-RRXmNReHdc,1017
85
+ azure/ai/evaluation/simulator/_helpers/_simulator_data_classes.py,sha256=Cc2ceVVyGXXfreQbes1x8XNNd5KZYoDS9eJ5EbgpAXE,2157
86
+ azure/ai/evaluation/simulator/_model_tools/__init__.py,sha256=aMv5apb7uVjuhMF9ohhA5kQmo652hrGIJlhdl3y2R1I,835
87
+ azure/ai/evaluation/simulator/_model_tools/_identity_manager.py,sha256=qhYmG2r4IAKDePtf9DdqgvNGYlc0xjH4x5sShGxS-lA,5070
88
+ azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py,sha256=bwTV6cz01uOFl_BrYlgBfl63tdwzve8wGTbs8mJgaeY,8396
89
+ azure/ai/evaluation/simulator/_model_tools/_rai_client.py,sha256=Bi0tLNlJmz295mdoVaE9_6a_UJVRmCH5uAmxjslS_eQ,7037
90
+ azure/ai/evaluation/simulator/_model_tools/_template_handler.py,sha256=gGSMvveKWn0LKSQ4FS5AxIwcsxj6iqCbUP53yjvndPw,5471
91
+ azure/ai/evaluation/simulator/_model_tools/models.py,sha256=11O6jcj3Zwo4FZvmF-X0walNp22ux1k3ghi3KFtbdy0,21762
92
+ azure/ai/evaluation/simulator/_prompty/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
+ azure/ai/evaluation/simulator/_prompty/task_query_response.prompty,sha256=wUiDKFL_vnAk3eEW66z33UgNML8Wqd_ReCzqfEBMId8,2350
94
+ azure/ai/evaluation/simulator/_prompty/task_simulate.prompty,sha256=00zLVfNgHZdlbC2XvBedSrwDJOaAhl3B1ohE3LKsGg4,928
95
+ azure_ai_evaluation-1.0.0b3.dist-info/METADATA,sha256=2jKCZxNNYmFeTFJo87_qO32_nAE9ur1YwSSwnn2Mi9I,17077
96
+ azure_ai_evaluation-1.0.0b3.dist-info/WHEEL,sha256=HiCZjzuy6Dw0hdX5R3LCFPDmFS4BWl8H-8W39XfmgX4,91
97
+ azure_ai_evaluation-1.0.0b3.dist-info/top_level.txt,sha256=S7DhWV9m80TBzAhOFjxDUiNbKszzoThbnrSz5MpbHSQ,6
98
+ azure_ai_evaluation-1.0.0b3.dist-info/RECORD,,