eval-studio-client 1.0.1__py3-none-any.whl → 1.0.3a1__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.
- eval_studio_client/api/__init__.py +0 -43
- eval_studio_client/api/api/__init__.py +0 -5
- eval_studio_client/api/api/perturbator_service_api.py +1 -268
- eval_studio_client/api/api/test_service_api.py +0 -568
- eval_studio_client/api/docs/PerturbationServiceCreatePerturbationRequest.md +0 -1
- eval_studio_client/api/docs/PerturbatorServiceApi.md +3 -33
- eval_studio_client/api/docs/PromptGenerationServiceAutoGeneratePromptsRequest.md +1 -2
- eval_studio_client/api/docs/RequiredTheTestCaseToUpdate.md +0 -1
- eval_studio_client/api/docs/TestServiceApi.md +0 -140
- eval_studio_client/api/docs/TestServiceGenerateTestCasesRequest.md +0 -1
- eval_studio_client/api/docs/TestServicePerturbTestRequest.md +0 -1
- eval_studio_client/api/docs/V1CreateEvaluationRequest.md +0 -1
- eval_studio_client/api/docs/V1ImportEvaluationRequest.md +0 -1
- eval_studio_client/api/docs/V1TestCase.md +0 -1
- eval_studio_client/api/models/__init__.py +0 -38
- eval_studio_client/api/models/perturbation_service_create_perturbation_request.py +2 -8
- eval_studio_client/api/models/prompt_generation_service_auto_generate_prompts_request.py +3 -5
- eval_studio_client/api/models/required_the_test_case_to_update.py +2 -6
- eval_studio_client/api/models/test_service_generate_test_cases_request.py +2 -4
- eval_studio_client/api/models/test_service_perturb_test_request.py +2 -4
- eval_studio_client/api/models/v1_create_evaluation_request.py +2 -7
- eval_studio_client/api/models/v1_import_evaluation_request.py +2 -7
- eval_studio_client/api/models/v1_test_case.py +2 -6
- eval_studio_client/api/test/test_perturbation_service_create_perturbation_request.py +2 -20
- eval_studio_client/api/test/test_prompt_generation_service_auto_generate_prompts_request.py +1 -4
- eval_studio_client/api/test/test_required_the_test_case_to_update.py +1 -4
- eval_studio_client/api/test/test_test_service_api.py +0 -12
- eval_studio_client/api/test/test_test_service_generate_test_cases_request.py +1 -4
- eval_studio_client/api/test/test_test_service_perturb_test_request.py +1 -4
- eval_studio_client/api/test/test_v1_batch_delete_test_cases_response.py +1 -4
- eval_studio_client/api/test/test_v1_create_evaluation_request.py +2 -20
- eval_studio_client/api/test/test_v1_create_test_case_response.py +1 -4
- eval_studio_client/api/test/test_v1_delete_test_case_response.py +1 -4
- eval_studio_client/api/test/test_v1_evaluation_test.py +1 -4
- eval_studio_client/api/test/test_v1_find_all_test_cases_by_id_response.py +1 -4
- eval_studio_client/api/test/test_v1_get_test_case_response.py +1 -4
- eval_studio_client/api/test/test_v1_import_evaluation_request.py +1 -16
- eval_studio_client/api/test/test_v1_list_test_cases_response.py +1 -4
- eval_studio_client/api/test/test_v1_test_case.py +1 -4
- eval_studio_client/api/test/test_v1_update_test_case_response.py +1 -4
- eval_studio_client/client.py +11 -9
- eval_studio_client/dashboards.py +0 -29
- eval_studio_client/gen/openapiv2/eval_studio.swagger.json +32 -1903
- eval_studio_client/leaderboards.py +0 -123
- eval_studio_client/models.py +42 -3
- eval_studio_client/test_labs.py +21 -49
- eval_studio_client/tests.py +1 -188
- {eval_studio_client-1.0.1.dist-info → eval_studio_client-1.0.3a1.dist-info}/METADATA +3 -2
- {eval_studio_client-1.0.1.dist-info → eval_studio_client-1.0.3a1.dist-info}/RECORD +50 -179
- {eval_studio_client-1.0.1.dist-info → eval_studio_client-1.0.3a1.dist-info}/WHEEL +1 -1
- eval_studio_client/api/api/human_calibration_service_api.py +0 -304
- eval_studio_client/api/api/prompt_library_service_api.py +0 -669
- eval_studio_client/api/api/workflow_edge_service_api.py +0 -296
- eval_studio_client/api/api/workflow_node_service_api.py +0 -1634
- eval_studio_client/api/api/workflow_service_api.py +0 -1609
- eval_studio_client/api/docs/HumanCalibrationServiceApi.md +0 -77
- eval_studio_client/api/docs/PromptLibraryServiceApi.md +0 -155
- eval_studio_client/api/docs/ProtobufNullValue.md +0 -12
- eval_studio_client/api/docs/RequiredTheUpdatedWorkflow.md +0 -44
- eval_studio_client/api/docs/RequiredTheUpdatedWorkflowNode.md +0 -44
- eval_studio_client/api/docs/TestServiceImportTestCasesFromLibraryRequest.md +0 -32
- eval_studio_client/api/docs/TestServiceListTestCaseLibraryItemsRequest.md +0 -35
- eval_studio_client/api/docs/V1BatchDeleteWorkflowsRequest.md +0 -29
- eval_studio_client/api/docs/V1BatchDeleteWorkflowsResponse.md +0 -29
- eval_studio_client/api/docs/V1BatchGetWorkflowEdgesResponse.md +0 -29
- eval_studio_client/api/docs/V1BatchGetWorkflowNodesResponse.md +0 -29
- eval_studio_client/api/docs/V1CreateWorkflowResponse.md +0 -29
- eval_studio_client/api/docs/V1DeleteWorkflowNodeResponse.md +0 -29
- eval_studio_client/api/docs/V1DeleteWorkflowResponse.md +0 -29
- eval_studio_client/api/docs/V1EstimateThresholdRequest.md +0 -33
- eval_studio_client/api/docs/V1GetWorkflowNodePrerequisitesResponse.md +0 -30
- eval_studio_client/api/docs/V1GetWorkflowNodeResponse.md +0 -29
- eval_studio_client/api/docs/V1GetWorkflowResponse.md +0 -29
- eval_studio_client/api/docs/V1ImportTestCasesFromLibraryResponse.md +0 -29
- eval_studio_client/api/docs/V1ImportTestCasesRequest.md +0 -33
- eval_studio_client/api/docs/V1LabeledTestCase.md +0 -31
- eval_studio_client/api/docs/V1ListPromptLibraryItemsResponse.md +0 -29
- eval_studio_client/api/docs/V1ListTestCaseLibraryItemsResponse.md +0 -29
- eval_studio_client/api/docs/V1ListWorkflowsResponse.md +0 -29
- eval_studio_client/api/docs/V1ProcessWorkflowNodeResponse.md +0 -29
- eval_studio_client/api/docs/V1PromptLibraryItem.md +0 -42
- eval_studio_client/api/docs/V1TestSuiteEvaluates.md +0 -11
- eval_studio_client/api/docs/V1UpdateWorkflowNodeResponse.md +0 -29
- eval_studio_client/api/docs/V1UpdateWorkflowResponse.md +0 -29
- eval_studio_client/api/docs/V1Workflow.md +0 -46
- eval_studio_client/api/docs/V1WorkflowEdge.md +0 -40
- eval_studio_client/api/docs/V1WorkflowEdgeType.md +0 -12
- eval_studio_client/api/docs/V1WorkflowNode.md +0 -46
- eval_studio_client/api/docs/V1WorkflowNodeArtifact.md +0 -40
- eval_studio_client/api/docs/V1WorkflowNodeArtifacts.md +0 -29
- eval_studio_client/api/docs/V1WorkflowNodeAttributes.md +0 -30
- eval_studio_client/api/docs/V1WorkflowNodeStatus.md +0 -12
- eval_studio_client/api/docs/V1WorkflowNodeType.md +0 -12
- eval_studio_client/api/docs/V1WorkflowNodeView.md +0 -12
- eval_studio_client/api/docs/V1WorkflowType.md +0 -12
- eval_studio_client/api/docs/WorkflowEdgeServiceApi.md +0 -76
- eval_studio_client/api/docs/WorkflowNodeServiceApi.md +0 -423
- eval_studio_client/api/docs/WorkflowServiceApi.md +0 -417
- eval_studio_client/api/models/protobuf_null_value.py +0 -36
- eval_studio_client/api/models/required_the_updated_workflow.py +0 -152
- eval_studio_client/api/models/required_the_updated_workflow_node.py +0 -152
- eval_studio_client/api/models/test_service_import_test_cases_from_library_request.py +0 -93
- eval_studio_client/api/models/test_service_list_test_case_library_items_request.py +0 -99
- eval_studio_client/api/models/v1_batch_delete_workflows_request.py +0 -87
- eval_studio_client/api/models/v1_batch_delete_workflows_response.py +0 -95
- eval_studio_client/api/models/v1_batch_get_workflow_edges_response.py +0 -95
- eval_studio_client/api/models/v1_batch_get_workflow_nodes_response.py +0 -95
- eval_studio_client/api/models/v1_create_workflow_response.py +0 -91
- eval_studio_client/api/models/v1_delete_workflow_node_response.py +0 -91
- eval_studio_client/api/models/v1_delete_workflow_response.py +0 -91
- eval_studio_client/api/models/v1_estimate_threshold_request.py +0 -103
- eval_studio_client/api/models/v1_get_workflow_node_prerequisites_response.py +0 -89
- eval_studio_client/api/models/v1_get_workflow_node_response.py +0 -91
- eval_studio_client/api/models/v1_get_workflow_response.py +0 -91
- eval_studio_client/api/models/v1_import_test_cases_from_library_response.py +0 -91
- eval_studio_client/api/models/v1_import_test_cases_request.py +0 -95
- eval_studio_client/api/models/v1_labeled_test_case.py +0 -91
- eval_studio_client/api/models/v1_list_prompt_library_items_response.py +0 -95
- eval_studio_client/api/models/v1_list_test_case_library_items_response.py +0 -95
- eval_studio_client/api/models/v1_list_workflows_response.py +0 -95
- eval_studio_client/api/models/v1_process_workflow_node_response.py +0 -91
- eval_studio_client/api/models/v1_prompt_library_item.py +0 -129
- eval_studio_client/api/models/v1_test_suite_evaluates.py +0 -39
- eval_studio_client/api/models/v1_update_workflow_node_response.py +0 -91
- eval_studio_client/api/models/v1_update_workflow_response.py +0 -91
- eval_studio_client/api/models/v1_workflow.py +0 -156
- eval_studio_client/api/models/v1_workflow_edge.py +0 -123
- eval_studio_client/api/models/v1_workflow_edge_type.py +0 -37
- eval_studio_client/api/models/v1_workflow_node.py +0 -156
- eval_studio_client/api/models/v1_workflow_node_artifact.py +0 -122
- eval_studio_client/api/models/v1_workflow_node_artifacts.py +0 -97
- eval_studio_client/api/models/v1_workflow_node_attributes.py +0 -87
- eval_studio_client/api/models/v1_workflow_node_status.py +0 -40
- eval_studio_client/api/models/v1_workflow_node_type.py +0 -41
- eval_studio_client/api/models/v1_workflow_node_view.py +0 -38
- eval_studio_client/api/models/v1_workflow_type.py +0 -37
- eval_studio_client/api/test/test_human_calibration_service_api.py +0 -38
- eval_studio_client/api/test/test_prompt_library_service_api.py +0 -43
- eval_studio_client/api/test/test_protobuf_null_value.py +0 -33
- eval_studio_client/api/test/test_required_the_updated_workflow.py +0 -88
- eval_studio_client/api/test/test_required_the_updated_workflow_node.py +0 -80
- eval_studio_client/api/test/test_test_service_import_test_cases_from_library_request.py +0 -56
- eval_studio_client/api/test/test_test_service_list_test_case_library_items_request.py +0 -63
- eval_studio_client/api/test/test_v1_batch_delete_workflows_request.py +0 -53
- eval_studio_client/api/test/test_v1_batch_delete_workflows_response.py +0 -92
- eval_studio_client/api/test/test_v1_batch_get_workflow_edges_response.py +0 -64
- eval_studio_client/api/test/test_v1_batch_get_workflow_nodes_response.py +0 -84
- eval_studio_client/api/test/test_v1_create_workflow_response.py +0 -90
- eval_studio_client/api/test/test_v1_delete_workflow_node_response.py +0 -82
- eval_studio_client/api/test/test_v1_delete_workflow_response.py +0 -90
- eval_studio_client/api/test/test_v1_estimate_threshold_request.py +0 -60
- eval_studio_client/api/test/test_v1_get_workflow_node_prerequisites_response.py +0 -56
- eval_studio_client/api/test/test_v1_get_workflow_node_response.py +0 -82
- eval_studio_client/api/test/test_v1_get_workflow_response.py +0 -90
- eval_studio_client/api/test/test_v1_import_test_cases_from_library_response.py +0 -71
- eval_studio_client/api/test/test_v1_import_test_cases_request.py +0 -57
- eval_studio_client/api/test/test_v1_labeled_test_case.py +0 -53
- eval_studio_client/api/test/test_v1_list_prompt_library_items_response.py +0 -71
- eval_studio_client/api/test/test_v1_list_test_case_library_items_response.py +0 -71
- eval_studio_client/api/test/test_v1_list_workflows_response.py +0 -92
- eval_studio_client/api/test/test_v1_process_workflow_node_response.py +0 -71
- eval_studio_client/api/test/test_v1_prompt_library_item.py +0 -68
- eval_studio_client/api/test/test_v1_test_suite_evaluates.py +0 -33
- eval_studio_client/api/test/test_v1_update_workflow_node_response.py +0 -82
- eval_studio_client/api/test/test_v1_update_workflow_response.py +0 -90
- eval_studio_client/api/test/test_v1_workflow.py +0 -89
- eval_studio_client/api/test/test_v1_workflow_edge.py +0 -61
- eval_studio_client/api/test/test_v1_workflow_edge_type.py +0 -33
- eval_studio_client/api/test/test_v1_workflow_node.py +0 -81
- eval_studio_client/api/test/test_v1_workflow_node_artifact.py +0 -61
- eval_studio_client/api/test/test_v1_workflow_node_artifacts.py +0 -64
- eval_studio_client/api/test/test_v1_workflow_node_attributes.py +0 -51
- eval_studio_client/api/test/test_v1_workflow_node_status.py +0 -33
- eval_studio_client/api/test/test_v1_workflow_node_type.py +0 -33
- eval_studio_client/api/test/test_v1_workflow_node_view.py +0 -33
- eval_studio_client/api/test/test_v1_workflow_type.py +0 -33
- eval_studio_client/api/test/test_workflow_edge_service_api.py +0 -38
- eval_studio_client/api/test/test_workflow_node_service_api.py +0 -73
- eval_studio_client/api/test/test_workflow_service_api.py +0 -73
|
@@ -68,24 +68,12 @@ class TestTestServiceApi(unittest.TestCase):
|
|
|
68
68
|
"""
|
|
69
69
|
pass
|
|
70
70
|
|
|
71
|
-
def test_test_service_import_test_cases_from_library(self) -> None:
|
|
72
|
-
"""Test case for test_service_import_test_cases_from_library
|
|
73
|
-
|
|
74
|
-
"""
|
|
75
|
-
pass
|
|
76
|
-
|
|
77
71
|
def test_test_service_list_most_recent_tests(self) -> None:
|
|
78
72
|
"""Test case for test_service_list_most_recent_tests
|
|
79
73
|
|
|
80
74
|
"""
|
|
81
75
|
pass
|
|
82
76
|
|
|
83
|
-
def test_test_service_list_test_case_library_items(self) -> None:
|
|
84
|
-
"""Test case for test_service_list_test_case_library_items
|
|
85
|
-
|
|
86
|
-
"""
|
|
87
|
-
pass
|
|
88
|
-
|
|
89
77
|
def test_test_service_list_tests(self) -> None:
|
|
90
78
|
"""Test case for test_service_list_tests
|
|
91
79
|
|
|
@@ -41,10 +41,7 @@ class TestTestServiceGenerateTestCasesRequest(unittest.TestCase):
|
|
|
41
41
|
generators = [
|
|
42
42
|
'TEST_CASES_GENERATOR_UNSPECIFIED'
|
|
43
43
|
],
|
|
44
|
-
h2ogpte_collection_id = ''
|
|
45
|
-
topics = [
|
|
46
|
-
''
|
|
47
|
-
]
|
|
44
|
+
h2ogpte_collection_id = ''
|
|
48
45
|
)
|
|
49
46
|
else:
|
|
50
47
|
return TestServiceGenerateTestCasesRequest(
|
|
@@ -42,10 +42,7 @@ class TestTestServicePerturbTestRequest(unittest.TestCase):
|
|
|
42
42
|
params = '', )
|
|
43
43
|
],
|
|
44
44
|
new_test_display_name = '',
|
|
45
|
-
new_test_description = ''
|
|
46
|
-
test_case_names = [
|
|
47
|
-
''
|
|
48
|
-
]
|
|
45
|
+
new_test_description = ''
|
|
49
46
|
)
|
|
50
47
|
else:
|
|
51
48
|
return TestServicePerturbTestRequest(
|
|
@@ -73,10 +73,7 @@ class TestV1CreateEvaluationRequest(unittest.TestCase):
|
|
|
73
73
|
constraints = [
|
|
74
74
|
''
|
|
75
75
|
],
|
|
76
|
-
condition = '',
|
|
77
|
-
perturbed_by = [
|
|
78
|
-
''
|
|
79
|
-
], )
|
|
76
|
+
condition = '', )
|
|
80
77
|
],
|
|
81
78
|
test_case_relationships = [
|
|
82
79
|
eval_studio_client.api.models.v1_test_case_relationship.v1TestCaseRelationship(
|
|
@@ -94,22 +91,7 @@ class TestV1CreateEvaluationRequest(unittest.TestCase):
|
|
|
94
91
|
'key' : ''
|
|
95
92
|
},
|
|
96
93
|
model_parameters = '',
|
|
97
|
-
h2ogpte_collection = ''
|
|
98
|
-
default_h2ogpte_model = eval_studio_client.api.models.v1_model.v1Model(
|
|
99
|
-
name = '',
|
|
100
|
-
create_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
101
|
-
creator = '',
|
|
102
|
-
update_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
103
|
-
updater = '',
|
|
104
|
-
delete_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
105
|
-
deleter = '',
|
|
106
|
-
display_name = '',
|
|
107
|
-
description = '',
|
|
108
|
-
url = '',
|
|
109
|
-
api_key = '',
|
|
110
|
-
type = 'MODEL_TYPE_UNSPECIFIED',
|
|
111
|
-
parameters = '',
|
|
112
|
-
demo = True, )
|
|
94
|
+
h2ogpte_collection = ''
|
|
113
95
|
)
|
|
114
96
|
else:
|
|
115
97
|
return V1CreateEvaluationRequest(
|
|
@@ -53,10 +53,7 @@ class TestV1EvaluationTest(unittest.TestCase):
|
|
|
53
53
|
constraints = [
|
|
54
54
|
''
|
|
55
55
|
],
|
|
56
|
-
condition = '',
|
|
57
|
-
perturbed_by = [
|
|
58
|
-
''
|
|
59
|
-
], )
|
|
56
|
+
condition = '', )
|
|
60
57
|
],
|
|
61
58
|
test_case_relationships = [
|
|
62
59
|
eval_studio_client.api.models.v1_test_case_relationship.v1TestCaseRelationship(
|
|
@@ -57,22 +57,7 @@ class TestV1ImportEvaluationRequest(unittest.TestCase):
|
|
|
57
57
|
operation = '',
|
|
58
58
|
evaluators_parameters = {
|
|
59
59
|
'key' : ''
|
|
60
|
-
}
|
|
61
|
-
default_h2ogpte_model = eval_studio_client.api.models.v1_model.v1Model(
|
|
62
|
-
name = '',
|
|
63
|
-
create_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
64
|
-
creator = '',
|
|
65
|
-
update_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
66
|
-
updater = '',
|
|
67
|
-
delete_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
|
|
68
|
-
deleter = '',
|
|
69
|
-
display_name = '',
|
|
70
|
-
description = '',
|
|
71
|
-
url = '',
|
|
72
|
-
api_key = '',
|
|
73
|
-
type = 'MODEL_TYPE_UNSPECIFIED',
|
|
74
|
-
parameters = '',
|
|
75
|
-
demo = True, )
|
|
60
|
+
}
|
|
76
61
|
)
|
|
77
62
|
else:
|
|
78
63
|
return V1ImportEvaluationRequest(
|
eval_studio_client/client.py
CHANGED
|
@@ -7,7 +7,6 @@ from eval_studio_client import api
|
|
|
7
7
|
from eval_studio_client import dashboards
|
|
8
8
|
from eval_studio_client import documents
|
|
9
9
|
from eval_studio_client import evaluators
|
|
10
|
-
from eval_studio_client import leaderboards
|
|
11
10
|
from eval_studio_client import models
|
|
12
11
|
from eval_studio_client import perturbators
|
|
13
12
|
from eval_studio_client import test_labs
|
|
@@ -18,7 +17,11 @@ class Client:
|
|
|
18
17
|
"""Main Eval Studio client class."""
|
|
19
18
|
|
|
20
19
|
def __init__(
|
|
21
|
-
self,
|
|
20
|
+
self,
|
|
21
|
+
host: str,
|
|
22
|
+
token_provider: Optional[h2o_authn.TokenProvider] = None,
|
|
23
|
+
verify_ssl: bool = True,
|
|
24
|
+
ssl_ca_cert: Optional[str] = None,
|
|
22
25
|
):
|
|
23
26
|
"""Initialize the client connection to Eval Studio host.
|
|
24
27
|
|
|
@@ -26,15 +29,19 @@ class Client:
|
|
|
26
29
|
host: The Eval Studio host URL.
|
|
27
30
|
token_provider: Optional TokenProvider used for authentication. If not
|
|
28
31
|
provided, the client will not set any authentication headers.
|
|
32
|
+
verify: Whether to verify SSL certificates. Defaults to True.
|
|
33
|
+
ssl_ca_cert: Path to a file of concatenated CA certificates
|
|
34
|
+
in PEM format. If not provided, the default system CA certificates will be used.
|
|
29
35
|
"""
|
|
30
36
|
_host = host.rstrip("/")
|
|
31
|
-
_api_config = api.Configuration(host=_host)
|
|
37
|
+
_api_config = api.Configuration(host=_host, ssl_ca_cert=ssl_ca_cert)
|
|
38
|
+
_api_config.verify_ssl = verify_ssl
|
|
39
|
+
|
|
32
40
|
self._api_client = api.ApiClient(configuration=_api_config)
|
|
33
41
|
if token_provider is not None:
|
|
34
42
|
self._api_client = _TokenApiClient(_api_config, token_provider.token)
|
|
35
43
|
|
|
36
44
|
self._dashboards = dashboards._Dashboards(self._api_client)
|
|
37
|
-
self._leaderboards = leaderboards._Leaderboards(self._api_client)
|
|
38
45
|
self._documents = documents._Documents(self._api_client)
|
|
39
46
|
self._evaluators = evaluators._Evaluators(self._api_client)
|
|
40
47
|
self._perturbators = perturbators._Perturbators(self._api_client)
|
|
@@ -57,11 +64,6 @@ class Client:
|
|
|
57
64
|
"""API for getting information about evaluation techniques in the Eval Studio."""
|
|
58
65
|
return self._evaluators
|
|
59
66
|
|
|
60
|
-
@property
|
|
61
|
-
def leaderboards(self) -> leaderboards._Leaderboards:
|
|
62
|
-
"""API for managing the collection of leaderboards."""
|
|
63
|
-
return self._leaderboards
|
|
64
|
-
|
|
65
67
|
@property
|
|
66
68
|
def perturbators(self) -> perturbators._Perturbators:
|
|
67
69
|
"""API for getting information about perturbation techniques in the Eval Studio."""
|
eval_studio_client/dashboards.py
CHANGED
|
@@ -198,35 +198,6 @@ class Dashboard:
|
|
|
198
198
|
_client=client,
|
|
199
199
|
)
|
|
200
200
|
|
|
201
|
-
@staticmethod
|
|
202
|
-
def from_operation(
|
|
203
|
-
operation: models.V1Operation, client: Optional[api.ApiClient]
|
|
204
|
-
) -> Optional["Dashboard"]:
|
|
205
|
-
"""Retrieves the dashboard from the operation, which created it.
|
|
206
|
-
|
|
207
|
-
Args:
|
|
208
|
-
operation: The operation that created the dashboard.
|
|
209
|
-
client: The API client to use for the dashboard retrieval.
|
|
210
|
-
|
|
211
|
-
Returns:
|
|
212
|
-
Dashboard: The dashboard instance created by the operation.
|
|
213
|
-
"""
|
|
214
|
-
if not client:
|
|
215
|
-
raise RuntimeError("API Client is not provided")
|
|
216
|
-
|
|
217
|
-
if not operation.metadata:
|
|
218
|
-
raise RuntimeError(
|
|
219
|
-
"Operation metadata missing, it's not possible to retrieve dashboard from operation"
|
|
220
|
-
)
|
|
221
|
-
|
|
222
|
-
dashboard_api = api.DashboardServiceApi(client)
|
|
223
|
-
dashboard_id = operation.metadata.to_dict().get("dashboard", "")
|
|
224
|
-
res = dashboard_api.dashboard_service_get_dashboard(str(dashboard_id))
|
|
225
|
-
if res and res.dashboard:
|
|
226
|
-
return Dashboard._from_api_dashboard(res.dashboard, client)
|
|
227
|
-
|
|
228
|
-
return None
|
|
229
|
-
|
|
230
201
|
|
|
231
202
|
class _Dashboards:
|
|
232
203
|
def __init__(self, client: api.ApiClient):
|