azure-ai-evaluation 1.0.0b2__py3-none-any.whl → 1.13.3__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.
- azure/ai/evaluation/__init__.py +100 -5
- azure/ai/evaluation/{_evaluators/_chat → _aoai}/__init__.py +3 -2
- azure/ai/evaluation/_aoai/aoai_grader.py +140 -0
- azure/ai/evaluation/_aoai/label_grader.py +68 -0
- azure/ai/evaluation/_aoai/python_grader.py +86 -0
- azure/ai/evaluation/_aoai/score_model_grader.py +94 -0
- azure/ai/evaluation/_aoai/string_check_grader.py +66 -0
- azure/ai/evaluation/_aoai/text_similarity_grader.py +80 -0
- azure/ai/evaluation/_azure/__init__.py +3 -0
- azure/ai/evaluation/_azure/_clients.py +204 -0
- azure/ai/evaluation/_azure/_envs.py +207 -0
- azure/ai/evaluation/_azure/_models.py +227 -0
- azure/ai/evaluation/_azure/_token_manager.py +129 -0
- azure/ai/evaluation/_common/__init__.py +9 -1
- azure/ai/evaluation/{simulator/_helpers → _common}/_experimental.py +24 -9
- azure/ai/evaluation/_common/constants.py +131 -2
- azure/ai/evaluation/_common/evaluation_onedp_client.py +169 -0
- azure/ai/evaluation/_common/math.py +89 -0
- azure/ai/evaluation/_common/onedp/__init__.py +32 -0
- azure/ai/evaluation/_common/onedp/_client.py +166 -0
- azure/ai/evaluation/_common/onedp/_configuration.py +72 -0
- azure/ai/evaluation/_common/onedp/_model_base.py +1232 -0
- azure/ai/evaluation/_common/onedp/_patch.py +21 -0
- azure/ai/evaluation/_common/onedp/_serialization.py +2032 -0
- azure/ai/evaluation/_common/onedp/_types.py +21 -0
- azure/ai/evaluation/_common/onedp/_utils/__init__.py +6 -0
- azure/ai/evaluation/_common/onedp/_utils/model_base.py +1232 -0
- azure/ai/evaluation/_common/onedp/_utils/serialization.py +2032 -0
- azure/ai/evaluation/_common/onedp/_validation.py +66 -0
- azure/ai/evaluation/_common/onedp/_vendor.py +50 -0
- azure/ai/evaluation/_common/onedp/_version.py +9 -0
- azure/ai/evaluation/_common/onedp/aio/__init__.py +29 -0
- azure/ai/evaluation/_common/onedp/aio/_client.py +168 -0
- azure/ai/evaluation/_common/onedp/aio/_configuration.py +72 -0
- azure/ai/evaluation/_common/onedp/aio/_patch.py +21 -0
- azure/ai/evaluation/_common/onedp/aio/operations/__init__.py +49 -0
- azure/ai/evaluation/_common/onedp/aio/operations/_operations.py +7143 -0
- azure/ai/evaluation/_common/onedp/aio/operations/_patch.py +21 -0
- azure/ai/evaluation/_common/onedp/models/__init__.py +358 -0
- azure/ai/evaluation/_common/onedp/models/_enums.py +447 -0
- azure/ai/evaluation/_common/onedp/models/_models.py +5963 -0
- azure/ai/evaluation/_common/onedp/models/_patch.py +21 -0
- azure/ai/evaluation/_common/onedp/operations/__init__.py +49 -0
- azure/ai/evaluation/_common/onedp/operations/_operations.py +8951 -0
- azure/ai/evaluation/_common/onedp/operations/_patch.py +21 -0
- azure/ai/evaluation/_common/onedp/py.typed +1 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/__init__.py +1 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/aio/__init__.py +1 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/aio/operations/__init__.py +25 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/aio/operations/_operations.py +34 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/aio/operations/_patch.py +20 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/__init__.py +1 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/aio/__init__.py +1 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/aio/operations/__init__.py +22 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/aio/operations/_operations.py +29 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/aio/operations/_patch.py +20 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/operations/__init__.py +22 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/operations/_operations.py +29 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/buildingblocks/operations/_patch.py +20 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/operations/__init__.py +25 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/operations/_operations.py +34 -0
- azure/ai/evaluation/_common/onedp/servicepatterns/operations/_patch.py +20 -0
- azure/ai/evaluation/_common/rai_service.py +831 -142
- azure/ai/evaluation/_common/raiclient/__init__.py +34 -0
- azure/ai/evaluation/_common/raiclient/_client.py +128 -0
- azure/ai/evaluation/_common/raiclient/_configuration.py +87 -0
- azure/ai/evaluation/_common/raiclient/_model_base.py +1235 -0
- azure/ai/evaluation/_common/raiclient/_patch.py +20 -0
- azure/ai/evaluation/_common/raiclient/_serialization.py +2050 -0
- azure/ai/evaluation/_common/raiclient/_version.py +9 -0
- azure/ai/evaluation/_common/raiclient/aio/__init__.py +29 -0
- azure/ai/evaluation/_common/raiclient/aio/_client.py +130 -0
- azure/ai/evaluation/_common/raiclient/aio/_configuration.py +87 -0
- azure/ai/evaluation/_common/raiclient/aio/_patch.py +20 -0
- azure/ai/evaluation/_common/raiclient/aio/operations/__init__.py +25 -0
- azure/ai/evaluation/_common/raiclient/aio/operations/_operations.py +981 -0
- azure/ai/evaluation/_common/raiclient/aio/operations/_patch.py +20 -0
- azure/ai/evaluation/_common/raiclient/models/__init__.py +60 -0
- azure/ai/evaluation/_common/raiclient/models/_enums.py +18 -0
- azure/ai/evaluation/_common/raiclient/models/_models.py +651 -0
- azure/ai/evaluation/_common/raiclient/models/_patch.py +20 -0
- azure/ai/evaluation/_common/raiclient/operations/__init__.py +25 -0
- azure/ai/evaluation/_common/raiclient/operations/_operations.py +1238 -0
- azure/ai/evaluation/_common/raiclient/operations/_patch.py +20 -0
- azure/ai/evaluation/_common/raiclient/py.typed +1 -0
- azure/ai/evaluation/_common/utils.py +870 -34
- azure/ai/evaluation/_constants.py +167 -6
- azure/ai/evaluation/_converters/__init__.py +3 -0
- azure/ai/evaluation/_converters/_ai_services.py +899 -0
- azure/ai/evaluation/_converters/_models.py +467 -0
- azure/ai/evaluation/_converters/_sk_services.py +495 -0
- azure/ai/evaluation/_eval_mapping.py +83 -0
- azure/ai/evaluation/_evaluate/_batch_run/__init__.py +17 -0
- azure/ai/evaluation/_evaluate/_batch_run/_run_submitter_client.py +176 -0
- azure/ai/evaluation/_evaluate/_batch_run/batch_clients.py +82 -0
- azure/ai/evaluation/_evaluate/{_batch_run_client → _batch_run}/code_client.py +47 -25
- azure/ai/evaluation/_evaluate/{_batch_run_client/batch_run_context.py → _batch_run/eval_run_context.py} +42 -13
- azure/ai/evaluation/_evaluate/_batch_run/proxy_client.py +124 -0
- azure/ai/evaluation/_evaluate/_batch_run/target_run_context.py +62 -0
- azure/ai/evaluation/_evaluate/_eval_run.py +102 -59
- azure/ai/evaluation/_evaluate/_evaluate.py +2134 -311
- azure/ai/evaluation/_evaluate/_evaluate_aoai.py +992 -0
- azure/ai/evaluation/_evaluate/_telemetry/__init__.py +14 -99
- azure/ai/evaluation/_evaluate/_utils.py +289 -40
- azure/ai/evaluation/_evaluator_definition.py +76 -0
- azure/ai/evaluation/_evaluators/_bleu/_bleu.py +93 -42
- azure/ai/evaluation/_evaluators/_code_vulnerability/__init__.py +5 -0
- azure/ai/evaluation/_evaluators/_code_vulnerability/_code_vulnerability.py +119 -0
- azure/ai/evaluation/_evaluators/_coherence/_coherence.py +117 -91
- azure/ai/evaluation/_evaluators/_coherence/coherence.prompty +76 -39
- azure/ai/evaluation/_evaluators/_common/__init__.py +15 -0
- azure/ai/evaluation/_evaluators/_common/_base_eval.py +742 -0
- azure/ai/evaluation/_evaluators/_common/_base_multi_eval.py +63 -0
- azure/ai/evaluation/_evaluators/_common/_base_prompty_eval.py +345 -0
- azure/ai/evaluation/_evaluators/_common/_base_rai_svc_eval.py +198 -0
- azure/ai/evaluation/_evaluators/_common/_conversation_aggregators.py +49 -0
- azure/ai/evaluation/_evaluators/_content_safety/__init__.py +0 -4
- azure/ai/evaluation/_evaluators/_content_safety/_content_safety.py +144 -86
- azure/ai/evaluation/_evaluators/_content_safety/_hate_unfairness.py +138 -57
- azure/ai/evaluation/_evaluators/_content_safety/_self_harm.py +123 -55
- azure/ai/evaluation/_evaluators/_content_safety/_sexual.py +133 -54
- azure/ai/evaluation/_evaluators/_content_safety/_violence.py +134 -54
- azure/ai/evaluation/_evaluators/_document_retrieval/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_document_retrieval/_document_retrieval.py +442 -0
- azure/ai/evaluation/_evaluators/_eci/_eci.py +49 -56
- azure/ai/evaluation/_evaluators/_f1_score/_f1_score.py +102 -60
- azure/ai/evaluation/_evaluators/_fluency/_fluency.py +115 -92
- azure/ai/evaluation/_evaluators/_fluency/fluency.prompty +66 -41
- azure/ai/evaluation/_evaluators/_gleu/_gleu.py +90 -37
- azure/ai/evaluation/_evaluators/_groundedness/_groundedness.py +318 -82
- azure/ai/evaluation/_evaluators/_groundedness/groundedness_with_query.prompty +114 -0
- azure/ai/evaluation/_evaluators/_groundedness/groundedness_without_query.prompty +104 -0
- azure/ai/evaluation/{_evaluate/_batch_run_client → _evaluators/_intent_resolution}/__init__.py +3 -4
- azure/ai/evaluation/_evaluators/_intent_resolution/_intent_resolution.py +196 -0
- azure/ai/evaluation/_evaluators/_intent_resolution/intent_resolution.prompty +275 -0
- azure/ai/evaluation/_evaluators/_meteor/_meteor.py +107 -61
- azure/ai/evaluation/_evaluators/_protected_material/_protected_material.py +104 -77
- azure/ai/evaluation/_evaluators/_qa/_qa.py +115 -63
- azure/ai/evaluation/_evaluators/_relevance/_relevance.py +182 -98
- azure/ai/evaluation/_evaluators/_relevance/relevance.prompty +178 -49
- azure/ai/evaluation/_evaluators/_response_completeness/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_response_completeness/_response_completeness.py +202 -0
- azure/ai/evaluation/_evaluators/_response_completeness/response_completeness.prompty +84 -0
- azure/ai/evaluation/_evaluators/{_chat/retrieval → _retrieval}/__init__.py +2 -2
- azure/ai/evaluation/_evaluators/_retrieval/_retrieval.py +148 -0
- azure/ai/evaluation/_evaluators/_retrieval/retrieval.prompty +93 -0
- azure/ai/evaluation/_evaluators/_rouge/_rouge.py +189 -50
- azure/ai/evaluation/_evaluators/_service_groundedness/__init__.py +9 -0
- azure/ai/evaluation/_evaluators/_service_groundedness/_service_groundedness.py +179 -0
- azure/ai/evaluation/_evaluators/_similarity/_similarity.py +102 -91
- azure/ai/evaluation/_evaluators/_similarity/similarity.prompty +0 -5
- azure/ai/evaluation/_evaluators/_task_adherence/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_task_adherence/_task_adherence.py +226 -0
- azure/ai/evaluation/_evaluators/_task_adherence/task_adherence.prompty +101 -0
- azure/ai/evaluation/_evaluators/_task_completion/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_task_completion/_task_completion.py +177 -0
- azure/ai/evaluation/_evaluators/_task_completion/task_completion.prompty +220 -0
- azure/ai/evaluation/_evaluators/_task_navigation_efficiency/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_task_navigation_efficiency/_task_navigation_efficiency.py +384 -0
- azure/ai/evaluation/_evaluators/_tool_call_accuracy/__init__.py +9 -0
- azure/ai/evaluation/_evaluators/_tool_call_accuracy/_tool_call_accuracy.py +298 -0
- azure/ai/evaluation/_evaluators/_tool_call_accuracy/tool_call_accuracy.prompty +166 -0
- azure/ai/evaluation/_evaluators/_tool_input_accuracy/__init__.py +9 -0
- azure/ai/evaluation/_evaluators/_tool_input_accuracy/_tool_input_accuracy.py +263 -0
- azure/ai/evaluation/_evaluators/_tool_input_accuracy/tool_input_accuracy.prompty +76 -0
- azure/ai/evaluation/_evaluators/_tool_output_utilization/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_tool_output_utilization/_tool_output_utilization.py +225 -0
- azure/ai/evaluation/_evaluators/_tool_output_utilization/tool_output_utilization.prompty +221 -0
- azure/ai/evaluation/_evaluators/_tool_selection/__init__.py +9 -0
- azure/ai/evaluation/_evaluators/_tool_selection/_tool_selection.py +266 -0
- azure/ai/evaluation/_evaluators/_tool_selection/tool_selection.prompty +104 -0
- azure/ai/evaluation/_evaluators/_tool_success/__init__.py +7 -0
- azure/ai/evaluation/_evaluators/_tool_success/_tool_success.py +301 -0
- azure/ai/evaluation/_evaluators/_tool_success/tool_success.prompty +321 -0
- azure/ai/evaluation/_evaluators/_ungrounded_attributes/__init__.py +5 -0
- azure/ai/evaluation/_evaluators/_ungrounded_attributes/_ungrounded_attributes.py +102 -0
- azure/ai/evaluation/_evaluators/_xpia/xpia.py +109 -107
- azure/ai/evaluation/_exceptions.py +51 -7
- azure/ai/evaluation/_http_utils.py +210 -137
- azure/ai/evaluation/_legacy/__init__.py +3 -0
- azure/ai/evaluation/_legacy/_adapters/__init__.py +7 -0
- azure/ai/evaluation/_legacy/_adapters/_check.py +17 -0
- azure/ai/evaluation/_legacy/_adapters/_configuration.py +45 -0
- azure/ai/evaluation/_legacy/_adapters/_constants.py +10 -0
- azure/ai/evaluation/_legacy/_adapters/_errors.py +29 -0
- azure/ai/evaluation/_legacy/_adapters/_flows.py +28 -0
- azure/ai/evaluation/_legacy/_adapters/_service.py +16 -0
- azure/ai/evaluation/_legacy/_adapters/client.py +51 -0
- azure/ai/evaluation/_legacy/_adapters/entities.py +26 -0
- azure/ai/evaluation/_legacy/_adapters/tracing.py +28 -0
- azure/ai/evaluation/_legacy/_adapters/types.py +15 -0
- azure/ai/evaluation/_legacy/_adapters/utils.py +31 -0
- azure/ai/evaluation/_legacy/_batch_engine/__init__.py +9 -0
- azure/ai/evaluation/_legacy/_batch_engine/_config.py +48 -0
- azure/ai/evaluation/_legacy/_batch_engine/_engine.py +477 -0
- azure/ai/evaluation/_legacy/_batch_engine/_exceptions.py +88 -0
- azure/ai/evaluation/_legacy/_batch_engine/_openai_injector.py +132 -0
- azure/ai/evaluation/_legacy/_batch_engine/_result.py +107 -0
- azure/ai/evaluation/_legacy/_batch_engine/_run.py +127 -0
- azure/ai/evaluation/_legacy/_batch_engine/_run_storage.py +128 -0
- azure/ai/evaluation/_legacy/_batch_engine/_run_submitter.py +262 -0
- azure/ai/evaluation/_legacy/_batch_engine/_status.py +25 -0
- azure/ai/evaluation/_legacy/_batch_engine/_trace.py +97 -0
- azure/ai/evaluation/_legacy/_batch_engine/_utils.py +97 -0
- azure/ai/evaluation/_legacy/_batch_engine/_utils_deprecated.py +131 -0
- azure/ai/evaluation/_legacy/_common/__init__.py +3 -0
- azure/ai/evaluation/_legacy/_common/_async_token_provider.py +117 -0
- azure/ai/evaluation/_legacy/_common/_logging.py +292 -0
- azure/ai/evaluation/_legacy/_common/_thread_pool_executor_with_context.py +17 -0
- azure/ai/evaluation/_legacy/prompty/__init__.py +36 -0
- azure/ai/evaluation/_legacy/prompty/_connection.py +119 -0
- azure/ai/evaluation/_legacy/prompty/_exceptions.py +139 -0
- azure/ai/evaluation/_legacy/prompty/_prompty.py +430 -0
- azure/ai/evaluation/_legacy/prompty/_utils.py +663 -0
- azure/ai/evaluation/_legacy/prompty/_yaml_utils.py +99 -0
- azure/ai/evaluation/_model_configurations.py +130 -8
- azure/ai/evaluation/_safety_evaluation/__init__.py +3 -0
- azure/ai/evaluation/_safety_evaluation/_generated_rai_client.py +0 -0
- azure/ai/evaluation/_safety_evaluation/_safety_evaluation.py +917 -0
- azure/ai/evaluation/_user_agent.py +32 -1
- azure/ai/evaluation/_vendor/__init__.py +3 -0
- azure/ai/evaluation/_vendor/rouge_score/__init__.py +14 -0
- azure/ai/evaluation/_vendor/rouge_score/rouge_scorer.py +324 -0
- azure/ai/evaluation/_vendor/rouge_score/scoring.py +59 -0
- azure/ai/evaluation/_vendor/rouge_score/tokenize.py +59 -0
- azure/ai/evaluation/_vendor/rouge_score/tokenizers.py +53 -0
- azure/ai/evaluation/_version.py +2 -1
- azure/ai/evaluation/red_team/__init__.py +22 -0
- azure/ai/evaluation/red_team/_agent/__init__.py +3 -0
- azure/ai/evaluation/red_team/_agent/_agent_functions.py +261 -0
- azure/ai/evaluation/red_team/_agent/_agent_tools.py +461 -0
- azure/ai/evaluation/red_team/_agent/_agent_utils.py +89 -0
- azure/ai/evaluation/red_team/_agent/_semantic_kernel_plugin.py +228 -0
- azure/ai/evaluation/red_team/_attack_objective_generator.py +268 -0
- azure/ai/evaluation/red_team/_attack_strategy.py +49 -0
- azure/ai/evaluation/red_team/_callback_chat_target.py +115 -0
- azure/ai/evaluation/red_team/_default_converter.py +21 -0
- azure/ai/evaluation/red_team/_evaluation_processor.py +505 -0
- azure/ai/evaluation/red_team/_mlflow_integration.py +430 -0
- azure/ai/evaluation/red_team/_orchestrator_manager.py +803 -0
- azure/ai/evaluation/red_team/_red_team.py +1717 -0
- azure/ai/evaluation/red_team/_red_team_result.py +661 -0
- azure/ai/evaluation/red_team/_result_processor.py +1708 -0
- azure/ai/evaluation/red_team/_utils/__init__.py +37 -0
- azure/ai/evaluation/red_team/_utils/_rai_service_eval_chat_target.py +128 -0
- azure/ai/evaluation/red_team/_utils/_rai_service_target.py +601 -0
- azure/ai/evaluation/red_team/_utils/_rai_service_true_false_scorer.py +114 -0
- azure/ai/evaluation/red_team/_utils/constants.py +72 -0
- azure/ai/evaluation/red_team/_utils/exception_utils.py +345 -0
- azure/ai/evaluation/red_team/_utils/file_utils.py +266 -0
- azure/ai/evaluation/red_team/_utils/formatting_utils.py +365 -0
- azure/ai/evaluation/red_team/_utils/logging_utils.py +139 -0
- azure/ai/evaluation/red_team/_utils/metric_mapping.py +73 -0
- azure/ai/evaluation/red_team/_utils/objective_utils.py +46 -0
- azure/ai/evaluation/red_team/_utils/progress_utils.py +252 -0
- azure/ai/evaluation/red_team/_utils/retry_utils.py +218 -0
- azure/ai/evaluation/red_team/_utils/strategy_utils.py +218 -0
- azure/ai/evaluation/simulator/__init__.py +2 -1
- azure/ai/evaluation/simulator/_adversarial_scenario.py +26 -1
- azure/ai/evaluation/simulator/_adversarial_simulator.py +270 -144
- azure/ai/evaluation/simulator/_constants.py +12 -1
- azure/ai/evaluation/simulator/_conversation/__init__.py +151 -23
- azure/ai/evaluation/simulator/_conversation/_conversation.py +10 -6
- azure/ai/evaluation/simulator/_conversation/constants.py +1 -1
- azure/ai/evaluation/simulator/_data_sources/__init__.py +3 -0
- azure/ai/evaluation/simulator/_data_sources/grounding.json +1150 -0
- azure/ai/evaluation/simulator/_direct_attack_simulator.py +54 -75
- azure/ai/evaluation/simulator/_helpers/__init__.py +1 -2
- azure/ai/evaluation/simulator/_helpers/_language_suffix_mapping.py +1 -0
- azure/ai/evaluation/simulator/_helpers/_simulator_data_classes.py +26 -5
- azure/ai/evaluation/simulator/_indirect_attack_simulator.py +145 -104
- azure/ai/evaluation/simulator/_model_tools/__init__.py +2 -1
- azure/ai/evaluation/simulator/_model_tools/_generated_rai_client.py +225 -0
- azure/ai/evaluation/simulator/_model_tools/_identity_manager.py +80 -30
- azure/ai/evaluation/simulator/_model_tools/_proxy_completion_model.py +117 -45
- azure/ai/evaluation/simulator/_model_tools/_rai_client.py +109 -7
- azure/ai/evaluation/simulator/_model_tools/_template_handler.py +97 -33
- azure/ai/evaluation/simulator/_model_tools/models.py +30 -27
- azure/ai/evaluation/simulator/_prompty/task_query_response.prompty +6 -10
- azure/ai/evaluation/simulator/_prompty/task_simulate.prompty +6 -5
- azure/ai/evaluation/simulator/_simulator.py +302 -208
- azure/ai/evaluation/simulator/_utils.py +31 -13
- azure_ai_evaluation-1.13.3.dist-info/METADATA +939 -0
- azure_ai_evaluation-1.13.3.dist-info/RECORD +305 -0
- {azure_ai_evaluation-1.0.0b2.dist-info → azure_ai_evaluation-1.13.3.dist-info}/WHEEL +1 -1
- azure_ai_evaluation-1.13.3.dist-info/licenses/NOTICE.txt +70 -0
- azure/ai/evaluation/_evaluate/_batch_run_client/proxy_client.py +0 -71
- azure/ai/evaluation/_evaluators/_chat/_chat.py +0 -357
- azure/ai/evaluation/_evaluators/_chat/retrieval/_retrieval.py +0 -157
- azure/ai/evaluation/_evaluators/_chat/retrieval/retrieval.prompty +0 -48
- azure/ai/evaluation/_evaluators/_content_safety/_content_safety_base.py +0 -65
- azure/ai/evaluation/_evaluators/_content_safety/_content_safety_chat.py +0 -301
- azure/ai/evaluation/_evaluators/_groundedness/groundedness.prompty +0 -54
- azure/ai/evaluation/_evaluators/_protected_materials/__init__.py +0 -5
- azure/ai/evaluation/_evaluators/_protected_materials/_protected_materials.py +0 -104
- azure/ai/evaluation/simulator/_tracing.py +0 -89
- azure_ai_evaluation-1.0.0b2.dist-info/METADATA +0 -449
- azure_ai_evaluation-1.0.0b2.dist-info/RECORD +0 -99
- {azure_ai_evaluation-1.0.0b2.dist-info → azure_ai_evaluation-1.13.3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# ---------------------------------------------------------
|
|
2
|
+
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
# ---------------------------------------------------------
|
|
4
|
+
|
|
5
|
+
from os import PathLike
|
|
6
|
+
from typing import IO, Any, Dict, Optional, Union, cast
|
|
7
|
+
|
|
8
|
+
from ruamel.yaml import YAML, YAMLError # cspell:ignore ruamel
|
|
9
|
+
|
|
10
|
+
from azure.ai.evaluation._constants import DefaultOpenEncoding
|
|
11
|
+
from azure.ai.evaluation._legacy.prompty._exceptions import MissingRequiredInputError
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def load_yaml(source: Optional[Union[str, PathLike, IO]]) -> Dict:
|
|
15
|
+
# null check - just return an empty dict.
|
|
16
|
+
# Certain CLI commands rely on this behavior to produce a resource
|
|
17
|
+
# via CLI, which is then populated through CLArgs.
|
|
18
|
+
"""Load a local YAML file or a readable stream object.
|
|
19
|
+
|
|
20
|
+
.. note::
|
|
21
|
+
|
|
22
|
+
1. For a local file yaml
|
|
23
|
+
|
|
24
|
+
.. code-block:: python
|
|
25
|
+
|
|
26
|
+
yaml_path = "path/to/yaml"
|
|
27
|
+
content = load_yaml(yaml_path)
|
|
28
|
+
|
|
29
|
+
2. For a readable stream object
|
|
30
|
+
|
|
31
|
+
.. code-block:: python
|
|
32
|
+
|
|
33
|
+
with open("path/to/yaml", "r", encoding="utf-8") as f:
|
|
34
|
+
content = load_yaml(f)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
:param source: The relative or absolute path to the local file, or a readable stream object.
|
|
38
|
+
:type source: str
|
|
39
|
+
:return: A dictionary representation of the local file's contents.
|
|
40
|
+
:rtype: Dict
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
if source is None:
|
|
44
|
+
return {}
|
|
45
|
+
|
|
46
|
+
# pylint: disable=redefined-builtin
|
|
47
|
+
input: Optional[IO] = None
|
|
48
|
+
must_open_file = False
|
|
49
|
+
try: # check source type by duck-typing it as an IOBase
|
|
50
|
+
readable = cast(IO, source).readable()
|
|
51
|
+
if not readable: # source is misformatted stream or file
|
|
52
|
+
msg = "File Permissions Error: The already-open \n\n inputted file is not readable."
|
|
53
|
+
raise PermissionError(msg)
|
|
54
|
+
# source is an already-open stream or file, we can read() from it directly.
|
|
55
|
+
input = cast(IO, source)
|
|
56
|
+
except AttributeError:
|
|
57
|
+
# source has no writable() function, assume it's a string or file path.
|
|
58
|
+
must_open_file = True
|
|
59
|
+
|
|
60
|
+
if must_open_file: # If supplied a file path, open it.
|
|
61
|
+
try:
|
|
62
|
+
input = open( # pylint: disable=consider-using-with
|
|
63
|
+
cast(Union[PathLike, str], source), "r", encoding=DefaultOpenEncoding.READ
|
|
64
|
+
)
|
|
65
|
+
except OSError: # FileNotFoundError introduced in Python 3
|
|
66
|
+
e = FileNotFoundError(f"No such file or directory: {source}")
|
|
67
|
+
raise MissingRequiredInputError(str(e), privacy_info=[str(source)]) from e
|
|
68
|
+
# input should now be a readable file or stream. Parse it.
|
|
69
|
+
try:
|
|
70
|
+
yaml = YAML()
|
|
71
|
+
yaml.preserve_quotes = True
|
|
72
|
+
cfg = yaml.load(input)
|
|
73
|
+
except YAMLError as e:
|
|
74
|
+
msg = f"Error while parsing yaml file: {source} \n\n {str(e)}"
|
|
75
|
+
raise YAMLError(msg) from e
|
|
76
|
+
finally:
|
|
77
|
+
if input and must_open_file:
|
|
78
|
+
input.close()
|
|
79
|
+
|
|
80
|
+
return cfg or {}
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def load_yaml_string(yaml_string: str) -> Dict[str, Any]:
|
|
84
|
+
"""Load a yaml string.
|
|
85
|
+
|
|
86
|
+
.. code-block:: python
|
|
87
|
+
|
|
88
|
+
yaml_string = "some yaml string"
|
|
89
|
+
object = load_yaml_string(yaml_string)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
:param yaml_string: A yaml string.
|
|
93
|
+
:type yaml_string: str
|
|
94
|
+
:return: A dictionary representation of the yaml string.
|
|
95
|
+
:rtype: Dict
|
|
96
|
+
"""
|
|
97
|
+
yaml = YAML()
|
|
98
|
+
yaml.preserve_quotes = True
|
|
99
|
+
return yaml.load(yaml_string)
|
|
@@ -2,26 +2,148 @@
|
|
|
2
2
|
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
3
|
# ---------------------------------------------------------
|
|
4
4
|
|
|
5
|
-
from typing import TypedDict
|
|
5
|
+
from typing import Any, Dict, List, Literal, TypedDict, Union
|
|
6
6
|
|
|
7
|
+
from typing_extensions import NotRequired
|
|
8
|
+
from ._evaluator_definition import EvaluatorDefinition
|
|
9
|
+
from typing import Dict, List, Optional, Any
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
|
|
12
|
+
class AzureOpenAIModelConfiguration(TypedDict):
|
|
13
|
+
"""Model configuration for Azure OpenAI models
|
|
14
|
+
|
|
15
|
+
:param type: The type of the model configuration. Should be 'azure_openai' for AzureOpenAIModelConfiguration
|
|
16
|
+
:type type: NotRequired[Literal["azure_openai"]]
|
|
17
|
+
:param azure_deployment: Name of Azure OpenAI deployment to make requests to
|
|
18
|
+
:type azure_deployment: str
|
|
19
|
+
:param azure_endpoint: Endpoint of Azure OpenAI resource to make requests to
|
|
20
|
+
:type azure_endpoint: str
|
|
21
|
+
:param api_key: API key of Azure OpenAI resource
|
|
22
|
+
:type api_key: str
|
|
23
|
+
:param api_version: API version to use in request to Azure OpenAI deployment. Optional.
|
|
24
|
+
:type api_version: NotRequired[str]
|
|
25
|
+
|
|
26
|
+
.. admonition:: Example:
|
|
27
|
+
|
|
28
|
+
.. literalinclude:: ../samples/evaluation_samples_common.py
|
|
29
|
+
:start-after: [START create_AOAI_model_config]
|
|
30
|
+
:end-before: [END create_AOAI_model_config]
|
|
31
|
+
:language: python
|
|
32
|
+
:dedent: 8
|
|
33
|
+
:caption: Creating an AzureOpenAIModelConfiguration object.
|
|
34
|
+
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
type: NotRequired[Literal["azure_openai"]]
|
|
9
38
|
azure_deployment: str
|
|
10
39
|
azure_endpoint: str
|
|
11
|
-
|
|
40
|
+
"""Endpoint of Azure OpenAI resource to make request to"""
|
|
41
|
+
api_key: NotRequired[str]
|
|
42
|
+
"""API key of Azure OpenAI resource"""
|
|
43
|
+
api_version: NotRequired[str]
|
|
44
|
+
|
|
12
45
|
|
|
46
|
+
class OpenAIModelConfiguration(TypedDict):
|
|
47
|
+
"""Model configuration for OpenAI models
|
|
13
48
|
|
|
14
|
-
|
|
15
|
-
|
|
49
|
+
:param type: The type of the model configuration. Should be 'openai' for OpenAIModelConfiguration
|
|
50
|
+
:type type: NotRequired[Literal["openai"]]
|
|
51
|
+
:param api_key: API key needed to make requests to model
|
|
52
|
+
:type api_key: str
|
|
53
|
+
:param model: Name of model to be used in OpenAI request
|
|
54
|
+
:type model: str
|
|
55
|
+
:param base_url: Base URL to be used in OpenAI request. Optional.
|
|
56
|
+
:type base_url: NotRequired[str]
|
|
57
|
+
:param organization: OpenAI organization. Optional.
|
|
58
|
+
:type organization: NotRequired[str]
|
|
16
59
|
|
|
60
|
+
.. admonition:: Example:
|
|
17
61
|
|
|
18
|
-
|
|
62
|
+
.. literalinclude:: ../samples/evaluation_samples_common.py
|
|
63
|
+
:start-after: [START create_OAI_model_config]
|
|
64
|
+
:end-before: [END create_OAI_model_config]
|
|
65
|
+
:language: python
|
|
66
|
+
:dedent: 8
|
|
67
|
+
:caption: Creating an OpenAIModelConfiguration object.
|
|
68
|
+
|
|
69
|
+
"""
|
|
70
|
+
|
|
71
|
+
type: NotRequired[Literal["openai"]]
|
|
19
72
|
api_key: str
|
|
20
|
-
|
|
21
|
-
|
|
73
|
+
model: str
|
|
74
|
+
base_url: NotRequired[str]
|
|
75
|
+
organization: NotRequired[str]
|
|
22
76
|
|
|
23
77
|
|
|
24
78
|
class AzureAIProject(TypedDict):
|
|
79
|
+
"""Information about the Azure AI project
|
|
80
|
+
|
|
81
|
+
:param subscription_id: ID of the Azure subscription the project is in
|
|
82
|
+
:type subscription_id: str
|
|
83
|
+
:param resource_group_name: Name of the Azure resource group the project is in
|
|
84
|
+
:type resource_group_name: str
|
|
85
|
+
:param project_name: Name of the Azure project
|
|
86
|
+
:type project_name: str
|
|
87
|
+
|
|
88
|
+
.. admonition:: Example:
|
|
89
|
+
|
|
90
|
+
.. literalinclude:: ../samples/evaluation_samples_common.py
|
|
91
|
+
:start-after: [START create_azure_ai_project_object]
|
|
92
|
+
:end-before: [END create_azure_ai_project_object]
|
|
93
|
+
:language: python
|
|
94
|
+
:dedent: 8
|
|
95
|
+
:caption: Creating an AzureAIProject object.
|
|
96
|
+
|
|
97
|
+
"""
|
|
98
|
+
|
|
25
99
|
subscription_id: str
|
|
26
100
|
resource_group_name: str
|
|
27
101
|
project_name: str
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
class EvaluatorConfig(TypedDict, total=False):
|
|
105
|
+
"""Configuration for an evaluator"""
|
|
106
|
+
|
|
107
|
+
column_mapping: Dict[str, str]
|
|
108
|
+
"""Dictionary mapping evaluator input name to column in data"""
|
|
109
|
+
|
|
110
|
+
_evaluator_name: NotRequired[Optional[str]]
|
|
111
|
+
"""Name of the evaluator from the evaluator asset, currently only used for Otel emission"""
|
|
112
|
+
|
|
113
|
+
_evaluator_version: NotRequired[Optional[str]]
|
|
114
|
+
"""Version of the evaluator from the evaluator asset, currently only used for Otel emission"""
|
|
115
|
+
|
|
116
|
+
_evaluator_id: NotRequired[Optional[str]]
|
|
117
|
+
"""ID of the evaluator from the evaluator asset, currently only used for Otel emission"""
|
|
118
|
+
|
|
119
|
+
_evaluator_definition: NotRequired[Optional[EvaluatorDefinition]]
|
|
120
|
+
"""Definition of the evaluator to be used from the evaluator asset"""
|
|
121
|
+
"""Currently only used for Otel emission, will be changed to used in AOAI eval results converter as well in the future."""
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class Message(TypedDict):
|
|
125
|
+
role: str
|
|
126
|
+
content: Union[str, List[Dict]]
|
|
127
|
+
context: NotRequired[Dict[str, Any]]
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class Conversation(TypedDict):
|
|
131
|
+
messages: Union[List[Message], List[Dict]]
|
|
132
|
+
context: NotRequired[Dict[str, Any]]
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
class EvaluationResult(TypedDict):
|
|
136
|
+
metrics: Dict
|
|
137
|
+
studio_url: NotRequired[str]
|
|
138
|
+
rows: List[Dict]
|
|
139
|
+
_evaluation_results_list: List[Dict]
|
|
140
|
+
_evaluation_summary: Dict
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class AppInsightsConfig(TypedDict):
|
|
144
|
+
connection_string: str
|
|
145
|
+
project_id: NotRequired[str]
|
|
146
|
+
run_type: NotRequired[str]
|
|
147
|
+
schedule_type: NotRequired[str]
|
|
148
|
+
run_id: NotRequired[str]
|
|
149
|
+
extra_attributes: NotRequired[Dict[str, Any]]
|
|
File without changes
|