eval-studio-client 0.7.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 (470) hide show
  1. eval_studio_client/__about__.py +1 -0
  2. eval_studio_client/__init__.py +4 -0
  3. eval_studio_client/api/__init__.py +180 -0
  4. eval_studio_client/api/api/__init__.py +20 -0
  5. eval_studio_client/api/api/dashboard_service_api.py +2142 -0
  6. eval_studio_client/api/api/document_service_api.py +1868 -0
  7. eval_studio_client/api/api/evaluation_service_api.py +1603 -0
  8. eval_studio_client/api/api/evaluator_service_api.py +1343 -0
  9. eval_studio_client/api/api/info_service_api.py +275 -0
  10. eval_studio_client/api/api/leaderboard_service_api.py +3336 -0
  11. eval_studio_client/api/api/model_service_api.py +2913 -0
  12. eval_studio_client/api/api/operation_progress_service_api.py +292 -0
  13. eval_studio_client/api/api/operation_service_api.py +1359 -0
  14. eval_studio_client/api/api/perturbation_service_api.py +321 -0
  15. eval_studio_client/api/api/perturbator_service_api.py +532 -0
  16. eval_studio_client/api/api/test_case_service_api.py +1913 -0
  17. eval_studio_client/api/api/test_class_service_api.py +532 -0
  18. eval_studio_client/api/api/test_lab_service_api.py +634 -0
  19. eval_studio_client/api/api/test_service_api.py +2712 -0
  20. eval_studio_client/api/api/who_am_i_service_api.py +275 -0
  21. eval_studio_client/api/api_client.py +770 -0
  22. eval_studio_client/api/api_response.py +21 -0
  23. eval_studio_client/api/configuration.py +436 -0
  24. eval_studio_client/api/docs/DashboardServiceApi.md +549 -0
  25. eval_studio_client/api/docs/DocumentServiceApi.md +478 -0
  26. eval_studio_client/api/docs/EvaluationServiceApi.md +332 -0
  27. eval_studio_client/api/docs/EvaluatorServiceApi.md +345 -0
  28. eval_studio_client/api/docs/InfoServiceApi.md +71 -0
  29. eval_studio_client/api/docs/LeaderboardServiceApi.md +835 -0
  30. eval_studio_client/api/docs/ModelServiceApi.md +750 -0
  31. eval_studio_client/api/docs/OperationProgressServiceApi.md +75 -0
  32. eval_studio_client/api/docs/OperationServiceApi.md +345 -0
  33. eval_studio_client/api/docs/PerturbationServiceApi.md +78 -0
  34. eval_studio_client/api/docs/PerturbationServiceCreatePerturbationRequest.md +31 -0
  35. eval_studio_client/api/docs/PerturbatorServiceApi.md +138 -0
  36. eval_studio_client/api/docs/ProtobufAny.md +30 -0
  37. eval_studio_client/api/docs/RequiredTheDashboardToUpdate.md +41 -0
  38. eval_studio_client/api/docs/RequiredTheDocumentToUpdate.md +38 -0
  39. eval_studio_client/api/docs/RequiredTheLeaderboardToUpdate.md +54 -0
  40. eval_studio_client/api/docs/RequiredTheModelToUpdate.md +41 -0
  41. eval_studio_client/api/docs/RequiredTheOperationToFinalize.md +39 -0
  42. eval_studio_client/api/docs/RequiredTheOperationToUpdate.md +39 -0
  43. eval_studio_client/api/docs/RequiredTheTestCaseToUpdate.md +39 -0
  44. eval_studio_client/api/docs/RequiredTheTestToUpdate.md +39 -0
  45. eval_studio_client/api/docs/RpcStatus.md +32 -0
  46. eval_studio_client/api/docs/TestCaseServiceApi.md +486 -0
  47. eval_studio_client/api/docs/TestCaseServiceBatchDeleteTestCasesRequest.md +29 -0
  48. eval_studio_client/api/docs/TestClassServiceApi.md +138 -0
  49. eval_studio_client/api/docs/TestLabServiceApi.md +151 -0
  50. eval_studio_client/api/docs/TestServiceApi.md +689 -0
  51. eval_studio_client/api/docs/TestServicePerturbTestRequest.md +31 -0
  52. eval_studio_client/api/docs/V1alphaBatchCreateLeaderboardsRequest.md +31 -0
  53. eval_studio_client/api/docs/V1alphaBatchCreateLeaderboardsResponse.md +29 -0
  54. eval_studio_client/api/docs/V1alphaBatchDeleteDashboardsRequest.md +29 -0
  55. eval_studio_client/api/docs/V1alphaBatchDeleteDashboardsResponse.md +29 -0
  56. eval_studio_client/api/docs/V1alphaBatchDeleteDocumentsRequest.md +29 -0
  57. eval_studio_client/api/docs/V1alphaBatchDeleteDocumentsResponse.md +29 -0
  58. eval_studio_client/api/docs/V1alphaBatchDeleteEvaluatorsRequest.md +29 -0
  59. eval_studio_client/api/docs/V1alphaBatchDeleteEvaluatorsResponse.md +29 -0
  60. eval_studio_client/api/docs/V1alphaBatchDeleteLeaderboardsRequest.md +30 -0
  61. eval_studio_client/api/docs/V1alphaBatchDeleteLeaderboardsResponse.md +29 -0
  62. eval_studio_client/api/docs/V1alphaBatchDeleteModelsRequest.md +29 -0
  63. eval_studio_client/api/docs/V1alphaBatchDeleteModelsResponse.md +29 -0
  64. eval_studio_client/api/docs/V1alphaBatchDeleteTestCasesResponse.md +29 -0
  65. eval_studio_client/api/docs/V1alphaBatchDeleteTestsRequest.md +30 -0
  66. eval_studio_client/api/docs/V1alphaBatchDeleteTestsResponse.md +29 -0
  67. eval_studio_client/api/docs/V1alphaBatchGetDashboardsResponse.md +29 -0
  68. eval_studio_client/api/docs/V1alphaBatchGetDocumentsResponse.md +29 -0
  69. eval_studio_client/api/docs/V1alphaBatchGetLeaderboardsResponse.md +29 -0
  70. eval_studio_client/api/docs/V1alphaBatchGetModelsResponse.md +29 -0
  71. eval_studio_client/api/docs/V1alphaBatchGetOperationsResponse.md +29 -0
  72. eval_studio_client/api/docs/V1alphaBatchGetTestsResponse.md +29 -0
  73. eval_studio_client/api/docs/V1alphaBatchImportLeaderboardRequest.md +37 -0
  74. eval_studio_client/api/docs/V1alphaBatchImportLeaderboardResponse.md +29 -0
  75. eval_studio_client/api/docs/V1alphaBatchImportTestsRequest.md +32 -0
  76. eval_studio_client/api/docs/V1alphaBatchImportTestsResponse.md +29 -0
  77. eval_studio_client/api/docs/V1alphaCheckBaseModelsResponse.md +30 -0
  78. eval_studio_client/api/docs/V1alphaCollectionInfo.md +33 -0
  79. eval_studio_client/api/docs/V1alphaCreateDashboardResponse.md +29 -0
  80. eval_studio_client/api/docs/V1alphaCreateDocumentResponse.md +29 -0
  81. eval_studio_client/api/docs/V1alphaCreateEvaluationRequest.md +37 -0
  82. eval_studio_client/api/docs/V1alphaCreateEvaluatorResponse.md +29 -0
  83. eval_studio_client/api/docs/V1alphaCreateLeaderboardRequest.md +29 -0
  84. eval_studio_client/api/docs/V1alphaCreateLeaderboardResponse.md +29 -0
  85. eval_studio_client/api/docs/V1alphaCreateLeaderboardWithoutCacheResponse.md +29 -0
  86. eval_studio_client/api/docs/V1alphaCreateModelResponse.md +29 -0
  87. eval_studio_client/api/docs/V1alphaCreatePerturbationResponse.md +29 -0
  88. eval_studio_client/api/docs/V1alphaCreateTestCaseResponse.md +29 -0
  89. eval_studio_client/api/docs/V1alphaCreateTestLabResponse.md +29 -0
  90. eval_studio_client/api/docs/V1alphaCreateTestResponse.md +29 -0
  91. eval_studio_client/api/docs/V1alphaDashboard.md +41 -0
  92. eval_studio_client/api/docs/V1alphaDashboardStatus.md +12 -0
  93. eval_studio_client/api/docs/V1alphaDeleteDashboardResponse.md +29 -0
  94. eval_studio_client/api/docs/V1alphaDeleteDocumentResponse.md +29 -0
  95. eval_studio_client/api/docs/V1alphaDeleteEvaluatorResponse.md +29 -0
  96. eval_studio_client/api/docs/V1alphaDeleteLeaderboardResponse.md +29 -0
  97. eval_studio_client/api/docs/V1alphaDeleteModelResponse.md +29 -0
  98. eval_studio_client/api/docs/V1alphaDeleteTestCaseResponse.md +29 -0
  99. eval_studio_client/api/docs/V1alphaDeleteTestResponse.md +29 -0
  100. eval_studio_client/api/docs/V1alphaDocument.md +38 -0
  101. eval_studio_client/api/docs/V1alphaEvaluationTest.md +32 -0
  102. eval_studio_client/api/docs/V1alphaEvaluator.md +45 -0
  103. eval_studio_client/api/docs/V1alphaEvaluatorParamType.md +12 -0
  104. eval_studio_client/api/docs/V1alphaEvaluatorParameter.md +40 -0
  105. eval_studio_client/api/docs/V1alphaEvaluatorView.md +12 -0
  106. eval_studio_client/api/docs/V1alphaFinalizeOperationResponse.md +29 -0
  107. eval_studio_client/api/docs/V1alphaFindAllTestCasesByIDResponse.md +29 -0
  108. eval_studio_client/api/docs/V1alphaFindTestLabResponse.md +29 -0
  109. eval_studio_client/api/docs/V1alphaGetDashboardResponse.md +29 -0
  110. eval_studio_client/api/docs/V1alphaGetDocumentResponse.md +29 -0
  111. eval_studio_client/api/docs/V1alphaGetEvaluatorResponse.md +29 -0
  112. eval_studio_client/api/docs/V1alphaGetInfoResponse.md +29 -0
  113. eval_studio_client/api/docs/V1alphaGetLeaderboardResponse.md +29 -0
  114. eval_studio_client/api/docs/V1alphaGetModelResponse.md +29 -0
  115. eval_studio_client/api/docs/V1alphaGetOperationProgressByParentResponse.md +29 -0
  116. eval_studio_client/api/docs/V1alphaGetOperationResponse.md +29 -0
  117. eval_studio_client/api/docs/V1alphaGetPerturbatorResponse.md +29 -0
  118. eval_studio_client/api/docs/V1alphaGetTestCaseResponse.md +29 -0
  119. eval_studio_client/api/docs/V1alphaGetTestClassResponse.md +29 -0
  120. eval_studio_client/api/docs/V1alphaGetTestResponse.md +29 -0
  121. eval_studio_client/api/docs/V1alphaImportEvaluationRequest.md +33 -0
  122. eval_studio_client/api/docs/V1alphaImportLeaderboardRequest.md +37 -0
  123. eval_studio_client/api/docs/V1alphaImportLeaderboardResponse.md +29 -0
  124. eval_studio_client/api/docs/V1alphaInfo.md +35 -0
  125. eval_studio_client/api/docs/V1alphaInsight.md +40 -0
  126. eval_studio_client/api/docs/V1alphaLeaderboard.md +54 -0
  127. eval_studio_client/api/docs/V1alphaLeaderboardStatus.md +12 -0
  128. eval_studio_client/api/docs/V1alphaLeaderboardType.md +12 -0
  129. eval_studio_client/api/docs/V1alphaLeaderboardView.md +12 -0
  130. eval_studio_client/api/docs/V1alphaListBaseModelsResponse.md +29 -0
  131. eval_studio_client/api/docs/V1alphaListDashboardsResponse.md +29 -0
  132. eval_studio_client/api/docs/V1alphaListDocumentsResponse.md +29 -0
  133. eval_studio_client/api/docs/V1alphaListEvaluatorsResponse.md +29 -0
  134. eval_studio_client/api/docs/V1alphaListLLMModelsResponse.md +29 -0
  135. eval_studio_client/api/docs/V1alphaListLeaderboardsResponse.md +30 -0
  136. eval_studio_client/api/docs/V1alphaListModelCollectionsResponse.md +29 -0
  137. eval_studio_client/api/docs/V1alphaListModelsResponse.md +29 -0
  138. eval_studio_client/api/docs/V1alphaListMostRecentDashboardsResponse.md +29 -0
  139. eval_studio_client/api/docs/V1alphaListMostRecentLeaderboardsResponse.md +29 -0
  140. eval_studio_client/api/docs/V1alphaListMostRecentModelsResponse.md +29 -0
  141. eval_studio_client/api/docs/V1alphaListMostRecentTestsResponse.md +29 -0
  142. eval_studio_client/api/docs/V1alphaListOperationsResponse.md +29 -0
  143. eval_studio_client/api/docs/V1alphaListPerturbatorsResponse.md +29 -0
  144. eval_studio_client/api/docs/V1alphaListRAGCollectionsResponse.md +29 -0
  145. eval_studio_client/api/docs/V1alphaListTestCasesResponse.md +29 -0
  146. eval_studio_client/api/docs/V1alphaListTestClassesResponse.md +29 -0
  147. eval_studio_client/api/docs/V1alphaListTestsResponse.md +29 -0
  148. eval_studio_client/api/docs/V1alphaModel.md +42 -0
  149. eval_studio_client/api/docs/V1alphaModelType.md +12 -0
  150. eval_studio_client/api/docs/V1alphaOperation.md +40 -0
  151. eval_studio_client/api/docs/V1alphaOperationProgress.md +32 -0
  152. eval_studio_client/api/docs/V1alphaPerturbTestResponse.md +29 -0
  153. eval_studio_client/api/docs/V1alphaPerturbator.md +39 -0
  154. eval_studio_client/api/docs/V1alphaPerturbatorConfiguration.md +32 -0
  155. eval_studio_client/api/docs/V1alphaPerturbatorIntensity.md +11 -0
  156. eval_studio_client/api/docs/V1alphaProblemAndAction.md +39 -0
  157. eval_studio_client/api/docs/V1alphaTest.md +40 -0
  158. eval_studio_client/api/docs/V1alphaTestCase.md +40 -0
  159. eval_studio_client/api/docs/V1alphaTestCaseRelationship.md +31 -0
  160. eval_studio_client/api/docs/V1alphaTestClass.md +41 -0
  161. eval_studio_client/api/docs/V1alphaTestClassType.md +12 -0
  162. eval_studio_client/api/docs/V1alphaTestLab.md +41 -0
  163. eval_studio_client/api/docs/V1alphaUpdateDashboardResponse.md +29 -0
  164. eval_studio_client/api/docs/V1alphaUpdateDocumentResponse.md +29 -0
  165. eval_studio_client/api/docs/V1alphaUpdateLeaderboardResponse.md +29 -0
  166. eval_studio_client/api/docs/V1alphaUpdateModelResponse.md +29 -0
  167. eval_studio_client/api/docs/V1alphaUpdateOperationResponse.md +29 -0
  168. eval_studio_client/api/docs/V1alphaUpdateTestCaseResponse.md +29 -0
  169. eval_studio_client/api/docs/V1alphaUpdateTestResponse.md +29 -0
  170. eval_studio_client/api/docs/V1alphaWhoAmIResponse.md +31 -0
  171. eval_studio_client/api/docs/WhoAmIServiceApi.md +72 -0
  172. eval_studio_client/api/exceptions.py +199 -0
  173. eval_studio_client/api/models/__init__.py +148 -0
  174. eval_studio_client/api/models/perturbation_service_create_perturbation_request.py +115 -0
  175. eval_studio_client/api/models/protobuf_any.py +100 -0
  176. eval_studio_client/api/models/required_the_dashboard_to_update.py +127 -0
  177. eval_studio_client/api/models/required_the_document_to_update.py +116 -0
  178. eval_studio_client/api/models/required_the_leaderboard_to_update.py +178 -0
  179. eval_studio_client/api/models/required_the_model_to_update.py +127 -0
  180. eval_studio_client/api/models/required_the_operation_to_finalize.py +129 -0
  181. eval_studio_client/api/models/required_the_operation_to_update.py +129 -0
  182. eval_studio_client/api/models/required_the_test_case_to_update.py +120 -0
  183. eval_studio_client/api/models/required_the_test_to_update.py +122 -0
  184. eval_studio_client/api/models/rpc_status.py +99 -0
  185. eval_studio_client/api/models/test_case_service_batch_delete_test_cases_request.py +87 -0
  186. eval_studio_client/api/models/test_service_perturb_test_request.py +99 -0
  187. eval_studio_client/api/models/v1alpha_batch_create_leaderboards_request.py +99 -0
  188. eval_studio_client/api/models/v1alpha_batch_create_leaderboards_response.py +91 -0
  189. eval_studio_client/api/models/v1alpha_batch_delete_dashboards_request.py +87 -0
  190. eval_studio_client/api/models/v1alpha_batch_delete_dashboards_response.py +95 -0
  191. eval_studio_client/api/models/v1alpha_batch_delete_documents_request.py +87 -0
  192. eval_studio_client/api/models/v1alpha_batch_delete_documents_response.py +95 -0
  193. eval_studio_client/api/models/v1alpha_batch_delete_evaluators_request.py +87 -0
  194. eval_studio_client/api/models/v1alpha_batch_delete_evaluators_response.py +95 -0
  195. eval_studio_client/api/models/v1alpha_batch_delete_leaderboards_request.py +90 -0
  196. eval_studio_client/api/models/v1alpha_batch_delete_leaderboards_response.py +95 -0
  197. eval_studio_client/api/models/v1alpha_batch_delete_models_request.py +87 -0
  198. eval_studio_client/api/models/v1alpha_batch_delete_models_response.py +95 -0
  199. eval_studio_client/api/models/v1alpha_batch_delete_test_cases_response.py +95 -0
  200. eval_studio_client/api/models/v1alpha_batch_delete_tests_request.py +89 -0
  201. eval_studio_client/api/models/v1alpha_batch_delete_tests_response.py +95 -0
  202. eval_studio_client/api/models/v1alpha_batch_get_dashboards_response.py +95 -0
  203. eval_studio_client/api/models/v1alpha_batch_get_documents_response.py +95 -0
  204. eval_studio_client/api/models/v1alpha_batch_get_leaderboards_response.py +95 -0
  205. eval_studio_client/api/models/v1alpha_batch_get_models_response.py +95 -0
  206. eval_studio_client/api/models/v1alpha_batch_get_operations_response.py +95 -0
  207. eval_studio_client/api/models/v1alpha_batch_get_tests_response.py +95 -0
  208. eval_studio_client/api/models/v1alpha_batch_import_leaderboard_request.py +104 -0
  209. eval_studio_client/api/models/v1alpha_batch_import_leaderboard_response.py +91 -0
  210. eval_studio_client/api/models/v1alpha_batch_import_tests_request.py +93 -0
  211. eval_studio_client/api/models/v1alpha_batch_import_tests_response.py +95 -0
  212. eval_studio_client/api/models/v1alpha_check_base_models_response.py +89 -0
  213. eval_studio_client/api/models/v1alpha_collection_info.py +93 -0
  214. eval_studio_client/api/models/v1alpha_create_dashboard_response.py +91 -0
  215. eval_studio_client/api/models/v1alpha_create_document_response.py +91 -0
  216. eval_studio_client/api/models/v1alpha_create_evaluation_request.py +115 -0
  217. eval_studio_client/api/models/v1alpha_create_evaluator_response.py +91 -0
  218. eval_studio_client/api/models/v1alpha_create_leaderboard_request.py +91 -0
  219. eval_studio_client/api/models/v1alpha_create_leaderboard_response.py +91 -0
  220. eval_studio_client/api/models/v1alpha_create_leaderboard_without_cache_response.py +91 -0
  221. eval_studio_client/api/models/v1alpha_create_model_response.py +91 -0
  222. eval_studio_client/api/models/v1alpha_create_perturbation_response.py +87 -0
  223. eval_studio_client/api/models/v1alpha_create_test_case_response.py +91 -0
  224. eval_studio_client/api/models/v1alpha_create_test_lab_response.py +91 -0
  225. eval_studio_client/api/models/v1alpha_create_test_response.py +91 -0
  226. eval_studio_client/api/models/v1alpha_dashboard.py +131 -0
  227. eval_studio_client/api/models/v1alpha_dashboard_status.py +39 -0
  228. eval_studio_client/api/models/v1alpha_delete_dashboard_response.py +91 -0
  229. eval_studio_client/api/models/v1alpha_delete_document_response.py +91 -0
  230. eval_studio_client/api/models/v1alpha_delete_evaluator_response.py +91 -0
  231. eval_studio_client/api/models/v1alpha_delete_leaderboard_response.py +91 -0
  232. eval_studio_client/api/models/v1alpha_delete_model_response.py +91 -0
  233. eval_studio_client/api/models/v1alpha_delete_test_case_response.py +91 -0
  234. eval_studio_client/api/models/v1alpha_delete_test_response.py +91 -0
  235. eval_studio_client/api/models/v1alpha_document.py +120 -0
  236. eval_studio_client/api/models/v1alpha_evaluation_test.py +107 -0
  237. eval_studio_client/api/models/v1alpha_evaluator.py +155 -0
  238. eval_studio_client/api/models/v1alpha_evaluator_param_type.py +42 -0
  239. eval_studio_client/api/models/v1alpha_evaluator_parameter.py +126 -0
  240. eval_studio_client/api/models/v1alpha_evaluator_view.py +38 -0
  241. eval_studio_client/api/models/v1alpha_finalize_operation_response.py +91 -0
  242. eval_studio_client/api/models/v1alpha_find_all_test_cases_by_id_response.py +95 -0
  243. eval_studio_client/api/models/v1alpha_find_test_lab_response.py +91 -0
  244. eval_studio_client/api/models/v1alpha_get_dashboard_response.py +91 -0
  245. eval_studio_client/api/models/v1alpha_get_document_response.py +91 -0
  246. eval_studio_client/api/models/v1alpha_get_evaluator_response.py +91 -0
  247. eval_studio_client/api/models/v1alpha_get_info_response.py +91 -0
  248. eval_studio_client/api/models/v1alpha_get_leaderboard_response.py +91 -0
  249. eval_studio_client/api/models/v1alpha_get_model_response.py +91 -0
  250. eval_studio_client/api/models/v1alpha_get_operation_progress_by_parent_response.py +91 -0
  251. eval_studio_client/api/models/v1alpha_get_operation_response.py +91 -0
  252. eval_studio_client/api/models/v1alpha_get_perturbator_response.py +91 -0
  253. eval_studio_client/api/models/v1alpha_get_test_case_response.py +91 -0
  254. eval_studio_client/api/models/v1alpha_get_test_class_response.py +91 -0
  255. eval_studio_client/api/models/v1alpha_get_test_response.py +91 -0
  256. eval_studio_client/api/models/v1alpha_import_evaluation_request.py +99 -0
  257. eval_studio_client/api/models/v1alpha_import_leaderboard_request.py +104 -0
  258. eval_studio_client/api/models/v1alpha_import_leaderboard_response.py +91 -0
  259. eval_studio_client/api/models/v1alpha_info.py +99 -0
  260. eval_studio_client/api/models/v1alpha_insight.py +107 -0
  261. eval_studio_client/api/models/v1alpha_leaderboard.py +182 -0
  262. eval_studio_client/api/models/v1alpha_leaderboard_status.py +39 -0
  263. eval_studio_client/api/models/v1alpha_leaderboard_type.py +39 -0
  264. eval_studio_client/api/models/v1alpha_leaderboard_view.py +39 -0
  265. eval_studio_client/api/models/v1alpha_list_base_models_response.py +87 -0
  266. eval_studio_client/api/models/v1alpha_list_dashboards_response.py +95 -0
  267. eval_studio_client/api/models/v1alpha_list_documents_response.py +95 -0
  268. eval_studio_client/api/models/v1alpha_list_evaluators_response.py +95 -0
  269. eval_studio_client/api/models/v1alpha_list_leaderboards_response.py +97 -0
  270. eval_studio_client/api/models/v1alpha_list_llm_models_response.py +87 -0
  271. eval_studio_client/api/models/v1alpha_list_model_collections_response.py +95 -0
  272. eval_studio_client/api/models/v1alpha_list_models_response.py +95 -0
  273. eval_studio_client/api/models/v1alpha_list_most_recent_dashboards_response.py +95 -0
  274. eval_studio_client/api/models/v1alpha_list_most_recent_leaderboards_response.py +95 -0
  275. eval_studio_client/api/models/v1alpha_list_most_recent_models_response.py +95 -0
  276. eval_studio_client/api/models/v1alpha_list_most_recent_tests_response.py +95 -0
  277. eval_studio_client/api/models/v1alpha_list_operations_response.py +95 -0
  278. eval_studio_client/api/models/v1alpha_list_perturbators_response.py +95 -0
  279. eval_studio_client/api/models/v1alpha_list_rag_collections_response.py +95 -0
  280. eval_studio_client/api/models/v1alpha_list_test_cases_response.py +95 -0
  281. eval_studio_client/api/models/v1alpha_list_test_classes_response.py +95 -0
  282. eval_studio_client/api/models/v1alpha_list_tests_response.py +95 -0
  283. eval_studio_client/api/models/v1alpha_model.py +131 -0
  284. eval_studio_client/api/models/v1alpha_model_type.py +46 -0
  285. eval_studio_client/api/models/v1alpha_operation.py +133 -0
  286. eval_studio_client/api/models/v1alpha_operation_progress.py +99 -0
  287. eval_studio_client/api/models/v1alpha_perturb_test_response.py +91 -0
  288. eval_studio_client/api/models/v1alpha_perturbator.py +122 -0
  289. eval_studio_client/api/models/v1alpha_perturbator_configuration.py +92 -0
  290. eval_studio_client/api/models/v1alpha_perturbator_intensity.py +39 -0
  291. eval_studio_client/api/models/v1alpha_problem_and_action.py +129 -0
  292. eval_studio_client/api/models/v1alpha_test.py +126 -0
  293. eval_studio_client/api/models/v1alpha_test_case.py +124 -0
  294. eval_studio_client/api/models/v1alpha_test_case_relationship.py +91 -0
  295. eval_studio_client/api/models/v1alpha_test_class.py +127 -0
  296. eval_studio_client/api/models/v1alpha_test_class_type.py +42 -0
  297. eval_studio_client/api/models/v1alpha_test_lab.py +137 -0
  298. eval_studio_client/api/models/v1alpha_update_dashboard_response.py +91 -0
  299. eval_studio_client/api/models/v1alpha_update_document_response.py +91 -0
  300. eval_studio_client/api/models/v1alpha_update_leaderboard_response.py +91 -0
  301. eval_studio_client/api/models/v1alpha_update_model_response.py +91 -0
  302. eval_studio_client/api/models/v1alpha_update_operation_response.py +91 -0
  303. eval_studio_client/api/models/v1alpha_update_test_case_response.py +91 -0
  304. eval_studio_client/api/models/v1alpha_update_test_response.py +91 -0
  305. eval_studio_client/api/models/v1alpha_who_am_i_response.py +91 -0
  306. eval_studio_client/api/rest.py +257 -0
  307. eval_studio_client/api/test/__init__.py +0 -0
  308. eval_studio_client/api/test/test_dashboard_service_api.py +79 -0
  309. eval_studio_client/api/test/test_document_service_api.py +73 -0
  310. eval_studio_client/api/test/test_evaluation_service_api.py +55 -0
  311. eval_studio_client/api/test/test_evaluator_service_api.py +61 -0
  312. eval_studio_client/api/test/test_info_service_api.py +37 -0
  313. eval_studio_client/api/test/test_leaderboard_service_api.py +103 -0
  314. eval_studio_client/api/test/test_model_service_api.py +97 -0
  315. eval_studio_client/api/test/test_operation_progress_service_api.py +37 -0
  316. eval_studio_client/api/test/test_operation_service_api.py +61 -0
  317. eval_studio_client/api/test/test_perturbation_service_api.py +37 -0
  318. eval_studio_client/api/test/test_perturbation_service_create_perturbation_request.py +79 -0
  319. eval_studio_client/api/test/test_perturbator_service_api.py +43 -0
  320. eval_studio_client/api/test/test_protobuf_any.py +51 -0
  321. eval_studio_client/api/test/test_required_the_dashboard_to_update.py +64 -0
  322. eval_studio_client/api/test/test_required_the_document_to_update.py +59 -0
  323. eval_studio_client/api/test/test_required_the_leaderboard_to_update.py +115 -0
  324. eval_studio_client/api/test/test_required_the_model_to_update.py +63 -0
  325. eval_studio_client/api/test/test_required_the_operation_to_finalize.py +71 -0
  326. eval_studio_client/api/test/test_required_the_operation_to_update.py +71 -0
  327. eval_studio_client/api/test/test_required_the_test_case_to_update.py +63 -0
  328. eval_studio_client/api/test/test_required_the_test_to_update.py +65 -0
  329. eval_studio_client/api/test/test_rpc_status.py +57 -0
  330. eval_studio_client/api/test/test_test_case_service_api.py +73 -0
  331. eval_studio_client/api/test/test_test_case_service_batch_delete_test_cases_request.py +53 -0
  332. eval_studio_client/api/test/test_test_class_service_api.py +43 -0
  333. eval_studio_client/api/test/test_test_lab_service_api.py +43 -0
  334. eval_studio_client/api/test/test_test_service_api.py +91 -0
  335. eval_studio_client/api/test/test_test_service_perturb_test_request.py +58 -0
  336. eval_studio_client/api/test/test_v1alpha_batch_create_leaderboards_request.py +119 -0
  337. eval_studio_client/api/test/test_v1alpha_batch_create_leaderboards_response.py +71 -0
  338. eval_studio_client/api/test/test_v1alpha_batch_delete_dashboards_request.py +53 -0
  339. eval_studio_client/api/test/test_v1alpha_batch_delete_dashboards_response.py +68 -0
  340. eval_studio_client/api/test/test_v1alpha_batch_delete_documents_request.py +53 -0
  341. eval_studio_client/api/test/test_v1alpha_batch_delete_documents_response.py +63 -0
  342. eval_studio_client/api/test/test_v1alpha_batch_delete_evaluators_request.py +53 -0
  343. eval_studio_client/api/test/test_v1alpha_batch_delete_evaluators_response.py +91 -0
  344. eval_studio_client/api/test/test_v1alpha_batch_delete_leaderboards_request.py +54 -0
  345. eval_studio_client/api/test/test_v1alpha_batch_delete_leaderboards_response.py +116 -0
  346. eval_studio_client/api/test/test_v1alpha_batch_delete_models_request.py +53 -0
  347. eval_studio_client/api/test/test_v1alpha_batch_delete_models_response.py +67 -0
  348. eval_studio_client/api/test/test_v1alpha_batch_delete_test_cases_response.py +67 -0
  349. eval_studio_client/api/test/test_v1alpha_batch_delete_tests_request.py +54 -0
  350. eval_studio_client/api/test/test_v1alpha_batch_delete_tests_response.py +69 -0
  351. eval_studio_client/api/test/test_v1alpha_batch_get_dashboards_response.py +68 -0
  352. eval_studio_client/api/test/test_v1alpha_batch_get_documents_response.py +63 -0
  353. eval_studio_client/api/test/test_v1alpha_batch_get_leaderboards_response.py +116 -0
  354. eval_studio_client/api/test/test_v1alpha_batch_get_models_response.py +67 -0
  355. eval_studio_client/api/test/test_v1alpha_batch_get_operations_response.py +73 -0
  356. eval_studio_client/api/test/test_v1alpha_batch_get_tests_response.py +69 -0
  357. eval_studio_client/api/test/test_v1alpha_batch_import_leaderboard_request.py +61 -0
  358. eval_studio_client/api/test/test_v1alpha_batch_import_leaderboard_response.py +71 -0
  359. eval_studio_client/api/test/test_v1alpha_batch_import_tests_request.py +54 -0
  360. eval_studio_client/api/test/test_v1alpha_batch_import_tests_response.py +69 -0
  361. eval_studio_client/api/test/test_v1alpha_check_base_models_response.py +52 -0
  362. eval_studio_client/api/test/test_v1alpha_collection_info.py +54 -0
  363. eval_studio_client/api/test/test_v1alpha_create_dashboard_response.py +66 -0
  364. eval_studio_client/api/test/test_v1alpha_create_document_response.py +61 -0
  365. eval_studio_client/api/test/test_v1alpha_create_evaluation_request.py +107 -0
  366. eval_studio_client/api/test/test_v1alpha_create_evaluator_response.py +89 -0
  367. eval_studio_client/api/test/test_v1alpha_create_leaderboard_request.py +114 -0
  368. eval_studio_client/api/test/test_v1alpha_create_leaderboard_response.py +71 -0
  369. eval_studio_client/api/test/test_v1alpha_create_leaderboard_without_cache_response.py +71 -0
  370. eval_studio_client/api/test/test_v1alpha_create_model_response.py +65 -0
  371. eval_studio_client/api/test/test_v1alpha_create_perturbation_response.py +51 -0
  372. eval_studio_client/api/test/test_v1alpha_create_test_case_response.py +65 -0
  373. eval_studio_client/api/test/test_v1alpha_create_test_lab_response.py +68 -0
  374. eval_studio_client/api/test/test_v1alpha_create_test_response.py +67 -0
  375. eval_studio_client/api/test/test_v1alpha_dashboard.py +65 -0
  376. eval_studio_client/api/test/test_v1alpha_dashboard_status.py +33 -0
  377. eval_studio_client/api/test/test_v1alpha_delete_dashboard_response.py +66 -0
  378. eval_studio_client/api/test/test_v1alpha_delete_document_response.py +61 -0
  379. eval_studio_client/api/test/test_v1alpha_delete_evaluator_response.py +89 -0
  380. eval_studio_client/api/test/test_v1alpha_delete_leaderboard_response.py +114 -0
  381. eval_studio_client/api/test/test_v1alpha_delete_model_response.py +65 -0
  382. eval_studio_client/api/test/test_v1alpha_delete_test_case_response.py +65 -0
  383. eval_studio_client/api/test/test_v1alpha_delete_test_response.py +67 -0
  384. eval_studio_client/api/test/test_v1alpha_document.py +60 -0
  385. eval_studio_client/api/test/test_v1alpha_evaluation_test.py +76 -0
  386. eval_studio_client/api/test/test_v1alpha_evaluator.py +91 -0
  387. eval_studio_client/api/test/test_v1alpha_evaluator_param_type.py +33 -0
  388. eval_studio_client/api/test/test_v1alpha_evaluator_parameter.py +68 -0
  389. eval_studio_client/api/test/test_v1alpha_evaluator_view.py +33 -0
  390. eval_studio_client/api/test/test_v1alpha_finalize_operation_response.py +71 -0
  391. eval_studio_client/api/test/test_v1alpha_find_all_test_cases_by_id_response.py +67 -0
  392. eval_studio_client/api/test/test_v1alpha_find_test_lab_response.py +68 -0
  393. eval_studio_client/api/test/test_v1alpha_get_dashboard_response.py +66 -0
  394. eval_studio_client/api/test/test_v1alpha_get_document_response.py +61 -0
  395. eval_studio_client/api/test/test_v1alpha_get_evaluator_response.py +89 -0
  396. eval_studio_client/api/test/test_v1alpha_get_info_response.py +60 -0
  397. eval_studio_client/api/test/test_v1alpha_get_leaderboard_response.py +114 -0
  398. eval_studio_client/api/test/test_v1alpha_get_model_response.py +65 -0
  399. eval_studio_client/api/test/test_v1alpha_get_operation_progress_by_parent_response.py +55 -0
  400. eval_studio_client/api/test/test_v1alpha_get_operation_response.py +71 -0
  401. eval_studio_client/api/test/test_v1alpha_get_perturbator_response.py +64 -0
  402. eval_studio_client/api/test/test_v1alpha_get_test_case_response.py +65 -0
  403. eval_studio_client/api/test/test_v1alpha_get_test_class_response.py +70 -0
  404. eval_studio_client/api/test/test_v1alpha_get_test_response.py +67 -0
  405. eval_studio_client/api/test/test_v1alpha_import_evaluation_request.py +73 -0
  406. eval_studio_client/api/test/test_v1alpha_import_leaderboard_request.py +59 -0
  407. eval_studio_client/api/test/test_v1alpha_import_leaderboard_response.py +71 -0
  408. eval_studio_client/api/test/test_v1alpha_info.py +59 -0
  409. eval_studio_client/api/test/test_v1alpha_insight.py +67 -0
  410. eval_studio_client/api/test/test_v1alpha_leaderboard.py +116 -0
  411. eval_studio_client/api/test/test_v1alpha_leaderboard_status.py +33 -0
  412. eval_studio_client/api/test/test_v1alpha_leaderboard_type.py +33 -0
  413. eval_studio_client/api/test/test_v1alpha_leaderboard_view.py +33 -0
  414. eval_studio_client/api/test/test_v1alpha_list_base_models_response.py +53 -0
  415. eval_studio_client/api/test/test_v1alpha_list_dashboards_response.py +68 -0
  416. eval_studio_client/api/test/test_v1alpha_list_documents_response.py +63 -0
  417. eval_studio_client/api/test/test_v1alpha_list_evaluators_response.py +91 -0
  418. eval_studio_client/api/test/test_v1alpha_list_leaderboards_response.py +117 -0
  419. eval_studio_client/api/test/test_v1alpha_list_llm_models_response.py +53 -0
  420. eval_studio_client/api/test/test_v1alpha_list_model_collections_response.py +57 -0
  421. eval_studio_client/api/test/test_v1alpha_list_models_response.py +67 -0
  422. eval_studio_client/api/test/test_v1alpha_list_most_recent_dashboards_response.py +68 -0
  423. eval_studio_client/api/test/test_v1alpha_list_most_recent_leaderboards_response.py +116 -0
  424. eval_studio_client/api/test/test_v1alpha_list_most_recent_models_response.py +67 -0
  425. eval_studio_client/api/test/test_v1alpha_list_most_recent_tests_response.py +69 -0
  426. eval_studio_client/api/test/test_v1alpha_list_operations_response.py +73 -0
  427. eval_studio_client/api/test/test_v1alpha_list_perturbators_response.py +66 -0
  428. eval_studio_client/api/test/test_v1alpha_list_rag_collections_response.py +57 -0
  429. eval_studio_client/api/test/test_v1alpha_list_test_cases_response.py +67 -0
  430. eval_studio_client/api/test/test_v1alpha_list_test_classes_response.py +72 -0
  431. eval_studio_client/api/test/test_v1alpha_list_tests_response.py +69 -0
  432. eval_studio_client/api/test/test_v1alpha_model.py +64 -0
  433. eval_studio_client/api/test/test_v1alpha_model_type.py +33 -0
  434. eval_studio_client/api/test/test_v1alpha_operation.py +72 -0
  435. eval_studio_client/api/test/test_v1alpha_operation_progress.py +54 -0
  436. eval_studio_client/api/test/test_v1alpha_perturb_test_response.py +67 -0
  437. eval_studio_client/api/test/test_v1alpha_perturbator.py +63 -0
  438. eval_studio_client/api/test/test_v1alpha_perturbator_configuration.py +53 -0
  439. eval_studio_client/api/test/test_v1alpha_perturbator_intensity.py +33 -0
  440. eval_studio_client/api/test/test_v1alpha_problem_and_action.py +65 -0
  441. eval_studio_client/api/test/test_v1alpha_test.py +66 -0
  442. eval_studio_client/api/test/test_v1alpha_test_case.py +64 -0
  443. eval_studio_client/api/test/test_v1alpha_test_case_relationship.py +53 -0
  444. eval_studio_client/api/test/test_v1alpha_test_class.py +69 -0
  445. eval_studio_client/api/test/test_v1alpha_test_class_type.py +33 -0
  446. eval_studio_client/api/test/test_v1alpha_test_lab.py +67 -0
  447. eval_studio_client/api/test/test_v1alpha_update_dashboard_response.py +66 -0
  448. eval_studio_client/api/test/test_v1alpha_update_document_response.py +61 -0
  449. eval_studio_client/api/test/test_v1alpha_update_leaderboard_response.py +114 -0
  450. eval_studio_client/api/test/test_v1alpha_update_model_response.py +65 -0
  451. eval_studio_client/api/test/test_v1alpha_update_operation_response.py +71 -0
  452. eval_studio_client/api/test/test_v1alpha_update_test_case_response.py +65 -0
  453. eval_studio_client/api/test/test_v1alpha_update_test_response.py +67 -0
  454. eval_studio_client/api/test/test_v1alpha_who_am_i_response.py +53 -0
  455. eval_studio_client/api/test/test_who_am_i_service_api.py +38 -0
  456. eval_studio_client/client.py +98 -0
  457. eval_studio_client/dashboards.py +187 -0
  458. eval_studio_client/documents.py +95 -0
  459. eval_studio_client/evaluators.py +65 -0
  460. eval_studio_client/gen/openapiv2/eval_studio.swagger.json +6043 -0
  461. eval_studio_client/insights.py +35 -0
  462. eval_studio_client/leaderboards.py +207 -0
  463. eval_studio_client/models.py +522 -0
  464. eval_studio_client/perturbators.py +101 -0
  465. eval_studio_client/problems.py +50 -0
  466. eval_studio_client/test_labs.py +319 -0
  467. eval_studio_client/tests.py +369 -0
  468. eval_studio_client-0.7.0.dist-info/METADATA +18 -0
  469. eval_studio_client-0.7.0.dist-info/RECORD +470 -0
  470. eval_studio_client-0.7.0.dist-info/WHEEL +4 -0
@@ -0,0 +1,67 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ ai/h2o/eval_studio/v1alpha/collection.proto
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: version not set
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from eval_studio_client.api.models.v1alpha_update_test_response import V1alphaUpdateTestResponse
18
+
19
+ class TestV1alphaUpdateTestResponse(unittest.TestCase):
20
+ """V1alphaUpdateTestResponse unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1alphaUpdateTestResponse:
29
+ """Test V1alphaUpdateTestResponse
30
+ include_option is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1alphaUpdateTestResponse`
34
+ """
35
+ model = V1alphaUpdateTestResponse()
36
+ if include_optional:
37
+ return V1alphaUpdateTestResponse(
38
+ test = eval_studio_client.api.models.v1alpha_test.v1alphaTest(
39
+ name = '',
40
+ create_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
41
+ creator = '',
42
+ update_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
43
+ updater = '',
44
+ delete_time = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
45
+ deleter = '',
46
+ display_name = '',
47
+ description = '',
48
+ documents = [
49
+ ''
50
+ ],
51
+ tags = [
52
+ ''
53
+ ],
54
+ demo = True, )
55
+ )
56
+ else:
57
+ return V1alphaUpdateTestResponse(
58
+ )
59
+ """
60
+
61
+ def testV1alphaUpdateTestResponse(self):
62
+ """Test V1alphaUpdateTestResponse"""
63
+ # inst_req_only = self.make_instance(include_optional=False)
64
+ # inst_req_and_optional = self.make_instance(include_optional=True)
65
+
66
+ if __name__ == '__main__':
67
+ unittest.main()
@@ -0,0 +1,53 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ ai/h2o/eval_studio/v1alpha/collection.proto
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: version not set
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from eval_studio_client.api.models.v1alpha_who_am_i_response import V1alphaWhoAmIResponse
18
+
19
+ class TestV1alphaWhoAmIResponse(unittest.TestCase):
20
+ """V1alphaWhoAmIResponse unit test stubs"""
21
+
22
+ def setUp(self):
23
+ pass
24
+
25
+ def tearDown(self):
26
+ pass
27
+
28
+ def make_instance(self, include_optional) -> V1alphaWhoAmIResponse:
29
+ """Test V1alphaWhoAmIResponse
30
+ include_option is a boolean, when False only required
31
+ params are included, when True both required and
32
+ optional params are included """
33
+ # uncomment below to create an instance of `V1alphaWhoAmIResponse`
34
+ """
35
+ model = V1alphaWhoAmIResponse()
36
+ if include_optional:
37
+ return V1alphaWhoAmIResponse(
38
+ sub = '',
39
+ preferred_username = '',
40
+ email = ''
41
+ )
42
+ else:
43
+ return V1alphaWhoAmIResponse(
44
+ )
45
+ """
46
+
47
+ def testV1alphaWhoAmIResponse(self):
48
+ """Test V1alphaWhoAmIResponse"""
49
+ # inst_req_only = self.make_instance(include_optional=False)
50
+ # inst_req_and_optional = self.make_instance(include_optional=True)
51
+
52
+ if __name__ == '__main__':
53
+ unittest.main()
@@ -0,0 +1,38 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ ai/h2o/eval_studio/v1alpha/collection.proto
5
+
6
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
7
+
8
+ The version of the OpenAPI document: version not set
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ import unittest
16
+
17
+ from eval_studio_client.api.api.who_am_i_service_api import WhoAmIServiceApi
18
+
19
+
20
+ class TestWhoAmIServiceApi(unittest.TestCase):
21
+ """WhoAmIServiceApi unit test stubs"""
22
+
23
+ def setUp(self) -> None:
24
+ self.api = WhoAmIServiceApi()
25
+
26
+ def tearDown(self) -> None:
27
+ pass
28
+
29
+ def test_who_am_i_service_who_am_i(self) -> None:
30
+ """Test case for who_am_i_service_who_am_i
31
+
32
+ WhoAmI is used to retrieve the caller's identity.
33
+ """
34
+ pass
35
+
36
+
37
+ if __name__ == '__main__':
38
+ unittest.main()
@@ -0,0 +1,98 @@
1
+ from typing import Callable
2
+ from typing import Optional
3
+
4
+ import h2o_authn
5
+
6
+ from eval_studio_client import api
7
+ from eval_studio_client import dashboards
8
+ from eval_studio_client import documents
9
+ from eval_studio_client import evaluators
10
+ from eval_studio_client import models
11
+ from eval_studio_client import perturbators
12
+ from eval_studio_client import test_labs
13
+ from eval_studio_client import tests
14
+
15
+
16
+ class Client:
17
+ """Main Eval Studio client class."""
18
+
19
+ def __init__(
20
+ self, host: str, token_provider: Optional[h2o_authn.TokenProvider] = None
21
+ ):
22
+ """Initialize the client connection to Eval Studio host.
23
+
24
+ Args:
25
+ host: The Eval Studio host URL.
26
+ token_provider: Optional TokenProvider used for authentication. If not
27
+ provided, the client will not set any authentication headers.
28
+ """
29
+ _host = host.rstrip("/")
30
+ _api_config = api.Configuration(host=_host)
31
+ self._api_client = api.ApiClient(configuration=_api_config)
32
+ if token_provider is not None:
33
+ self._api_client = _TokenApiClient(_api_config, token_provider.token)
34
+
35
+ self._dashboards = dashboards._Dashboards(self._api_client)
36
+ self._documents = documents._Documents(self._api_client)
37
+ self._evaluators = evaluators._Evaluators(self._api_client)
38
+ self._perturbators = perturbators._Perturbators(self._api_client)
39
+ self._models = models._Models(self._api_client)
40
+ self._tests = tests._Tests(self._api_client)
41
+ self._test_labs = test_labs._TestLabs(self._api_client)
42
+
43
+ @property
44
+ def dashboards(self) -> dashboards._Dashboards:
45
+ """API for managing the collection of dashboards."""
46
+ return self._dashboards
47
+
48
+ @property
49
+ def documents(self) -> documents._Documents:
50
+ """API for managing the collection of documents."""
51
+ return self._documents
52
+
53
+ @property
54
+ def evaluators(self) -> evaluators._Evaluators:
55
+ """API for getting information about evaluation techniques in the Eval Studio."""
56
+ return self._evaluators
57
+
58
+ @property
59
+ def perturbators(self) -> perturbators._Perturbators:
60
+ """API for getting information about perturbation techniques in the Eval Studio."""
61
+ return self._perturbators
62
+
63
+ @property
64
+ def models(self) -> models._Models:
65
+ """API for managing models and connections to RAG/LLM system."""
66
+ return self._models
67
+
68
+ @property
69
+ def tests(self) -> tests._Tests:
70
+ """API for managing the collection of tests."""
71
+ return self._tests
72
+
73
+ @property
74
+ def test_labs(self) -> test_labs._TestLabs:
75
+ """API for building and evaluating test labs."""
76
+ return self._test_labs
77
+
78
+
79
+ class _TokenApiClient(api.ApiClient):
80
+ """Custom API client class to handle bearer token authentication."""
81
+
82
+ def __init__(
83
+ self, configuration: api.Configuration, token_provider: Callable[[], str]
84
+ ):
85
+ self._token_provider = token_provider
86
+ super().__init__(configuration=configuration)
87
+
88
+ def update_params_for_auth(
89
+ self,
90
+ headers,
91
+ queries,
92
+ auth_settings,
93
+ resource_path,
94
+ method,
95
+ body,
96
+ request_auth=None,
97
+ ):
98
+ headers["Authorization"] = f"Bearer {self._token_provider()}"
@@ -0,0 +1,187 @@
1
+ import dataclasses
2
+ import datetime
3
+ import time
4
+ from typing import List
5
+ from typing import Optional
6
+
7
+ from eval_studio_client import api
8
+ from eval_studio_client import insights as i6s
9
+ from eval_studio_client import leaderboards as l10s
10
+ from eval_studio_client import problems as p6s
11
+ from eval_studio_client.api import models
12
+
13
+
14
+ @dataclasses.dataclass
15
+ class Dashboard:
16
+ """Dashboard groups score of Model on given Tests.
17
+
18
+ Attributes:
19
+ key (str): Generated ID of the dashboard.
20
+ name (str): Name of the dashboard.
21
+ description (str): Description of the dashboard.
22
+ url (str): URL of the dashboard host system.
23
+ api_key (str): API key for the dashboard host system.
24
+ is_rag (bool): Whether the dashboard is a RAG or LLM-only system.
25
+ create_time (datetime): Timestamp of the dashboard creation.
26
+ update_time (datetime): Timestamp of the last dashboard update.
27
+ """
28
+
29
+ key: str
30
+ name: str
31
+ description: str
32
+ _leaderboards: List[str]
33
+ create_time: Optional[datetime.datetime] = None
34
+ update_time: Optional[datetime.datetime] = None
35
+ _create_operation: Optional[str] = None
36
+ _client: Optional[api.ApiClient] = None
37
+
38
+ def __post_init__(self):
39
+ if self._client:
40
+ self._dashboard_api = api.DashboardServiceApi(self._client)
41
+ self._leaderboard_api = api.LeaderboardServiceApi(self._client)
42
+
43
+ @property
44
+ def leaderboards(self) -> Optional[List[l10s.Leaderboard]]:
45
+ """Returns the leaderboards in the dashboard."""
46
+ if self._client and self._leaderboards:
47
+ get_lbs_resp = (
48
+ self._leaderboard_api.leaderboard_service_batch_get_leaderboards(
49
+ self._leaderboards
50
+ )
51
+ )
52
+ if get_lbs_resp:
53
+ return [
54
+ l10s.Leaderboard._from_api_leaderboard(lb, self._client)
55
+ for lb in get_lbs_resp.leaderboards
56
+ ]
57
+ return None
58
+
59
+ @property
60
+ def finished(self) -> bool:
61
+ """Indicates whether all leaderboards in the dashboard have finished."""
62
+ if self.leaderboards:
63
+ return all(lb.finished for lb in self.leaderboards)
64
+ return False
65
+
66
+ @property
67
+ def successful(self) -> bool:
68
+ """Indicates whether all leaderboards in the dashboard have finished successfully."""
69
+ if self.leaderboards:
70
+ return all(lb.successful for lb in self.leaderboards)
71
+ return False
72
+
73
+ @property
74
+ def problems(self) -> List[p6s.Problem]:
75
+ """Retrieves the problems detected in the dashboard.
76
+ The problems are aggregated across all leaderboards in the Dashboard.
77
+ """
78
+ lbs = self.leaderboards or []
79
+ problems_agg = []
80
+ for lb in lbs:
81
+ problems_agg.extend(lb.problems or [])
82
+ return problems_agg
83
+
84
+ @property
85
+ def insights(self) -> List[i6s.Insight]:
86
+ """Retrieves the insights provided by the evaluation.
87
+ The insights are aggregated across all leaderboards in the Dashboard.
88
+ """
89
+ lbs = self.leaderboards or []
90
+ insights_agg = []
91
+ for lb in lbs:
92
+ insights_agg.extend(lb.insights or [])
93
+ return insights_agg
94
+
95
+ def download_report(self, dest: str):
96
+ """Downloads the dashboard report to the given destination."""
97
+
98
+ # All leaderboards in the dashboard have the same report. Download the first successful one.
99
+ lbs = self.leaderboards
100
+ if lbs:
101
+ for lb in lbs:
102
+ try:
103
+ return lb.download_report(dest)
104
+ except (ValueError, RuntimeError):
105
+ continue
106
+ raise ValueError("No successful leaderboard found.")
107
+
108
+ def delete(self, delete_leaderboards: bool = False):
109
+ """Deletes the dashboard."""
110
+ if self._client:
111
+ if delete_leaderboards:
112
+ if self.leaderboards:
113
+ for lb in self.leaderboards:
114
+ lb.delete()
115
+ self._dashboard_api.dashboard_service_delete_dashboard(self.key)
116
+ else:
117
+ raise ValueError("Cannot establish connection to Eval Studio host.")
118
+
119
+ def wait_to_finish(self, timeout: Optional[float] = None):
120
+ """Waits for the dashboard to finish.
121
+
122
+ Args:
123
+ timeout: The maximum time to wait in seconds.
124
+ """
125
+ timeout = timeout or float("inf")
126
+ if self.finished:
127
+ return
128
+
129
+ if self._client:
130
+ ctr = 0
131
+ while ctr < timeout:
132
+ lbs = self.leaderboards
133
+ if lbs:
134
+ if all(lb.finished for lb in lbs):
135
+ return
136
+
137
+ ctr += 1
138
+ time.sleep(1)
139
+ else:
140
+ raise ValueError("Cannot establish connection to Eval Studio host.")
141
+
142
+ raise TimeoutError("Waiting timeout has been reached.")
143
+
144
+ @staticmethod
145
+ def _from_api_dashboard(
146
+ api_dashboard: models.V1alphaDashboard, client: api.ApiClient
147
+ ) -> "Dashboard":
148
+ """Converts the API dashboard to the client dashboard."""
149
+ return Dashboard(
150
+ key=api_dashboard.name or "",
151
+ name=api_dashboard.display_name or "",
152
+ description=api_dashboard.description or "",
153
+ _leaderboards=api_dashboard.leaderboards or [],
154
+ create_time=api_dashboard.create_time,
155
+ update_time=api_dashboard.update_time,
156
+ _create_operation=api_dashboard.create_operation,
157
+ _client=client,
158
+ )
159
+
160
+
161
+ class _Dashboards:
162
+ def __init__(self, client: api.ApiClient):
163
+ self._client = client
164
+ self._api = api.DashboardServiceApi(client)
165
+
166
+ def get(self, key: str) -> Dashboard:
167
+ """Gets a dashboard with given key from Eval Studio.
168
+
169
+ Args:
170
+ key: The dashboard resource name to retrieve.
171
+ """
172
+ res = self._api.dashboard_service_get_dashboard(key)
173
+ if res and res.dashboard:
174
+ return Dashboard._from_api_dashboard(res.dashboard, self._client)
175
+
176
+ raise KeyError("Dashboard not found.")
177
+
178
+ def list(self) -> List[Dashboard]:
179
+ """Lists all user dashboards in Eval Studio."""
180
+ res = self._api.dashboard_service_list_dashboards()
181
+ if res:
182
+ res_dashboards = res.dashboards or []
183
+ return [
184
+ Dashboard._from_api_dashboard(m, self._client) for m in res_dashboards
185
+ ]
186
+
187
+ return []
@@ -0,0 +1,95 @@
1
+ import dataclasses
2
+ import datetime
3
+ from typing import List
4
+ from typing import Optional
5
+
6
+ from eval_studio_client import api
7
+ from eval_studio_client.api import models
8
+
9
+
10
+ @dataclasses.dataclass
11
+ class Document:
12
+ """Represents a document in Eval Studio, that can be uploaded to RAG system.
13
+
14
+ Attributes:
15
+ key (str): Generated ID of the document.
16
+ name (str): Display name of the document.
17
+ description (str): Description of the document.
18
+ url (str): URL of the document.
19
+ create_time (datetime): Timestamp of the document creation.
20
+ update_time (datetime): Timestamp of the last document update.
21
+ """
22
+
23
+ key: str
24
+ name: str
25
+ description: str
26
+ url: str
27
+ create_time: Optional[datetime.datetime] = None
28
+ update_time: Optional[datetime.datetime] = None
29
+ _client: Optional[api.ApiClient] = None
30
+
31
+ def __post_init__(self):
32
+ if self._client:
33
+ self._document_api = api.DocumentServiceApi(self._client)
34
+
35
+ def delete(self):
36
+ """Deletes the document."""
37
+ self._document_api.document_service_delete_document(self.key)
38
+
39
+ def to_api_proto(self) -> models.V1alphaDocument:
40
+ """Converts the client Document to an API Document."""
41
+ return models.V1alphaDocument(
42
+ display_name=self.name, description=self.description, url=self.url
43
+ )
44
+
45
+ @staticmethod
46
+ def _from_api_document(
47
+ api_document: models.V1alphaDocument, client: Optional[api.ApiClient]
48
+ ) -> "Document":
49
+ """Converts an API Document to a client Document."""
50
+ return Document(
51
+ key=api_document.name or "",
52
+ name=api_document.display_name or "",
53
+ description=api_document.description or "",
54
+ url=api_document.url or "",
55
+ create_time=api_document.create_time or None,
56
+ update_time=api_document.update_time or None,
57
+ _client=client,
58
+ )
59
+
60
+
61
+ class _Documents:
62
+ def __init__(self, client: api.ApiClient):
63
+ self._client = client
64
+ self._api = api.DocumentServiceApi(client)
65
+
66
+ def get(self, key: str) -> Document:
67
+ """Retrieves a document by its resource name.
68
+
69
+ Args:
70
+ key: The document resource name to retrieve.
71
+
72
+ Returns:
73
+ The document with the given resource name.
74
+ """
75
+ res = self._api.document_service_get_document(key)
76
+ if res and res.document:
77
+ return Document._from_api_document(res.document, self._client)
78
+
79
+ raise KeyError("Document not found.")
80
+
81
+ def list(self) -> List[Document]:
82
+ """List all user documents in Eval Studio."""
83
+ res = self._api.document_service_list_documents()
84
+ if res and res.documents:
85
+ return [Document._from_api_document(d, self._client) for d in res.documents]
86
+
87
+ return []
88
+
89
+ def delete(self, key: str):
90
+ """Deletes the document with the given resource name from the Eval Studio.
91
+
92
+ Args:
93
+ key: The document resource name to delete.
94
+ """
95
+ self._api.document_service_delete_document(key)
@@ -0,0 +1,65 @@
1
+ import dataclasses
2
+ from typing import List
3
+
4
+ from eval_studio_client import api
5
+ from eval_studio_client.api import models
6
+
7
+
8
+ @dataclasses.dataclass
9
+ class Evaluator:
10
+ """Represents an evaluation method in Eval Studio.
11
+
12
+ Attributes:
13
+ key (str): Generated ID of the evaluator.
14
+ name (str): Display name of the evaluator.
15
+ description (str): Description of the evaluator.
16
+ keywords (List[str]): Keywords associated with the evaluator.
17
+ These include tags specifying whether evaluators can be used for
18
+ RAG evaluation, LLM evaluation, or both.
19
+ enabled (bool): Whether this evaluator is enabled and can be used for evaluation.
20
+ """
21
+
22
+ key: str
23
+ name: str
24
+ description: str
25
+ keywords: List[str]
26
+ enabled: bool
27
+
28
+ @staticmethod
29
+ def _from_api_evaluator(api_evaluator: models.V1alphaEvaluator) -> "Evaluator":
30
+ """Converts an API Evaluator to a client Evaluator."""
31
+ return Evaluator(
32
+ key=api_evaluator.name or "",
33
+ name=api_evaluator.display_name or "",
34
+ description=(
35
+ api_evaluator.description or api_evaluator.brief_description or ""
36
+ ),
37
+ keywords=api_evaluator.tags or [],
38
+ enabled=api_evaluator.enabled or False,
39
+ )
40
+
41
+
42
+ class _Evaluators:
43
+ def __init__(self, client: api.ApiClient):
44
+ self._client = client
45
+ self._api = api.EvaluatorServiceApi(client)
46
+
47
+ def get(self, key: str) -> Evaluator:
48
+ """Retrieves an evaluator by key.
49
+
50
+ Args:
51
+ key (str): ID of the evaluator.
52
+ """
53
+ res = self._api.evaluator_service_get_evaluator(key)
54
+ if res and res.evaluator:
55
+ return Evaluator._from_api_evaluator(res.evaluator)
56
+
57
+ raise KeyError("Evaluator not found")
58
+
59
+ def list(self) -> List[Evaluator]:
60
+ """Lists all available evaluators in Eval Studio."""
61
+ res = self._api.evaluator_service_list_evaluators()
62
+ if res and res.evaluators:
63
+ return [Evaluator._from_api_evaluator(e) for e in res.evaluators]
64
+
65
+ return []