eval-studio-client 0.8.0a2__py3-none-any.whl → 0.8.2__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 (573) hide show
  1. eval_studio_client/__init__.py +2 -1
  2. eval_studio_client/api/__init__.py +125 -120
  3. eval_studio_client/api/api/__init__.py +1 -0
  4. eval_studio_client/api/api/dashboard_service_api.py +71 -71
  5. eval_studio_client/api/api/document_service_api.py +64 -64
  6. eval_studio_client/api/api/evaluation_service_api.py +42 -42
  7. eval_studio_client/api/api/evaluator_service_api.py +50 -50
  8. eval_studio_client/api/api/info_service_api.py +8 -8
  9. eval_studio_client/api/api/leaderboard_service_api.py +126 -126
  10. eval_studio_client/api/api/model_service_api.py +92 -92
  11. eval_studio_client/api/api/operation_progress_service_api.py +8 -8
  12. eval_studio_client/api/api/operation_service_api.py +36 -36
  13. eval_studio_client/api/api/perturbation_service_api.py +8 -8
  14. eval_studio_client/api/api/perturbator_service_api.py +15 -15
  15. eval_studio_client/api/api/prompt_generation_service_api.py +321 -0
  16. eval_studio_client/api/api/test_case_service_api.py +57 -57
  17. eval_studio_client/api/api/test_class_service_api.py +15 -15
  18. eval_studio_client/api/api/test_lab_service_api.py +22 -22
  19. eval_studio_client/api/api/test_service_api.py +376 -92
  20. eval_studio_client/api/api/who_am_i_service_api.py +8 -8
  21. eval_studio_client/api/api_client.py +1 -1
  22. eval_studio_client/api/configuration.py +1 -1
  23. eval_studio_client/api/docs/DashboardServiceApi.md +38 -38
  24. eval_studio_client/api/docs/DocumentServiceApi.md +34 -34
  25. eval_studio_client/api/docs/EvaluationServiceApi.md +22 -22
  26. eval_studio_client/api/docs/EvaluatorServiceApi.md +26 -26
  27. eval_studio_client/api/docs/InfoServiceApi.md +4 -4
  28. eval_studio_client/api/docs/LeaderboardServiceApi.md +66 -66
  29. eval_studio_client/api/docs/ModelServiceApi.md +50 -50
  30. eval_studio_client/api/docs/OperationProgressServiceApi.md +4 -4
  31. eval_studio_client/api/docs/OperationServiceApi.md +20 -20
  32. eval_studio_client/api/docs/PerturbationServiceApi.md +4 -4
  33. eval_studio_client/api/docs/PerturbationServiceCreatePerturbationRequest.md +3 -3
  34. eval_studio_client/api/docs/PerturbatorServiceApi.md +8 -8
  35. eval_studio_client/api/docs/PromptGenerationServiceApi.md +78 -0
  36. eval_studio_client/api/docs/PromptGenerationServiceAutoGeneratePromptsRequest.md +35 -0
  37. eval_studio_client/api/docs/RequiredTheDashboardToUpdate.md +1 -1
  38. eval_studio_client/api/docs/RequiredTheLeaderboardToUpdate.md +4 -4
  39. eval_studio_client/api/docs/RequiredTheModelToUpdate.md +1 -1
  40. eval_studio_client/api/docs/TestCaseServiceApi.md +31 -31
  41. eval_studio_client/api/docs/TestClassServiceApi.md +8 -8
  42. eval_studio_client/api/docs/TestLabServiceApi.md +11 -11
  43. eval_studio_client/api/docs/TestServiceApi.md +119 -49
  44. eval_studio_client/api/docs/TestServiceGenerateTestCasesRequest.md +33 -0
  45. eval_studio_client/api/docs/TestServicePerturbTestRequest.md +1 -1
  46. eval_studio_client/api/docs/V1BatchCreateLeaderboardsRequest.md +31 -0
  47. eval_studio_client/api/docs/V1BatchCreateLeaderboardsResponse.md +29 -0
  48. eval_studio_client/api/docs/V1BatchDeleteDashboardsRequest.md +29 -0
  49. eval_studio_client/api/docs/V1BatchDeleteDashboardsResponse.md +29 -0
  50. eval_studio_client/api/docs/V1BatchDeleteDocumentsRequest.md +29 -0
  51. eval_studio_client/api/docs/V1BatchDeleteDocumentsResponse.md +29 -0
  52. eval_studio_client/api/docs/V1BatchDeleteEvaluatorsRequest.md +29 -0
  53. eval_studio_client/api/docs/V1BatchDeleteEvaluatorsResponse.md +29 -0
  54. eval_studio_client/api/docs/V1BatchDeleteLeaderboardsRequest.md +30 -0
  55. eval_studio_client/api/docs/V1BatchDeleteLeaderboardsResponse.md +29 -0
  56. eval_studio_client/api/docs/V1BatchDeleteModelsRequest.md +29 -0
  57. eval_studio_client/api/docs/V1BatchDeleteModelsResponse.md +29 -0
  58. eval_studio_client/api/docs/V1BatchDeleteTestCasesResponse.md +29 -0
  59. eval_studio_client/api/docs/{V1alphaBatchDeleteTestsRequest.md → V1BatchDeleteTestsRequest.md} +8 -8
  60. eval_studio_client/api/docs/V1BatchDeleteTestsResponse.md +29 -0
  61. eval_studio_client/api/docs/V1BatchGetDashboardsResponse.md +29 -0
  62. eval_studio_client/api/docs/V1BatchGetDocumentsResponse.md +29 -0
  63. eval_studio_client/api/docs/V1BatchGetLeaderboardsResponse.md +29 -0
  64. eval_studio_client/api/docs/V1BatchGetModelsResponse.md +29 -0
  65. eval_studio_client/api/docs/V1BatchGetOperationsResponse.md +29 -0
  66. eval_studio_client/api/docs/V1BatchGetTestsResponse.md +29 -0
  67. eval_studio_client/api/docs/{V1alphaBatchImportLeaderboardRequest.md → V1BatchImportLeaderboardRequest.md} +9 -9
  68. eval_studio_client/api/docs/V1BatchImportLeaderboardResponse.md +29 -0
  69. eval_studio_client/api/docs/{V1alphaBatchImportTestsRequest.md → V1BatchImportTestsRequest.md} +8 -8
  70. eval_studio_client/api/docs/V1BatchImportTestsResponse.md +29 -0
  71. eval_studio_client/api/docs/V1CheckBaseModelsResponse.md +30 -0
  72. eval_studio_client/api/docs/{V1alphaCollectionInfo.md → V1CollectionInfo.md} +8 -8
  73. eval_studio_client/api/docs/V1CreateDashboardResponse.md +29 -0
  74. eval_studio_client/api/docs/V1CreateDocumentResponse.md +29 -0
  75. eval_studio_client/api/docs/{V1alphaCreateEvaluationRequest.md → V1CreateEvaluationRequest.md} +10 -10
  76. eval_studio_client/api/docs/V1CreateEvaluatorResponse.md +29 -0
  77. eval_studio_client/api/docs/V1CreateLeaderboardRequest.md +29 -0
  78. eval_studio_client/api/docs/V1CreateLeaderboardResponse.md +29 -0
  79. eval_studio_client/api/docs/V1CreateLeaderboardWithoutCacheResponse.md +29 -0
  80. eval_studio_client/api/docs/V1CreateModelResponse.md +29 -0
  81. eval_studio_client/api/docs/V1CreatePerturbationResponse.md +29 -0
  82. eval_studio_client/api/docs/V1CreateTestCaseResponse.md +29 -0
  83. eval_studio_client/api/docs/V1CreateTestLabResponse.md +29 -0
  84. eval_studio_client/api/docs/V1CreateTestResponse.md +29 -0
  85. eval_studio_client/api/docs/{V1alphaDashboard.md → V1Dashboard.md} +9 -9
  86. eval_studio_client/api/docs/{V1alphaDashboardStatus.md → V1DashboardStatus.md} +1 -1
  87. eval_studio_client/api/docs/V1DeleteDashboardResponse.md +29 -0
  88. eval_studio_client/api/docs/V1DeleteDocumentResponse.md +29 -0
  89. eval_studio_client/api/docs/V1DeleteEvaluatorResponse.md +29 -0
  90. eval_studio_client/api/docs/V1DeleteLeaderboardResponse.md +29 -0
  91. eval_studio_client/api/docs/V1DeleteModelResponse.md +29 -0
  92. eval_studio_client/api/docs/V1DeleteTestCaseResponse.md +29 -0
  93. eval_studio_client/api/docs/V1DeleteTestResponse.md +29 -0
  94. eval_studio_client/api/docs/{V1alphaDocument.md → V1Document.md} +8 -8
  95. eval_studio_client/api/docs/V1EvaluationTest.md +32 -0
  96. eval_studio_client/api/docs/{V1alphaEvaluator.md → V1Evaluator.md} +10 -9
  97. eval_studio_client/api/docs/{V1alphaEvaluatorParamType.md → V1EvaluatorParamType.md} +1 -1
  98. eval_studio_client/api/docs/{V1alphaEvaluatorParameter.md → V1EvaluatorParameter.md} +9 -9
  99. eval_studio_client/api/docs/{V1alphaEvaluatorView.md → V1EvaluatorView.md} +1 -1
  100. eval_studio_client/api/docs/V1FinalizeOperationResponse.md +29 -0
  101. eval_studio_client/api/docs/V1FindAllTestCasesByIDResponse.md +29 -0
  102. eval_studio_client/api/docs/V1FindTestLabResponse.md +29 -0
  103. eval_studio_client/api/docs/V1GenerateTestCasesResponse.md +29 -0
  104. eval_studio_client/api/docs/V1GetDashboardResponse.md +29 -0
  105. eval_studio_client/api/docs/V1GetDocumentResponse.md +29 -0
  106. eval_studio_client/api/docs/V1GetEvaluatorResponse.md +29 -0
  107. eval_studio_client/api/docs/V1GetInfoResponse.md +29 -0
  108. eval_studio_client/api/docs/V1GetLeaderboardResponse.md +29 -0
  109. eval_studio_client/api/docs/V1GetModelResponse.md +29 -0
  110. eval_studio_client/api/docs/V1GetOperationProgressByParentResponse.md +29 -0
  111. eval_studio_client/api/docs/V1GetOperationResponse.md +29 -0
  112. eval_studio_client/api/docs/V1GetPerturbatorResponse.md +29 -0
  113. eval_studio_client/api/docs/V1GetTestCaseResponse.md +29 -0
  114. eval_studio_client/api/docs/V1GetTestClassResponse.md +29 -0
  115. eval_studio_client/api/docs/V1GetTestResponse.md +29 -0
  116. eval_studio_client/api/docs/{V1alphaImportEvaluationRequest.md → V1ImportEvaluationRequest.md} +9 -9
  117. eval_studio_client/api/docs/{V1alphaImportLeaderboardRequest.md → V1ImportLeaderboardRequest.md} +9 -9
  118. eval_studio_client/api/docs/V1ImportLeaderboardResponse.md +29 -0
  119. eval_studio_client/api/docs/{V1alphaInfo.md → V1Info.md} +8 -8
  120. eval_studio_client/api/docs/{V1alphaInsight.md → V1Insight.md} +8 -8
  121. eval_studio_client/api/docs/{V1alphaLeaderboard.md → V1Leaderboard.md} +12 -12
  122. eval_studio_client/api/docs/{V1alphaLeaderboardStatus.md → V1LeaderboardStatus.md} +1 -1
  123. eval_studio_client/api/docs/{V1alphaLeaderboardType.md → V1LeaderboardType.md} +1 -1
  124. eval_studio_client/api/docs/{V1alphaLeaderboardView.md → V1LeaderboardView.md} +1 -1
  125. eval_studio_client/api/docs/V1ListBaseModelsResponse.md +29 -0
  126. eval_studio_client/api/docs/V1ListDashboardsResponse.md +29 -0
  127. eval_studio_client/api/docs/V1ListDocumentsResponse.md +29 -0
  128. eval_studio_client/api/docs/V1ListEvaluatorsResponse.md +29 -0
  129. eval_studio_client/api/docs/V1ListLLMModelsResponse.md +29 -0
  130. eval_studio_client/api/docs/V1ListLeaderboardsResponse.md +30 -0
  131. eval_studio_client/api/docs/V1ListModelCollectionsResponse.md +29 -0
  132. eval_studio_client/api/docs/V1ListModelsResponse.md +29 -0
  133. eval_studio_client/api/docs/V1ListMostRecentDashboardsResponse.md +29 -0
  134. eval_studio_client/api/docs/V1ListMostRecentLeaderboardsResponse.md +29 -0
  135. eval_studio_client/api/docs/V1ListMostRecentModelsResponse.md +29 -0
  136. eval_studio_client/api/docs/V1ListMostRecentTestsResponse.md +29 -0
  137. eval_studio_client/api/docs/V1ListOperationsResponse.md +29 -0
  138. eval_studio_client/api/docs/V1ListPerturbatorsResponse.md +29 -0
  139. eval_studio_client/api/docs/V1ListRAGCollectionsResponse.md +29 -0
  140. eval_studio_client/api/docs/V1ListTestCasesResponse.md +29 -0
  141. eval_studio_client/api/docs/V1ListTestClassesResponse.md +29 -0
  142. eval_studio_client/api/docs/V1ListTestsResponse.md +29 -0
  143. eval_studio_client/api/docs/{V1alphaModel.md → V1Model.md} +9 -9
  144. eval_studio_client/api/docs/{V1alphaModelType.md → V1ModelType.md} +1 -1
  145. eval_studio_client/api/docs/{V1alphaOperation.md → V1Operation.md} +8 -8
  146. eval_studio_client/api/docs/{V1alphaOperationProgress.md → V1OperationProgress.md} +8 -8
  147. eval_studio_client/api/docs/V1PerturbTestResponse.md +29 -0
  148. eval_studio_client/api/docs/{V1alphaPerturbator.md → V1Perturbator.md} +8 -8
  149. eval_studio_client/api/docs/V1PerturbatorConfiguration.md +32 -0
  150. eval_studio_client/api/docs/{V1alphaPerturbatorIntensity.md → V1PerturbatorIntensity.md} +1 -1
  151. eval_studio_client/api/docs/{V1alphaProblemAndAction.md → V1ProblemAndAction.md} +8 -8
  152. eval_studio_client/api/docs/{V1alphaTest.md → V1Test.md} +8 -8
  153. eval_studio_client/api/docs/{V1alphaTestCase.md → V1TestCase.md} +8 -8
  154. eval_studio_client/api/docs/{V1alphaTestCaseRelationship.md → V1TestCaseRelationship.md} +8 -8
  155. eval_studio_client/api/docs/V1TestCasesGenerator.md +11 -0
  156. eval_studio_client/api/docs/{V1alphaTestClass.md → V1TestClass.md} +9 -9
  157. eval_studio_client/api/docs/{V1alphaTestClassType.md → V1TestClassType.md} +1 -1
  158. eval_studio_client/api/docs/{V1alphaTestLab.md → V1TestLab.md} +8 -8
  159. eval_studio_client/api/docs/V1UpdateDashboardResponse.md +29 -0
  160. eval_studio_client/api/docs/V1UpdateDocumentResponse.md +29 -0
  161. eval_studio_client/api/docs/V1UpdateLeaderboardResponse.md +29 -0
  162. eval_studio_client/api/docs/V1UpdateModelResponse.md +29 -0
  163. eval_studio_client/api/docs/V1UpdateOperationResponse.md +29 -0
  164. eval_studio_client/api/docs/V1UpdateTestCaseResponse.md +29 -0
  165. eval_studio_client/api/docs/V1UpdateTestResponse.md +29 -0
  166. eval_studio_client/api/docs/{V1alphaWhoAmIResponse.md → V1WhoAmIResponse.md} +8 -8
  167. eval_studio_client/api/docs/WhoAmIServiceApi.md +4 -4
  168. eval_studio_client/api/exceptions.py +1 -1
  169. eval_studio_client/api/models/__init__.py +124 -120
  170. eval_studio_client/api/models/perturbation_service_create_perturbation_request.py +10 -10
  171. eval_studio_client/api/models/prompt_generation_service_auto_generate_prompts_request.py +104 -0
  172. eval_studio_client/api/models/protobuf_any.py +1 -1
  173. eval_studio_client/api/models/required_the_dashboard_to_update.py +3 -3
  174. eval_studio_client/api/models/required_the_document_to_update.py +1 -1
  175. eval_studio_client/api/models/required_the_leaderboard_to_update.py +11 -11
  176. eval_studio_client/api/models/required_the_model_to_update.py +3 -3
  177. eval_studio_client/api/models/required_the_operation_to_finalize.py +1 -1
  178. eval_studio_client/api/models/required_the_operation_to_update.py +1 -1
  179. eval_studio_client/api/models/required_the_test_case_to_update.py +1 -1
  180. eval_studio_client/api/models/required_the_test_to_update.py +1 -1
  181. eval_studio_client/api/models/rpc_status.py +1 -1
  182. eval_studio_client/api/models/test_case_service_batch_delete_test_cases_request.py +1 -1
  183. eval_studio_client/api/models/test_service_generate_test_cases_request.py +96 -0
  184. eval_studio_client/api/models/test_service_perturb_test_request.py +4 -4
  185. eval_studio_client/api/models/{v1alpha_batch_create_leaderboards_request.py → v1_batch_create_leaderboards_request.py} +8 -8
  186. eval_studio_client/api/models/{v1alpha_update_operation_response.py → v1_batch_create_leaderboards_response.py} +8 -8
  187. eval_studio_client/api/models/{v1alpha_batch_delete_dashboards_request.py → v1_batch_delete_dashboards_request.py} +5 -5
  188. eval_studio_client/api/models/{v1alpha_list_dashboards_response.py → v1_batch_delete_dashboards_response.py} +8 -8
  189. eval_studio_client/api/models/{v1alpha_batch_delete_documents_request.py → v1_batch_delete_documents_request.py} +5 -5
  190. eval_studio_client/api/models/{v1alpha_list_documents_response.py → v1_batch_delete_documents_response.py} +8 -8
  191. eval_studio_client/api/models/{v1alpha_batch_delete_evaluators_request.py → v1_batch_delete_evaluators_request.py} +5 -5
  192. eval_studio_client/api/models/{v1alpha_list_evaluators_response.py → v1_batch_delete_evaluators_response.py} +8 -8
  193. eval_studio_client/api/models/{v1alpha_batch_delete_leaderboards_request.py → v1_batch_delete_leaderboards_request.py} +7 -7
  194. eval_studio_client/api/models/{v1alpha_batch_get_leaderboards_response.py → v1_batch_delete_leaderboards_response.py} +8 -8
  195. eval_studio_client/api/models/{v1alpha_batch_delete_models_request.py → v1_batch_delete_models_request.py} +5 -5
  196. eval_studio_client/api/models/{v1alpha_list_models_response.py → v1_batch_delete_models_response.py} +8 -8
  197. eval_studio_client/api/models/{v1alpha_list_test_cases_response.py → v1_batch_delete_test_cases_response.py} +8 -8
  198. eval_studio_client/api/models/{v1alpha_batch_delete_tests_request.py → v1_batch_delete_tests_request.py} +5 -5
  199. eval_studio_client/api/models/{v1alpha_list_tests_response.py → v1_batch_delete_tests_response.py} +8 -8
  200. eval_studio_client/api/models/{v1alpha_batch_get_dashboards_response.py → v1_batch_get_dashboards_response.py} +8 -8
  201. eval_studio_client/api/models/{v1alpha_batch_get_documents_response.py → v1_batch_get_documents_response.py} +8 -8
  202. eval_studio_client/api/models/{v1alpha_batch_delete_leaderboards_response.py → v1_batch_get_leaderboards_response.py} +8 -8
  203. eval_studio_client/api/models/{v1alpha_batch_get_models_response.py → v1_batch_get_models_response.py} +8 -8
  204. eval_studio_client/api/models/{v1alpha_list_operations_response.py → v1_batch_get_operations_response.py} +8 -8
  205. eval_studio_client/api/models/{v1alpha_batch_get_tests_response.py → v1_batch_get_tests_response.py} +8 -8
  206. eval_studio_client/api/models/{v1alpha_batch_import_leaderboard_request.py → v1_batch_import_leaderboard_request.py} +7 -7
  207. eval_studio_client/api/models/{v1alpha_import_leaderboard_response.py → v1_batch_import_leaderboard_response.py} +8 -8
  208. eval_studio_client/api/models/{v1alpha_batch_import_tests_request.py → v1_batch_import_tests_request.py} +5 -5
  209. eval_studio_client/api/models/{v1alpha_batch_delete_tests_response.py → v1_batch_import_tests_response.py} +8 -8
  210. eval_studio_client/api/models/{v1alpha_check_base_models_response.py → v1_check_base_models_response.py} +5 -5
  211. eval_studio_client/api/models/{v1alpha_collection_info.py → v1_collection_info.py} +4 -4
  212. eval_studio_client/api/models/{v1alpha_get_dashboard_response.py → v1_create_dashboard_response.py} +8 -8
  213. eval_studio_client/api/models/{v1alpha_get_document_response.py → v1_create_document_response.py} +8 -8
  214. eval_studio_client/api/models/{v1alpha_create_evaluation_request.py → v1_create_evaluation_request.py} +11 -11
  215. eval_studio_client/api/models/{v1alpha_get_evaluator_response.py → v1_create_evaluator_response.py} +8 -8
  216. eval_studio_client/api/models/{v1alpha_get_leaderboard_response.py → v1_create_leaderboard_request.py} +8 -8
  217. eval_studio_client/api/models/{v1alpha_get_operation_response.py → v1_create_leaderboard_response.py} +8 -8
  218. eval_studio_client/api/models/v1_create_leaderboard_without_cache_response.py +91 -0
  219. eval_studio_client/api/models/{v1alpha_get_model_response.py → v1_create_model_response.py} +8 -8
  220. eval_studio_client/api/models/{v1alpha_create_perturbation_response.py → v1_create_perturbation_response.py} +5 -5
  221. eval_studio_client/api/models/{v1alpha_get_test_case_response.py → v1_create_test_case_response.py} +8 -8
  222. eval_studio_client/api/models/{v1alpha_find_test_lab_response.py → v1_create_test_lab_response.py} +8 -8
  223. eval_studio_client/api/models/{v1alpha_get_test_response.py → v1_create_test_response.py} +8 -8
  224. eval_studio_client/api/models/{v1alpha_dashboard.py → v1_dashboard.py} +7 -7
  225. eval_studio_client/api/models/{v1alpha_dashboard_status.py → v1_dashboard_status.py} +3 -3
  226. eval_studio_client/api/models/{v1alpha_update_dashboard_response.py → v1_delete_dashboard_response.py} +8 -8
  227. eval_studio_client/api/models/{v1alpha_update_document_response.py → v1_delete_document_response.py} +8 -8
  228. eval_studio_client/api/models/{v1alpha_create_evaluator_response.py → v1_delete_evaluator_response.py} +8 -8
  229. eval_studio_client/api/models/{v1alpha_create_leaderboard_request.py → v1_delete_leaderboard_response.py} +8 -8
  230. eval_studio_client/api/models/{v1alpha_create_model_response.py → v1_delete_model_response.py} +8 -8
  231. eval_studio_client/api/models/{v1alpha_delete_test_case_response.py → v1_delete_test_case_response.py} +8 -8
  232. eval_studio_client/api/models/{v1alpha_create_test_response.py → v1_delete_test_response.py} +8 -8
  233. eval_studio_client/api/models/{v1alpha_document.py → v1_document.py} +5 -5
  234. eval_studio_client/api/models/{v1alpha_evaluation_test.py → v1_evaluation_test.py} +10 -10
  235. eval_studio_client/api/models/{v1alpha_evaluator.py → v1_evaluator.py} +14 -10
  236. eval_studio_client/api/models/{v1alpha_evaluator_param_type.py → v1_evaluator_param_type.py} +3 -3
  237. eval_studio_client/api/models/{v1alpha_evaluator_parameter.py → v1_evaluator_parameter.py} +7 -7
  238. eval_studio_client/api/models/{v1alpha_evaluator_view.py → v1_evaluator_view.py} +3 -3
  239. eval_studio_client/api/models/{v1alpha_create_leaderboard_response.py → v1_finalize_operation_response.py} +8 -8
  240. eval_studio_client/api/models/{v1alpha_find_all_test_cases_by_id_response.py → v1_find_all_test_cases_by_id_response.py} +8 -8
  241. eval_studio_client/api/models/{v1alpha_create_test_lab_response.py → v1_find_test_lab_response.py} +8 -8
  242. eval_studio_client/api/models/{v1alpha_finalize_operation_response.py → v1_generate_test_cases_response.py} +8 -8
  243. eval_studio_client/api/models/{v1alpha_create_dashboard_response.py → v1_get_dashboard_response.py} +8 -8
  244. eval_studio_client/api/models/{v1alpha_delete_document_response.py → v1_get_document_response.py} +8 -8
  245. eval_studio_client/api/models/{v1alpha_delete_evaluator_response.py → v1_get_evaluator_response.py} +8 -8
  246. eval_studio_client/api/models/{v1alpha_get_info_response.py → v1_get_info_response.py} +8 -8
  247. eval_studio_client/api/models/{v1alpha_update_leaderboard_response.py → v1_get_leaderboard_response.py} +8 -8
  248. eval_studio_client/api/models/{v1alpha_update_model_response.py → v1_get_model_response.py} +8 -8
  249. eval_studio_client/api/models/{v1alpha_get_operation_progress_by_parent_response.py → v1_get_operation_progress_by_parent_response.py} +8 -8
  250. eval_studio_client/api/models/v1_get_operation_response.py +91 -0
  251. eval_studio_client/api/models/{v1alpha_get_perturbator_response.py → v1_get_perturbator_response.py} +8 -8
  252. eval_studio_client/api/models/{v1alpha_create_test_case_response.py → v1_get_test_case_response.py} +8 -8
  253. eval_studio_client/api/models/{v1alpha_get_test_class_response.py → v1_get_test_class_response.py} +8 -8
  254. eval_studio_client/api/models/{v1alpha_update_test_response.py → v1_get_test_response.py} +8 -8
  255. eval_studio_client/api/models/{v1alpha_import_evaluation_request.py → v1_import_evaluation_request.py} +8 -8
  256. eval_studio_client/api/models/{v1alpha_import_leaderboard_request.py → v1_import_leaderboard_request.py} +7 -7
  257. eval_studio_client/api/models/v1_import_leaderboard_response.py +91 -0
  258. eval_studio_client/api/models/{v1alpha_info.py → v1_info.py} +5 -5
  259. eval_studio_client/api/models/{v1alpha_insight.py → v1_insight.py} +4 -4
  260. eval_studio_client/api/models/{v1alpha_leaderboard.py → v1_leaderboard.py} +15 -15
  261. eval_studio_client/api/models/{v1alpha_leaderboard_status.py → v1_leaderboard_status.py} +3 -3
  262. eval_studio_client/api/models/{v1alpha_leaderboard_type.py → v1_leaderboard_type.py} +3 -3
  263. eval_studio_client/api/models/{v1alpha_leaderboard_view.py → v1_leaderboard_view.py} +3 -3
  264. eval_studio_client/api/models/{v1alpha_list_base_models_response.py → v1_list_base_models_response.py} +5 -5
  265. eval_studio_client/api/models/{v1alpha_batch_delete_dashboards_response.py → v1_list_dashboards_response.py} +8 -8
  266. eval_studio_client/api/models/{v1alpha_batch_delete_documents_response.py → v1_list_documents_response.py} +8 -8
  267. eval_studio_client/api/models/{v1alpha_batch_delete_evaluators_response.py → v1_list_evaluators_response.py} +8 -8
  268. eval_studio_client/api/models/{v1alpha_list_leaderboards_response.py → v1_list_leaderboards_response.py} +8 -8
  269. eval_studio_client/api/models/{v1alpha_list_llm_models_response.py → v1_list_llm_models_response.py} +5 -5
  270. eval_studio_client/api/models/{v1alpha_list_model_collections_response.py → v1_list_model_collections_response.py} +8 -8
  271. eval_studio_client/api/models/{v1alpha_batch_delete_models_response.py → v1_list_models_response.py} +8 -8
  272. eval_studio_client/api/models/{v1alpha_list_most_recent_dashboards_response.py → v1_list_most_recent_dashboards_response.py} +8 -8
  273. eval_studio_client/api/models/{v1alpha_list_most_recent_leaderboards_response.py → v1_list_most_recent_leaderboards_response.py} +8 -8
  274. eval_studio_client/api/models/{v1alpha_list_most_recent_models_response.py → v1_list_most_recent_models_response.py} +8 -8
  275. eval_studio_client/api/models/{v1alpha_batch_import_tests_response.py → v1_list_most_recent_tests_response.py} +8 -8
  276. eval_studio_client/api/models/{v1alpha_batch_get_operations_response.py → v1_list_operations_response.py} +8 -8
  277. eval_studio_client/api/models/{v1alpha_list_perturbators_response.py → v1_list_perturbators_response.py} +8 -8
  278. eval_studio_client/api/models/{v1alpha_list_rag_collections_response.py → v1_list_rag_collections_response.py} +8 -8
  279. eval_studio_client/api/models/{v1alpha_batch_delete_test_cases_response.py → v1_list_test_cases_response.py} +8 -8
  280. eval_studio_client/api/models/{v1alpha_list_test_classes_response.py → v1_list_test_classes_response.py} +8 -8
  281. eval_studio_client/api/models/v1_list_tests_response.py +95 -0
  282. eval_studio_client/api/models/{v1alpha_model.py → v1_model.py} +7 -7
  283. eval_studio_client/api/models/{v1alpha_model_type.py → v1_model_type.py} +3 -3
  284. eval_studio_client/api/models/{v1alpha_operation.py → v1_operation.py} +4 -4
  285. eval_studio_client/api/models/{v1alpha_operation_progress.py → v1_operation_progress.py} +5 -5
  286. eval_studio_client/api/models/{v1alpha_delete_test_response.py → v1_perturb_test_response.py} +8 -8
  287. eval_studio_client/api/models/{v1alpha_perturbator.py → v1_perturbator.py} +5 -5
  288. eval_studio_client/api/models/{v1alpha_perturbator_configuration.py → v1_perturbator_configuration.py} +6 -6
  289. eval_studio_client/api/models/{v1alpha_perturbator_intensity.py → v1_perturbator_intensity.py} +4 -4
  290. eval_studio_client/api/models/{v1alpha_problem_and_action.py → v1_problem_and_action.py} +5 -5
  291. eval_studio_client/api/models/{v1alpha_test.py → v1_test.py} +5 -5
  292. eval_studio_client/api/models/{v1alpha_test_case.py → v1_test_case.py} +5 -5
  293. eval_studio_client/api/models/{v1alpha_test_case_relationship.py → v1_test_case_relationship.py} +5 -5
  294. eval_studio_client/api/models/v1_test_cases_generator.py +50 -0
  295. eval_studio_client/api/models/{v1alpha_test_class.py → v1_test_class.py} +7 -7
  296. eval_studio_client/api/models/{v1alpha_test_class_type.py → v1_test_class_type.py} +3 -3
  297. eval_studio_client/api/models/{v1alpha_test_lab.py → v1_test_lab.py} +5 -5
  298. eval_studio_client/api/models/{v1alpha_delete_dashboard_response.py → v1_update_dashboard_response.py} +8 -8
  299. eval_studio_client/api/models/{v1alpha_create_document_response.py → v1_update_document_response.py} +8 -8
  300. eval_studio_client/api/models/{v1alpha_delete_leaderboard_response.py → v1_update_leaderboard_response.py} +8 -8
  301. eval_studio_client/api/models/{v1alpha_delete_model_response.py → v1_update_model_response.py} +8 -8
  302. eval_studio_client/api/models/v1_update_operation_response.py +91 -0
  303. eval_studio_client/api/models/{v1alpha_update_test_case_response.py → v1_update_test_case_response.py} +8 -8
  304. eval_studio_client/api/models/v1_update_test_response.py +91 -0
  305. eval_studio_client/api/models/{v1alpha_who_am_i_response.py → v1_who_am_i_response.py} +5 -5
  306. eval_studio_client/api/rest.py +1 -1
  307. eval_studio_client/api/test/test_dashboard_service_api.py +1 -1
  308. eval_studio_client/api/test/test_document_service_api.py +1 -1
  309. eval_studio_client/api/test/test_evaluation_service_api.py +1 -1
  310. eval_studio_client/api/test/test_evaluator_service_api.py +1 -1
  311. eval_studio_client/api/test/test_info_service_api.py +1 -1
  312. eval_studio_client/api/test/test_leaderboard_service_api.py +1 -1
  313. eval_studio_client/api/test/test_model_service_api.py +1 -1
  314. eval_studio_client/api/test/test_operation_progress_service_api.py +1 -1
  315. eval_studio_client/api/test/test_operation_service_api.py +1 -1
  316. eval_studio_client/api/test/test_perturbation_service_api.py +1 -1
  317. eval_studio_client/api/test/test_perturbation_service_create_perturbation_request.py +4 -4
  318. eval_studio_client/api/test/test_perturbator_service_api.py +1 -1
  319. eval_studio_client/api/test/test_prompt_generation_service_api.py +37 -0
  320. eval_studio_client/api/test/test_prompt_generation_service_auto_generate_prompts_request.py +75 -0
  321. eval_studio_client/api/test/test_protobuf_any.py +1 -1
  322. eval_studio_client/api/test/test_required_the_dashboard_to_update.py +1 -1
  323. eval_studio_client/api/test/test_required_the_document_to_update.py +1 -1
  324. eval_studio_client/api/test/test_required_the_leaderboard_to_update.py +3 -3
  325. eval_studio_client/api/test/test_required_the_model_to_update.py +1 -1
  326. eval_studio_client/api/test/test_required_the_operation_to_finalize.py +1 -1
  327. eval_studio_client/api/test/test_required_the_operation_to_update.py +1 -1
  328. eval_studio_client/api/test/test_required_the_test_case_to_update.py +1 -1
  329. eval_studio_client/api/test/test_required_the_test_to_update.py +1 -1
  330. eval_studio_client/api/test/test_rpc_status.py +1 -1
  331. eval_studio_client/api/test/test_test_case_service_api.py +1 -1
  332. eval_studio_client/api/test/test_test_case_service_batch_delete_test_cases_request.py +1 -1
  333. eval_studio_client/api/test/test_test_class_service_api.py +1 -1
  334. eval_studio_client/api/test/test_test_lab_service_api.py +1 -1
  335. eval_studio_client/api/test/test_test_service_api.py +7 -1
  336. eval_studio_client/api/test/test_test_service_generate_test_cases_request.py +57 -0
  337. eval_studio_client/api/test/test_test_service_perturb_test_request.py +2 -2
  338. eval_studio_client/api/test/{test_v1alpha_batch_create_leaderboards_request.py → test_v1_batch_create_leaderboards_request.py} +16 -16
  339. eval_studio_client/api/test/{test_v1alpha_create_leaderboard_response.py → test_v1_batch_create_leaderboards_response.py} +13 -13
  340. eval_studio_client/api/test/{test_v1alpha_batch_delete_models_request.py → test_v1_batch_delete_dashboards_request.py} +12 -12
  341. eval_studio_client/api/test/{test_v1alpha_batch_get_dashboards_response.py → test_v1_batch_delete_dashboards_response.py} +13 -13
  342. eval_studio_client/api/test/{test_v1alpha_batch_delete_documents_request.py → test_v1_batch_delete_documents_request.py} +12 -12
  343. eval_studio_client/api/test/{test_v1alpha_batch_get_documents_response.py → test_v1_batch_delete_documents_response.py} +13 -13
  344. eval_studio_client/api/test/test_v1_batch_delete_evaluators_request.py +53 -0
  345. eval_studio_client/api/test/{test_v1alpha_batch_delete_evaluators_response.py → test_v1_batch_delete_evaluators_response.py} +15 -14
  346. eval_studio_client/api/test/{test_v1alpha_batch_delete_leaderboards_request.py → test_v1_batch_delete_leaderboards_request.py} +12 -12
  347. eval_studio_client/api/test/{test_v1alpha_batch_get_leaderboards_response.py → test_v1_batch_delete_leaderboards_response.py} +15 -15
  348. eval_studio_client/api/test/test_v1_batch_delete_models_request.py +53 -0
  349. eval_studio_client/api/test/{test_v1alpha_batch_get_models_response.py → test_v1_batch_delete_models_response.py} +13 -13
  350. eval_studio_client/api/test/{test_v1alpha_batch_delete_test_cases_response.py → test_v1_batch_delete_test_cases_response.py} +13 -13
  351. eval_studio_client/api/test/{test_v1alpha_batch_delete_tests_request.py → test_v1_batch_delete_tests_request.py} +12 -12
  352. eval_studio_client/api/test/{test_v1alpha_batch_get_tests_response.py → test_v1_batch_delete_tests_response.py} +13 -13
  353. eval_studio_client/api/test/{test_v1alpha_list_dashboards_response.py → test_v1_batch_get_dashboards_response.py} +13 -13
  354. eval_studio_client/api/test/{test_v1alpha_list_documents_response.py → test_v1_batch_get_documents_response.py} +13 -13
  355. eval_studio_client/api/test/{test_v1alpha_batch_delete_leaderboards_response.py → test_v1_batch_get_leaderboards_response.py} +15 -15
  356. eval_studio_client/api/test/{test_v1alpha_list_models_response.py → test_v1_batch_get_models_response.py} +13 -13
  357. eval_studio_client/api/test/{test_v1alpha_list_operations_response.py → test_v1_batch_get_operations_response.py} +13 -13
  358. eval_studio_client/api/test/{test_v1alpha_list_tests_response.py → test_v1_batch_get_tests_response.py} +13 -13
  359. eval_studio_client/api/test/{test_v1alpha_batch_import_leaderboard_request.py → test_v1_batch_import_leaderboard_request.py} +12 -12
  360. eval_studio_client/api/test/{test_v1alpha_import_leaderboard_response.py → test_v1_batch_import_leaderboard_response.py} +13 -13
  361. eval_studio_client/api/test/{test_v1alpha_batch_import_tests_request.py → test_v1_batch_import_tests_request.py} +12 -12
  362. eval_studio_client/api/test/{test_v1alpha_batch_import_tests_response.py → test_v1_batch_import_tests_response.py} +13 -13
  363. eval_studio_client/api/test/{test_v1alpha_check_base_models_response.py → test_v1_check_base_models_response.py} +12 -12
  364. eval_studio_client/api/test/{test_v1alpha_collection_info.py → test_v1_collection_info.py} +12 -12
  365. eval_studio_client/api/test/{test_v1alpha_get_dashboard_response.py → test_v1_create_dashboard_response.py} +13 -13
  366. eval_studio_client/api/test/{test_v1alpha_get_document_response.py → test_v1_create_document_response.py} +13 -13
  367. eval_studio_client/api/test/{test_v1alpha_create_evaluation_request.py → test_v1_create_evaluation_request.py} +16 -16
  368. eval_studio_client/api/test/{test_v1alpha_get_evaluator_response.py → test_v1_create_evaluator_response.py} +15 -14
  369. eval_studio_client/api/test/{test_v1alpha_get_leaderboard_response.py → test_v1_create_leaderboard_request.py} +15 -15
  370. eval_studio_client/api/test/{test_v1alpha_update_operation_response.py → test_v1_create_leaderboard_response.py} +13 -13
  371. eval_studio_client/api/test/{test_v1alpha_batch_import_leaderboard_response.py → test_v1_create_leaderboard_without_cache_response.py} +13 -13
  372. eval_studio_client/api/test/{test_v1alpha_get_model_response.py → test_v1_create_model_response.py} +13 -13
  373. eval_studio_client/api/test/{test_v1alpha_create_perturbation_response.py → test_v1_create_perturbation_response.py} +12 -12
  374. eval_studio_client/api/test/{test_v1alpha_get_test_case_response.py → test_v1_create_test_case_response.py} +13 -13
  375. eval_studio_client/api/test/{test_v1alpha_find_test_lab_response.py → test_v1_create_test_lab_response.py} +13 -13
  376. eval_studio_client/api/test/{test_v1alpha_get_test_response.py → test_v1_create_test_response.py} +13 -13
  377. eval_studio_client/api/test/{test_v1alpha_dashboard.py → test_v1_dashboard.py} +12 -12
  378. eval_studio_client/api/test/{test_v1alpha_evaluator_view.py → test_v1_dashboard_status.py} +7 -7
  379. eval_studio_client/api/test/{test_v1alpha_update_dashboard_response.py → test_v1_delete_dashboard_response.py} +13 -13
  380. eval_studio_client/api/test/{test_v1alpha_update_document_response.py → test_v1_delete_document_response.py} +13 -13
  381. eval_studio_client/api/test/{test_v1alpha_delete_evaluator_response.py → test_v1_delete_evaluator_response.py} +15 -14
  382. eval_studio_client/api/test/{test_v1alpha_create_leaderboard_request.py → test_v1_delete_leaderboard_response.py} +15 -15
  383. eval_studio_client/api/test/{test_v1alpha_delete_model_response.py → test_v1_delete_model_response.py} +13 -13
  384. eval_studio_client/api/test/{test_v1alpha_create_test_case_response.py → test_v1_delete_test_case_response.py} +13 -13
  385. eval_studio_client/api/test/{test_v1alpha_create_test_response.py → test_v1_delete_test_response.py} +13 -13
  386. eval_studio_client/api/test/{test_v1alpha_document.py → test_v1_document.py} +12 -12
  387. eval_studio_client/api/test/{test_v1alpha_evaluation_test.py → test_v1_evaluation_test.py} +14 -14
  388. eval_studio_client/api/test/{test_v1alpha_evaluator.py → test_v1_evaluator.py} +14 -13
  389. eval_studio_client/api/test/{test_v1alpha_test_class_type.py → test_v1_evaluator_param_type.py} +7 -7
  390. eval_studio_client/api/test/{test_v1alpha_evaluator_parameter.py → test_v1_evaluator_parameter.py} +12 -12
  391. eval_studio_client/api/test/{test_v1alpha_model_type.py → test_v1_evaluator_view.py} +7 -7
  392. eval_studio_client/api/test/{test_v1alpha_get_operation_response.py → test_v1_finalize_operation_response.py} +13 -13
  393. eval_studio_client/api/test/{test_v1alpha_find_all_test_cases_by_id_response.py → test_v1_find_all_test_cases_by_id_response.py} +13 -13
  394. eval_studio_client/api/test/{test_v1alpha_create_test_lab_response.py → test_v1_find_test_lab_response.py} +13 -13
  395. eval_studio_client/api/test/{test_v1alpha_finalize_operation_response.py → test_v1_generate_test_cases_response.py} +13 -13
  396. eval_studio_client/api/test/{test_v1alpha_create_dashboard_response.py → test_v1_get_dashboard_response.py} +13 -13
  397. eval_studio_client/api/test/{test_v1alpha_delete_document_response.py → test_v1_get_document_response.py} +13 -13
  398. eval_studio_client/api/test/{test_v1alpha_create_evaluator_response.py → test_v1_get_evaluator_response.py} +15 -14
  399. eval_studio_client/api/test/{test_v1alpha_get_info_response.py → test_v1_get_info_response.py} +13 -13
  400. eval_studio_client/api/test/{test_v1alpha_delete_leaderboard_response.py → test_v1_get_leaderboard_response.py} +15 -15
  401. eval_studio_client/api/test/{test_v1alpha_create_model_response.py → test_v1_get_model_response.py} +13 -13
  402. eval_studio_client/api/test/{test_v1alpha_get_operation_progress_by_parent_response.py → test_v1_get_operation_progress_by_parent_response.py} +13 -13
  403. eval_studio_client/api/test/test_v1_get_operation_response.py +71 -0
  404. eval_studio_client/api/test/{test_v1alpha_get_perturbator_response.py → test_v1_get_perturbator_response.py} +13 -13
  405. eval_studio_client/api/test/{test_v1alpha_delete_test_case_response.py → test_v1_get_test_case_response.py} +13 -13
  406. eval_studio_client/api/test/{test_v1alpha_get_test_class_response.py → test_v1_get_test_class_response.py} +13 -13
  407. eval_studio_client/api/test/{test_v1alpha_delete_test_response.py → test_v1_get_test_response.py} +13 -13
  408. eval_studio_client/api/test/{test_v1alpha_import_evaluation_request.py → test_v1_import_evaluation_request.py} +13 -13
  409. eval_studio_client/api/test/{test_v1alpha_import_leaderboard_request.py → test_v1_import_leaderboard_request.py} +12 -12
  410. eval_studio_client/api/test/test_v1_import_leaderboard_response.py +71 -0
  411. eval_studio_client/api/test/{test_v1alpha_info.py → test_v1_info.py} +12 -12
  412. eval_studio_client/api/test/{test_v1alpha_insight.py → test_v1_insight.py} +12 -12
  413. eval_studio_client/api/test/{test_v1alpha_leaderboard.py → test_v1_leaderboard.py} +14 -14
  414. eval_studio_client/api/test/{test_v1alpha_dashboard_status.py → test_v1_leaderboard_status.py} +7 -7
  415. eval_studio_client/api/test/test_v1_leaderboard_type.py +33 -0
  416. eval_studio_client/api/test/test_v1_leaderboard_view.py +33 -0
  417. eval_studio_client/api/test/{test_v1alpha_list_base_models_response.py → test_v1_list_base_models_response.py} +12 -12
  418. eval_studio_client/api/test/{test_v1alpha_batch_delete_dashboards_response.py → test_v1_list_dashboards_response.py} +13 -13
  419. eval_studio_client/api/test/{test_v1alpha_batch_delete_documents_response.py → test_v1_list_documents_response.py} +13 -13
  420. eval_studio_client/api/test/{test_v1alpha_list_evaluators_response.py → test_v1_list_evaluators_response.py} +15 -14
  421. eval_studio_client/api/test/{test_v1alpha_list_leaderboards_response.py → test_v1_list_leaderboards_response.py} +15 -15
  422. eval_studio_client/api/test/{test_v1alpha_list_llm_models_response.py → test_v1_list_llm_models_response.py} +12 -12
  423. eval_studio_client/api/test/{test_v1alpha_list_rag_collections_response.py → test_v1_list_model_collections_response.py} +13 -13
  424. eval_studio_client/api/test/{test_v1alpha_batch_delete_models_response.py → test_v1_list_models_response.py} +13 -13
  425. eval_studio_client/api/test/{test_v1alpha_list_most_recent_dashboards_response.py → test_v1_list_most_recent_dashboards_response.py} +13 -13
  426. eval_studio_client/api/test/{test_v1alpha_list_most_recent_leaderboards_response.py → test_v1_list_most_recent_leaderboards_response.py} +15 -15
  427. eval_studio_client/api/test/{test_v1alpha_list_most_recent_models_response.py → test_v1_list_most_recent_models_response.py} +13 -13
  428. eval_studio_client/api/test/{test_v1alpha_batch_delete_tests_response.py → test_v1_list_most_recent_tests_response.py} +13 -13
  429. eval_studio_client/api/test/{test_v1alpha_batch_get_operations_response.py → test_v1_list_operations_response.py} +13 -13
  430. eval_studio_client/api/test/{test_v1alpha_list_perturbators_response.py → test_v1_list_perturbators_response.py} +13 -13
  431. eval_studio_client/api/test/{test_v1alpha_list_model_collections_response.py → test_v1_list_rag_collections_response.py} +13 -13
  432. eval_studio_client/api/test/{test_v1alpha_list_test_cases_response.py → test_v1_list_test_cases_response.py} +13 -13
  433. eval_studio_client/api/test/{test_v1alpha_list_test_classes_response.py → test_v1_list_test_classes_response.py} +13 -13
  434. eval_studio_client/api/test/test_v1_list_tests_response.py +69 -0
  435. eval_studio_client/api/test/{test_v1alpha_model.py → test_v1_model.py} +12 -12
  436. eval_studio_client/api/test/{test_v1alpha_leaderboard_view.py → test_v1_model_type.py} +7 -7
  437. eval_studio_client/api/test/{test_v1alpha_operation.py → test_v1_operation.py} +12 -12
  438. eval_studio_client/api/test/{test_v1alpha_operation_progress.py → test_v1_operation_progress.py} +12 -12
  439. eval_studio_client/api/test/{test_v1alpha_update_test_response.py → test_v1_perturb_test_response.py} +13 -13
  440. eval_studio_client/api/test/{test_v1alpha_perturbator.py → test_v1_perturbator.py} +12 -12
  441. eval_studio_client/api/test/{test_v1alpha_perturbator_configuration.py → test_v1_perturbator_configuration.py} +12 -12
  442. eval_studio_client/api/test/{test_v1alpha_leaderboard_type.py → test_v1_perturbator_intensity.py} +7 -7
  443. eval_studio_client/api/test/{test_v1alpha_problem_and_action.py → test_v1_problem_and_action.py} +12 -12
  444. eval_studio_client/api/test/{test_v1alpha_test.py → test_v1_test.py} +12 -12
  445. eval_studio_client/api/test/{test_v1alpha_test_case.py → test_v1_test_case.py} +12 -12
  446. eval_studio_client/api/test/{test_v1alpha_test_case_relationship.py → test_v1_test_case_relationship.py} +12 -12
  447. eval_studio_client/api/test/test_v1_test_cases_generator.py +33 -0
  448. eval_studio_client/api/test/{test_v1alpha_test_class.py → test_v1_test_class.py} +12 -12
  449. eval_studio_client/api/test/test_v1_test_class_type.py +33 -0
  450. eval_studio_client/api/test/{test_v1alpha_test_lab.py → test_v1_test_lab.py} +12 -12
  451. eval_studio_client/api/test/{test_v1alpha_delete_dashboard_response.py → test_v1_update_dashboard_response.py} +13 -13
  452. eval_studio_client/api/test/{test_v1alpha_create_document_response.py → test_v1_update_document_response.py} +13 -13
  453. eval_studio_client/api/test/{test_v1alpha_update_leaderboard_response.py → test_v1_update_leaderboard_response.py} +15 -15
  454. eval_studio_client/api/test/{test_v1alpha_update_model_response.py → test_v1_update_model_response.py} +13 -13
  455. eval_studio_client/api/test/test_v1_update_operation_response.py +71 -0
  456. eval_studio_client/api/test/{test_v1alpha_update_test_case_response.py → test_v1_update_test_case_response.py} +13 -13
  457. eval_studio_client/api/test/test_v1_update_test_response.py +67 -0
  458. eval_studio_client/api/test/{test_v1alpha_who_am_i_response.py → test_v1_who_am_i_response.py} +12 -12
  459. eval_studio_client/api/test/test_who_am_i_service_api.py +1 -1
  460. eval_studio_client/dashboards.py +23 -1
  461. eval_studio_client/documents.py +3 -3
  462. eval_studio_client/evaluators.py +1 -1
  463. eval_studio_client/gen/openapiv2/eval_studio.swagger.json +568 -387
  464. eval_studio_client/insights.py +1 -1
  465. eval_studio_client/leaderboards.py +11 -13
  466. eval_studio_client/models.py +61 -29
  467. eval_studio_client/perturbators.py +5 -7
  468. eval_studio_client/problems.py +1 -1
  469. eval_studio_client/test_labs.py +2 -2
  470. eval_studio_client/tests.py +225 -8
  471. {eval_studio_client-0.8.0a2.dist-info → eval_studio_client-0.8.2.dist-info}/METADATA +2 -2
  472. eval_studio_client-0.8.2.dist-info/RECORD +485 -0
  473. {eval_studio_client-0.8.0a2.dist-info → eval_studio_client-0.8.2.dist-info}/WHEEL +1 -1
  474. eval_studio_client/api/docs/V1alphaBatchCreateLeaderboardsRequest.md +0 -31
  475. eval_studio_client/api/docs/V1alphaBatchCreateLeaderboardsResponse.md +0 -29
  476. eval_studio_client/api/docs/V1alphaBatchDeleteDashboardsRequest.md +0 -29
  477. eval_studio_client/api/docs/V1alphaBatchDeleteDashboardsResponse.md +0 -29
  478. eval_studio_client/api/docs/V1alphaBatchDeleteDocumentsRequest.md +0 -29
  479. eval_studio_client/api/docs/V1alphaBatchDeleteDocumentsResponse.md +0 -29
  480. eval_studio_client/api/docs/V1alphaBatchDeleteEvaluatorsRequest.md +0 -29
  481. eval_studio_client/api/docs/V1alphaBatchDeleteEvaluatorsResponse.md +0 -29
  482. eval_studio_client/api/docs/V1alphaBatchDeleteLeaderboardsRequest.md +0 -30
  483. eval_studio_client/api/docs/V1alphaBatchDeleteLeaderboardsResponse.md +0 -29
  484. eval_studio_client/api/docs/V1alphaBatchDeleteModelsRequest.md +0 -29
  485. eval_studio_client/api/docs/V1alphaBatchDeleteModelsResponse.md +0 -29
  486. eval_studio_client/api/docs/V1alphaBatchDeleteTestCasesResponse.md +0 -29
  487. eval_studio_client/api/docs/V1alphaBatchDeleteTestsResponse.md +0 -29
  488. eval_studio_client/api/docs/V1alphaBatchGetDashboardsResponse.md +0 -29
  489. eval_studio_client/api/docs/V1alphaBatchGetDocumentsResponse.md +0 -29
  490. eval_studio_client/api/docs/V1alphaBatchGetLeaderboardsResponse.md +0 -29
  491. eval_studio_client/api/docs/V1alphaBatchGetModelsResponse.md +0 -29
  492. eval_studio_client/api/docs/V1alphaBatchGetOperationsResponse.md +0 -29
  493. eval_studio_client/api/docs/V1alphaBatchGetTestsResponse.md +0 -29
  494. eval_studio_client/api/docs/V1alphaBatchImportLeaderboardResponse.md +0 -29
  495. eval_studio_client/api/docs/V1alphaBatchImportTestsResponse.md +0 -29
  496. eval_studio_client/api/docs/V1alphaCheckBaseModelsResponse.md +0 -30
  497. eval_studio_client/api/docs/V1alphaCreateDashboardResponse.md +0 -29
  498. eval_studio_client/api/docs/V1alphaCreateDocumentResponse.md +0 -29
  499. eval_studio_client/api/docs/V1alphaCreateEvaluatorResponse.md +0 -29
  500. eval_studio_client/api/docs/V1alphaCreateLeaderboardRequest.md +0 -29
  501. eval_studio_client/api/docs/V1alphaCreateLeaderboardResponse.md +0 -29
  502. eval_studio_client/api/docs/V1alphaCreateLeaderboardWithoutCacheResponse.md +0 -29
  503. eval_studio_client/api/docs/V1alphaCreateModelResponse.md +0 -29
  504. eval_studio_client/api/docs/V1alphaCreatePerturbationResponse.md +0 -29
  505. eval_studio_client/api/docs/V1alphaCreateTestCaseResponse.md +0 -29
  506. eval_studio_client/api/docs/V1alphaCreateTestLabResponse.md +0 -29
  507. eval_studio_client/api/docs/V1alphaCreateTestResponse.md +0 -29
  508. eval_studio_client/api/docs/V1alphaDeleteDashboardResponse.md +0 -29
  509. eval_studio_client/api/docs/V1alphaDeleteDocumentResponse.md +0 -29
  510. eval_studio_client/api/docs/V1alphaDeleteEvaluatorResponse.md +0 -29
  511. eval_studio_client/api/docs/V1alphaDeleteLeaderboardResponse.md +0 -29
  512. eval_studio_client/api/docs/V1alphaDeleteModelResponse.md +0 -29
  513. eval_studio_client/api/docs/V1alphaDeleteTestCaseResponse.md +0 -29
  514. eval_studio_client/api/docs/V1alphaDeleteTestResponse.md +0 -29
  515. eval_studio_client/api/docs/V1alphaEvaluationTest.md +0 -32
  516. eval_studio_client/api/docs/V1alphaFinalizeOperationResponse.md +0 -29
  517. eval_studio_client/api/docs/V1alphaFindAllTestCasesByIDResponse.md +0 -29
  518. eval_studio_client/api/docs/V1alphaFindTestLabResponse.md +0 -29
  519. eval_studio_client/api/docs/V1alphaGetDashboardResponse.md +0 -29
  520. eval_studio_client/api/docs/V1alphaGetDocumentResponse.md +0 -29
  521. eval_studio_client/api/docs/V1alphaGetEvaluatorResponse.md +0 -29
  522. eval_studio_client/api/docs/V1alphaGetInfoResponse.md +0 -29
  523. eval_studio_client/api/docs/V1alphaGetLeaderboardResponse.md +0 -29
  524. eval_studio_client/api/docs/V1alphaGetModelResponse.md +0 -29
  525. eval_studio_client/api/docs/V1alphaGetOperationProgressByParentResponse.md +0 -29
  526. eval_studio_client/api/docs/V1alphaGetOperationResponse.md +0 -29
  527. eval_studio_client/api/docs/V1alphaGetPerturbatorResponse.md +0 -29
  528. eval_studio_client/api/docs/V1alphaGetTestCaseResponse.md +0 -29
  529. eval_studio_client/api/docs/V1alphaGetTestClassResponse.md +0 -29
  530. eval_studio_client/api/docs/V1alphaGetTestResponse.md +0 -29
  531. eval_studio_client/api/docs/V1alphaImportLeaderboardResponse.md +0 -29
  532. eval_studio_client/api/docs/V1alphaListBaseModelsResponse.md +0 -29
  533. eval_studio_client/api/docs/V1alphaListDashboardsResponse.md +0 -29
  534. eval_studio_client/api/docs/V1alphaListDocumentsResponse.md +0 -29
  535. eval_studio_client/api/docs/V1alphaListEvaluatorsResponse.md +0 -29
  536. eval_studio_client/api/docs/V1alphaListLLMModelsResponse.md +0 -29
  537. eval_studio_client/api/docs/V1alphaListLeaderboardsResponse.md +0 -30
  538. eval_studio_client/api/docs/V1alphaListModelCollectionsResponse.md +0 -29
  539. eval_studio_client/api/docs/V1alphaListModelsResponse.md +0 -29
  540. eval_studio_client/api/docs/V1alphaListMostRecentDashboardsResponse.md +0 -29
  541. eval_studio_client/api/docs/V1alphaListMostRecentLeaderboardsResponse.md +0 -29
  542. eval_studio_client/api/docs/V1alphaListMostRecentModelsResponse.md +0 -29
  543. eval_studio_client/api/docs/V1alphaListMostRecentTestsResponse.md +0 -29
  544. eval_studio_client/api/docs/V1alphaListOperationsResponse.md +0 -29
  545. eval_studio_client/api/docs/V1alphaListPerturbatorsResponse.md +0 -29
  546. eval_studio_client/api/docs/V1alphaListRAGCollectionsResponse.md +0 -29
  547. eval_studio_client/api/docs/V1alphaListTestCasesResponse.md +0 -29
  548. eval_studio_client/api/docs/V1alphaListTestClassesResponse.md +0 -29
  549. eval_studio_client/api/docs/V1alphaListTestsResponse.md +0 -29
  550. eval_studio_client/api/docs/V1alphaPerturbTestResponse.md +0 -29
  551. eval_studio_client/api/docs/V1alphaPerturbatorConfiguration.md +0 -32
  552. eval_studio_client/api/docs/V1alphaUpdateDashboardResponse.md +0 -29
  553. eval_studio_client/api/docs/V1alphaUpdateDocumentResponse.md +0 -29
  554. eval_studio_client/api/docs/V1alphaUpdateLeaderboardResponse.md +0 -29
  555. eval_studio_client/api/docs/V1alphaUpdateModelResponse.md +0 -29
  556. eval_studio_client/api/docs/V1alphaUpdateOperationResponse.md +0 -29
  557. eval_studio_client/api/docs/V1alphaUpdateTestCaseResponse.md +0 -29
  558. eval_studio_client/api/docs/V1alphaUpdateTestResponse.md +0 -29
  559. eval_studio_client/api/models/v1alpha_batch_create_leaderboards_response.py +0 -91
  560. eval_studio_client/api/models/v1alpha_batch_import_leaderboard_response.py +0 -91
  561. eval_studio_client/api/models/v1alpha_create_leaderboard_without_cache_response.py +0 -91
  562. eval_studio_client/api/models/v1alpha_list_most_recent_tests_response.py +0 -95
  563. eval_studio_client/api/models/v1alpha_perturb_test_response.py +0 -91
  564. eval_studio_client/api/test/test_v1alpha_batch_create_leaderboards_response.py +0 -71
  565. eval_studio_client/api/test/test_v1alpha_batch_delete_dashboards_request.py +0 -53
  566. eval_studio_client/api/test/test_v1alpha_batch_delete_evaluators_request.py +0 -53
  567. eval_studio_client/api/test/test_v1alpha_create_leaderboard_without_cache_response.py +0 -71
  568. eval_studio_client/api/test/test_v1alpha_evaluator_param_type.py +0 -33
  569. eval_studio_client/api/test/test_v1alpha_leaderboard_status.py +0 -33
  570. eval_studio_client/api/test/test_v1alpha_list_most_recent_tests_response.py +0 -69
  571. eval_studio_client/api/test/test_v1alpha_perturb_test_response.py +0 -67
  572. eval_studio_client/api/test/test_v1alpha_perturbator_intensity.py +0 -33
  573. eval_studio_client-0.8.0a2.dist-info/RECORD +0 -470
@@ -22,7 +22,7 @@ class Insight:
22
22
  _evaluator_id: Optional[str] = None
23
23
 
24
24
  @staticmethod
25
- def _from_api_insight(api_insight: models.V1alphaInsight) -> "Insight":
25
+ def _from_api_insight(api_insight: models.V1Insight) -> "Insight":
26
26
  """Converts an API Insight to a client Insight."""
27
27
  return Insight(
28
28
  description=api_insight.description or "",
@@ -36,7 +36,7 @@ class Leaderboard:
36
36
  _report: Optional[str] = None
37
37
  _leaderboard: Optional[str] = None
38
38
  _model_name: Optional[str] = None
39
- _status: Optional[models.V1alphaLeaderboardStatus] = None
39
+ _status: Optional[models.V1LeaderboardStatus] = None
40
40
  _client: Optional[api.ApiClient] = None
41
41
 
42
42
  def __post_init__(self):
@@ -60,16 +60,14 @@ class Leaderboard:
60
60
  def finished(self) -> bool:
61
61
  """Indicates whether the leaderboard has finished."""
62
62
  return self._status in [
63
- models.V1alphaLeaderboardStatus.LEADERBOARD_STATUS_COMPLETED,
64
- models.V1alphaLeaderboardStatus.LEADERBOARD_STATUS_FAILED,
63
+ models.V1LeaderboardStatus.LEADERBOARD_STATUS_COMPLETED,
64
+ models.V1LeaderboardStatus.LEADERBOARD_STATUS_FAILED,
65
65
  ]
66
66
 
67
67
  @property
68
68
  def successful(self) -> bool:
69
69
  """Indicates whether the leaderboard has finished successfully."""
70
- return (
71
- self._status == models.V1alphaLeaderboardStatus.LEADERBOARD_STATUS_COMPLETED
72
- )
70
+ return self._status == models.V1LeaderboardStatus.LEADERBOARD_STATUS_COMPLETED
73
71
 
74
72
  @property
75
73
  def test_suite(self) -> List[tests.Test]:
@@ -154,9 +152,9 @@ class Leaderboard:
154
152
 
155
153
  raise TimeoutError("Waiting timeout has been reached.")
156
154
 
157
- def to_api_proto(self) -> models.V1alphaLeaderboard:
155
+ def to_api_proto(self) -> models.V1Leaderboard:
158
156
  """Converts the client Leaderboard to an API Leaderboard."""
159
- return models.V1alphaLeaderboard(
157
+ return models.V1Leaderboard(
160
158
  display_name=self.name,
161
159
  description=self.description,
162
160
  llm_models=self.base_models or None,
@@ -165,7 +163,7 @@ class Leaderboard:
165
163
  model=self._model_name,
166
164
  )
167
165
 
168
- def _update_result(self, api_leaderboard: models.V1alphaLeaderboard):
166
+ def _update_result(self, api_leaderboard: models.V1Leaderboard):
169
167
  """Refresh the leaderboard with the latest API data."""
170
168
  self.key = api_leaderboard.name or ""
171
169
  self.update_time = api_leaderboard.update_time
@@ -175,7 +173,7 @@ class Leaderboard:
175
173
 
176
174
  @staticmethod
177
175
  def _from_api_leaderboard(
178
- api_leaderboard: models.V1alphaLeaderboard, client: Optional[api.ApiClient]
176
+ api_leaderboard: models.V1Leaderboard, client: Optional[api.ApiClient]
179
177
  ) -> "Leaderboard":
180
178
  """Converts an API Leaderboard to a client Leaderboard."""
181
179
  api_problems = api_leaderboard.leaderboard_problems or []
@@ -200,8 +198,8 @@ class Leaderboard:
200
198
  )
201
199
 
202
200
  @staticmethod
203
- def _is_finished_leaderboard(leaderboard: models.V1alphaLeaderboard) -> bool:
201
+ def _is_finished_leaderboard(leaderboard: models.V1Leaderboard) -> bool:
204
202
  return leaderboard.status in [
205
- models.V1alphaLeaderboardStatus.LEADERBOARD_STATUS_COMPLETED,
206
- models.V1alphaLeaderboardStatus.LEADERBOARD_STATUS_FAILED,
203
+ models.V1LeaderboardStatus.LEADERBOARD_STATUS_COMPLETED,
204
+ models.V1LeaderboardStatus.LEADERBOARD_STATUS_FAILED,
207
205
  ]
@@ -15,6 +15,12 @@ from eval_studio_client.api import models
15
15
  # Key for Azure environment ID parameter within Model parameters.
16
16
  _AZURE_ENV_ID_PARAM = "environment_id"
17
17
 
18
+ # Resource name of the default RAG model.
19
+ DEFAULT_RAG_MODEL_KEY = "models/defaultRAGModel"
20
+
21
+ # Resource name of the default LLM model.
22
+ DEFAULT_LLM_MODEL_KEY = "models/defaultLLMModel"
23
+
18
24
 
19
25
  @dataclasses.dataclass
20
26
  class Model:
@@ -55,7 +61,7 @@ class Model:
55
61
  while True:
56
62
  res = self._leaderboard_api.leaderboard_service_list_leaderboards(
57
63
  filter=f'model="{self.key}"',
58
- view=models.V1alphaLeaderboardView.LEADERBOARD_VIEW_BASIC_WITH_TABLE,
64
+ view=models.V1LeaderboardView.LEADERBOARD_VIEW_BASIC_WITH_TABLE,
59
65
  page_token=page_token,
60
66
  )
61
67
  if not res or not res.leaderboards:
@@ -138,7 +144,7 @@ class Model:
138
144
  [test_suites] if isinstance(test_suites, tests.Test) else test_suites
139
145
  )
140
146
 
141
- create_lb_reqs: List[models.V1alphaCreateLeaderboardRequest] = []
147
+ create_lb_reqs: List[models.V1CreateLeaderboardRequest] = []
142
148
  for evaluator in _evaluators:
143
149
  lb = l10s.Leaderboard(
144
150
  key="",
@@ -150,13 +156,13 @@ class Model:
150
156
  _test_names=[t.key for t in _test_suites],
151
157
  _client=self._client,
152
158
  )
153
- create_lb_req = models.V1alphaCreateLeaderboardRequest(
159
+ create_lb_req = models.V1CreateLeaderboardRequest(
154
160
  leaderboard=lb.to_api_proto()
155
161
  )
156
162
  create_lb_reqs.append(create_lb_req)
157
163
 
158
164
  res = self._leaderboard_api.leaderboard_service_batch_create_leaderboards(
159
- models.V1alphaBatchCreateLeaderboardsRequest(
165
+ models.V1BatchCreateLeaderboardsRequest(
160
166
  requests=create_lb_reqs,
161
167
  dashboard_display_name=name,
162
168
  dashboard_description=description,
@@ -184,7 +190,7 @@ class Model:
184
190
  test_lab: The test lab in JSON format to use for the evaluation.
185
191
  description (optional): The description of the leaderboard.
186
192
  """
187
- req = models.V1alphaImportLeaderboardRequest(
193
+ req = models.V1ImportLeaderboardRequest(
188
194
  testLabJson=test_lab,
189
195
  evaluator=evaluator.key,
190
196
  model=self.key,
@@ -212,7 +218,7 @@ class Model:
212
218
  raise RuntimeError("Failed to list base models")
213
219
 
214
220
  def _get_leaderboard_from_operation(
215
- self, operation: models.V1alphaOperation
221
+ self, operation: models.V1Operation
216
222
  ) -> Optional[l10s.Leaderboard]:
217
223
  """Retrieves the leaderboard from the operation, which created it.
218
224
 
@@ -230,7 +236,7 @@ class Model:
230
236
  return None
231
237
 
232
238
  def _get_dashboard_from_operation(
233
- self, operation: models.V1alphaOperation
239
+ self, operation: models.V1Operation
234
240
  ) -> Optional[d8s.Dashboard]:
235
241
  """Retrieves the dashboard from the operation, which created it.
236
242
 
@@ -251,9 +257,7 @@ class Model:
251
257
  return None
252
258
 
253
259
  @staticmethod
254
- def _from_api_model(
255
- api_model: models.V1alphaModel, client: api.ApiClient
256
- ) -> "Model":
260
+ def _from_api_model(api_model: models.V1Model, client: api.ApiClient) -> "Model":
257
261
  """Converts the API model to the client model."""
258
262
  return Model(
259
263
  key=api_model.name or "",
@@ -268,10 +272,10 @@ class Model:
268
272
  )
269
273
 
270
274
  @staticmethod
271
- def _is_rag_model(api_model: models.V1alphaModel) -> bool:
275
+ def _is_rag_model(api_model: models.V1Model) -> bool:
272
276
  return api_model.type in [
273
- models.V1alphaModelType.MODEL_TYPE_H2_OGPTE_RAG,
274
- models.V1alphaModelType.MODEL_TYPE_OPENAI_RAG,
277
+ models.V1ModelType.MODEL_TYPE_H2_OGPTE_RAG,
278
+ models.V1ModelType.MODEL_TYPE_OPENAI_RAG,
275
279
  ]
276
280
 
277
281
 
@@ -285,6 +289,12 @@ class _Models:
285
289
 
286
290
  Args:
287
291
  key: The model resource name to retrieve.
292
+
293
+ Returns:
294
+ Model: The model object.
295
+
296
+ Raises:
297
+ KeyError: If the model is not found.
288
298
  """
289
299
  res = self._api.model_service_get_model(key)
290
300
  if res and res.model:
@@ -292,6 +302,28 @@ class _Models:
292
302
 
293
303
  raise KeyError("Model not found.")
294
304
 
305
+ def get_default_rag(self) -> Model:
306
+ """Gets the default RAG model from Eval Studio.
307
+
308
+ Returns:
309
+ Model: The default RAG model object.
310
+
311
+ Raises:
312
+ KeyError: If no default RAG model is set.
313
+ """
314
+ return self.get(DEFAULT_RAG_MODEL_KEY)
315
+
316
+ def get_default_llm(self) -> Model:
317
+ """Gets the default LLM model from Eval Studio.
318
+
319
+ Returns:
320
+ Model: The default LLM model object.
321
+
322
+ Raises:
323
+ KeyError: If no default LLM model is set.
324
+ """
325
+ return self.get(DEFAULT_LLM_MODEL_KEY)
326
+
295
327
  def create_h2ogpte_model(
296
328
  self, name: str, is_rag: bool, description: str, url: str, api_key: str
297
329
  ) -> Model:
@@ -308,11 +340,11 @@ class _Models:
308
340
  api_key: API key for the model host system.
309
341
  """
310
342
  model_type = (
311
- models.V1alphaModelType.MODEL_TYPE_H2_OGPTE_RAG
343
+ models.V1ModelType.MODEL_TYPE_H2_OGPTE_RAG
312
344
  if is_rag
313
- else models.V1alphaModelType.MODEL_TYPE_H2_OGPTE_LLM
345
+ else models.V1ModelType.MODEL_TYPE_H2_OGPTE_LLM
314
346
  )
315
- req = models.V1alphaModel(
347
+ req = models.V1Model(
316
348
  display_name=name,
317
349
  description=description,
318
350
  url=url,
@@ -336,12 +368,12 @@ class _Models:
336
368
  url: URL of the model host system.
337
369
  api_key: API key for the model host system.
338
370
  """
339
- req = models.V1alphaModel(
371
+ req = models.V1Model(
340
372
  display_name=name,
341
373
  description=description,
342
374
  url=url,
343
375
  api_key=api_key,
344
- type=models.V1alphaModelType.MODEL_TYPE_H2_OGPT_LLM,
376
+ type=models.V1ModelType.MODEL_TYPE_H2_OGPT_LLM,
345
377
  )
346
378
  res = self._api.model_service_create_model(req)
347
379
  if res and res.model:
@@ -360,12 +392,12 @@ class _Models:
360
392
  url: URL of the model host system.
361
393
  api_key: API key for the model host system.
362
394
  """
363
- req = models.V1alphaModel(
395
+ req = models.V1Model(
364
396
  display_name=name,
365
397
  description=description,
366
398
  url=url,
367
399
  api_key=api_key,
368
- type=models.V1alphaModelType.MODEL_TYPE_H2_OLLMOPS,
400
+ type=models.V1ModelType.MODEL_TYPE_H2_OLLMOPS,
369
401
  )
370
402
  res = self._api.model_service_create_model(req)
371
403
  if res and res.model:
@@ -399,11 +431,11 @@ class _Models:
399
431
  )
400
432
 
401
433
  model_type = (
402
- models.V1alphaModelType.MODEL_TYPE_OPENAI_RAG
434
+ models.V1ModelType.MODEL_TYPE_OPENAI_RAG
403
435
  if is_rag
404
- else models.V1alphaModelType.MODEL_TYPE_OPENAI_CHAT
436
+ else models.V1ModelType.MODEL_TYPE_OPENAI_CHAT
405
437
  )
406
- req = models.V1alphaModel(
438
+ req = models.V1Model(
407
439
  display_name=name,
408
440
  description=description,
409
441
  api_key=api_key,
@@ -429,12 +461,12 @@ class _Models:
429
461
  environmentID: Azure environment ID.
430
462
  """
431
463
  params = {_AZURE_ENV_ID_PARAM: environmentID}
432
- req = models.V1alphaModel(
464
+ req = models.V1Model(
433
465
  display_name=name,
434
466
  description=description,
435
467
  url=url,
436
468
  api_key=api_key,
437
- type=models.V1alphaModelType.MODEL_TYPE_AZURE_OPENAI_CHAT,
469
+ type=models.V1ModelType.MODEL_TYPE_AZURE_OPENAI_CHAT,
438
470
  parameters=json.dumps(params),
439
471
  )
440
472
  res = self._api.model_service_create_model(req)
@@ -454,12 +486,12 @@ class _Models:
454
486
  url: URL of the model host system.
455
487
  api_key: API key for the model host system.
456
488
  """
457
- req = models.V1alphaModel(
489
+ req = models.V1Model(
458
490
  display_name=name,
459
491
  description=description,
460
492
  url=url,
461
493
  api_key=api_key,
462
- type=models.V1alphaModelType.MODEL_TYPE_OLLAMA,
494
+ type=models.V1ModelType.MODEL_TYPE_OLLAMA,
463
495
  )
464
496
  res = self._api.model_service_create_model(req)
465
497
  if res and res.model:
@@ -491,10 +523,10 @@ class _Models:
491
523
  "aws_secret_access_key": aws_secret_access_key,
492
524
  "aws_session_token": aws_session_token,
493
525
  }
494
- req = models.V1alphaModel(
526
+ req = models.V1Model(
495
527
  display_name=name,
496
528
  description=description,
497
- type=models.V1alphaModelType.MODEL_TYPE_AMAZON_BEDROCK,
529
+ type=models.V1ModelType.MODEL_TYPE_AMAZON_BEDROCK,
498
530
  api_key=json.dumps(credentials),
499
531
  parameters=json.dumps({"region": aws_region}),
500
532
  )
@@ -17,12 +17,12 @@ class PerturbatorIntensity(enum.Enum):
17
17
  medium = "medium"
18
18
  high = "high"
19
19
 
20
- def to_api_proto(self) -> models.V1alphaPerturbatorIntensity:
20
+ def to_api_proto(self) -> models.V1PerturbatorIntensity:
21
21
  """Converts the client PerturbatorIntensity to an API PerturbatorIntensity."""
22
22
  proto_values = {
23
- PerturbatorIntensity.low: models.V1alphaPerturbatorIntensity.PERTURBATOR_INTENSITY_LOW,
24
- PerturbatorIntensity.medium: models.V1alphaPerturbatorIntensity.PERTURBATOR_INTENSITY_MEDIUM,
25
- PerturbatorIntensity.high: models.V1alphaPerturbatorIntensity.PERTURBATOR_INTENSITY_HIGH,
23
+ PerturbatorIntensity.low: models.V1PerturbatorIntensity.PERTURBATOR_INTENSITY_LOW,
24
+ PerturbatorIntensity.medium: models.V1PerturbatorIntensity.PERTURBATOR_INTENSITY_MEDIUM,
25
+ PerturbatorIntensity.high: models.V1PerturbatorIntensity.PERTURBATOR_INTENSITY_HIGH,
26
26
  }
27
27
 
28
28
  return proto_values[self]
@@ -52,9 +52,7 @@ class Perturbator:
52
52
  self.intensity = self.intensity or PerturbatorIntensity.medium
53
53
 
54
54
  @staticmethod
55
- def _from_api_perturbator(
56
- api_perturbator: models.V1alphaPerturbator,
57
- ) -> "Perturbator":
55
+ def _from_api_perturbator(api_perturbator: models.V1Perturbator) -> "Perturbator":
58
56
  """Converts an API Perturbator to a client Perturbator."""
59
57
  return Perturbator(
60
58
  key=api_perturbator.name or "",
@@ -32,7 +32,7 @@ class Problem:
32
32
  _evaluator_id: Optional[str] = None
33
33
 
34
34
  @staticmethod
35
- def _from_api_problem(api_problem: models.V1alphaProblemAndAction) -> "Problem":
35
+ def _from_api_problem(api_problem: models.V1ProblemAndAction) -> "Problem":
36
36
  """Converts an API Problem to a client Problem."""
37
37
  try:
38
38
  severity = ProblemSeverity(api_problem.severity)
@@ -98,7 +98,7 @@ class TestLab:
98
98
  Args:
99
99
  evaluator: The evaluator to use for the evaluation.
100
100
  """
101
- req = apiModels.V1alphaImportLeaderboardRequest(
101
+ req = apiModels.V1ImportLeaderboardRequest(
102
102
  testLabJson=self.json(),
103
103
  evaluator=evaluator.key,
104
104
  model=None,
@@ -132,7 +132,7 @@ class TestLab:
132
132
  return json.dumps(lab, indent=4, sort_keys=True)
133
133
 
134
134
  def _get_leaderboard_from_operation(
135
- self, operation: apiModels.V1alphaOperation
135
+ self, operation: apiModels.V1Operation
136
136
  ) -> Optional[l10s.Leaderboard]:
137
137
  """Retrieves the leaderboard from the operation, which created it.
138
138
 
@@ -1,6 +1,9 @@
1
1
  import dataclasses
2
2
  import datetime
3
+ import enum
3
4
  import json
5
+ import time
6
+ from typing import Any
4
7
  from typing import List
5
8
  from typing import Optional
6
9
  from typing import Union
@@ -11,6 +14,121 @@ from eval_studio_client import perturbators as p10s
11
14
  from eval_studio_client.api import models
12
15
 
13
16
 
17
+ class TestCaseGenerator(enum.Enum):
18
+ """Methods used for test case generation."""
19
+
20
+ unspecified = models.V1TestCasesGenerator.TEST_CASES_GENERATOR_UNSPECIFIED
21
+ simple_factual_questions = (
22
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_SIMPLE_FACTUAL_QUESTIONS
23
+ )
24
+ multi_hop_questions = (
25
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_MULTI_HOP_QUESTIONS
26
+ )
27
+ inference_questions = (
28
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_INFERENCE_QUESTIONS
29
+ )
30
+ numerical_reasoning_questions = (
31
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_NUMERICAL_REASONING_QUESTIONS
32
+ )
33
+ ambiguity_handling_questions = (
34
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_AMBIGUITY_HANDLING_QUESTIONS
35
+ )
36
+ negation_and_contradiction_questions = (
37
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_NEGATION_AND_CONTRADICTION_QUESTIONS
38
+ )
39
+ temporal_reasoning_questions = (
40
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_TEMPORAL_REASONING_QUESTIONS
41
+ )
42
+ out_of_scope_questions = (
43
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_OUT_OF_SCOPE_QUESTIONS
44
+ )
45
+ yes_or_no_questions = (
46
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_YES_OR_NO_QUESTIONS
47
+ )
48
+ multiple_choice_questions = (
49
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_MULTIPLE_CHOICE_QUESTIONS
50
+ )
51
+ demographic_representation_questions = (
52
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_DEMOGRAPHIC_REPRESENTATION_QUESTIONS
53
+ )
54
+ sentiment_variation_questions = (
55
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_SENTIMENT_VARIATION_QUESTIONS
56
+ )
57
+ irrelevant_information_questions = (
58
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_IRRELEVANT_INFORMATION_QUESTIONS
59
+ )
60
+ deliberately_misleading_questions = (
61
+ models.V1TestCasesGenerator.TEST_CASES_GENERATOR_DELIBERATELY_MISLEADING_QUESTIONS
62
+ )
63
+
64
+ def to_api_proto(self) -> models.V1TestCasesGenerator:
65
+ """Converts the client TestCaseGenerator to an API TestCaseGeneration."""
66
+ proto_values = {
67
+ TestCaseGenerator.unspecified: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_UNSPECIFIED,
68
+ TestCaseGenerator.simple_factual_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_SIMPLE_FACTUAL_QUESTIONS,
69
+ TestCaseGenerator.multi_hop_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_MULTI_HOP_QUESTIONS,
70
+ TestCaseGenerator.inference_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_INFERENCE_QUESTIONS,
71
+ TestCaseGenerator.numerical_reasoning_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_NUMERICAL_REASONING_QUESTIONS,
72
+ TestCaseGenerator.ambiguity_handling_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_AMBIGUITY_HANDLING_QUESTIONS,
73
+ TestCaseGenerator.negation_and_contradiction_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_NEGATION_AND_CONTRADICTION_QUESTIONS,
74
+ TestCaseGenerator.temporal_reasoning_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_TEMPORAL_REASONING_QUESTIONS,
75
+ TestCaseGenerator.out_of_scope_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_OUT_OF_SCOPE_QUESTIONS,
76
+ TestCaseGenerator.yes_or_no_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_YES_OR_NO_QUESTIONS,
77
+ TestCaseGenerator.multiple_choice_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_MULTIPLE_CHOICE_QUESTIONS,
78
+ TestCaseGenerator.demographic_representation_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_DEMOGRAPHIC_REPRESENTATION_QUESTIONS,
79
+ TestCaseGenerator.sentiment_variation_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_SENTIMENT_VARIATION_QUESTIONS,
80
+ TestCaseGenerator.irrelevant_information_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_IRRELEVANT_INFORMATION_QUESTIONS,
81
+ TestCaseGenerator.deliberately_misleading_questions: models.V1TestCasesGenerator.TEST_CASES_GENERATOR_DELIBERATELY_MISLEADING_QUESTIONS,
82
+ }
83
+
84
+ return proto_values[self]
85
+
86
+
87
+ @dataclasses.dataclass
88
+ class TestCaseGenerationHandle:
89
+
90
+ name: Any | None
91
+ create_time: Optional[datetime.datetime] = None
92
+ creator: Optional[str] = None
93
+ update_time: Optional[datetime.datetime] = None
94
+ updater: Optional[str] = None
95
+ delete_time: Optional[datetime.datetime] = None
96
+ deleter: Optional[str] = None
97
+ progress: Optional[float] = None
98
+ progress_message: Optional[str] = None
99
+ error: Optional[models.RpcStatus] = None
100
+ done: Optional[bool] = None
101
+
102
+ @staticmethod
103
+ def _from_operation(
104
+ res: models.V1GenerateTestCasesResponse | models.V1GetOperationResponse,
105
+ ) -> "TestCaseGenerationHandle":
106
+ """Converts an API operation to prompt generation handle."""
107
+ op: models.V1Operation | None = res.operation
108
+ if not op:
109
+ return TestCaseGenerationHandle(name=None)
110
+
111
+ # progress
112
+ if hasattr(op, "metadata") and op.metadata:
113
+ meta_dict = op.metadata.to_dict() or {}
114
+ else:
115
+ meta_dict = {}
116
+
117
+ return TestCaseGenerationHandle(
118
+ name=op.name,
119
+ create_time=op.create_time,
120
+ creator=op.creator,
121
+ update_time=op.update_time,
122
+ updater=op.updater,
123
+ delete_time=op.delete_time,
124
+ deleter=op.deleter,
125
+ progress=meta_dict.get("progress"),
126
+ progress_message=meta_dict.get("progressMessage"),
127
+ error=op.error,
128
+ done=op.done,
129
+ )
130
+
131
+
14
132
  @dataclasses.dataclass
15
133
  class TestCase:
16
134
  """Represents a single test case, which contains tested prompt, expected answer
@@ -35,9 +153,9 @@ class TestCase:
35
153
  create_time: Optional[datetime.datetime] = None
36
154
  update_time: Optional[datetime.datetime] = None
37
155
 
38
- def to_api_proto(self) -> models.V1alphaTestCase:
156
+ def to_api_proto(self) -> models.V1TestCase:
39
157
  """Converts the client TestCase to an API TestCase."""
40
- return models.V1alphaTestCase(
158
+ return models.V1TestCase(
41
159
  prompt=self.prompt,
42
160
  answer=self.answer,
43
161
  constraints=self.constraints,
@@ -45,7 +163,7 @@ class TestCase:
45
163
  )
46
164
 
47
165
  @staticmethod
48
- def _from_api_test_case(api_test_case: models.V1alphaTestCase) -> "TestCase":
166
+ def _from_api_test_case(api_test_case: models.V1TestCase) -> "TestCase":
49
167
  return TestCase(
50
168
  key=api_test_case.name or "",
51
169
  prompt=api_test_case.prompt or "",
@@ -81,6 +199,7 @@ class Test:
81
199
  self._test_api = api.TestServiceApi(self._client)
82
200
  self._test_case_api = api.TestCaseServiceApi(self._client)
83
201
  self._document_api = api.DocumentServiceApi(self._client)
202
+ self._operation_api = api.OperationServiceApi(self._client)
84
203
 
85
204
  @property
86
205
  def test_cases(self) -> List[TestCase]:
@@ -146,6 +265,86 @@ class Test:
146
265
  resp = self._test_api.test_service_perturb_test(self.key, req)
147
266
  return Test._from_api_test(resp.test, self._client)
148
267
 
268
+ def generate_test_cases(
269
+ self,
270
+ count: int,
271
+ model: Optional[str] = None,
272
+ base_llm_model: Optional[str] = None,
273
+ generators: Optional[List[TestCaseGenerator]] = None,
274
+ ) -> "TestCaseGenerationHandle":
275
+ """Generates test cases based on the documents of the Test.
276
+
277
+ Args:
278
+ count (int): Number of test cases to generate (generator may return fewer
279
+ prompts).
280
+ model (str): Model to use for generating the prompts.
281
+ base_llm_model (str): Base LLM model to use for generating the prompts.
282
+ generators (List[TestCaseGenerator]): Methods to use for generation.
283
+ """
284
+
285
+ req = models.TestServiceGenerateTestCasesRequest(
286
+ count=count,
287
+ model=model or None,
288
+ base_llm_model=base_llm_model or None,
289
+ generators=[g.to_api_proto() for g in generators] if generators else None,
290
+ )
291
+
292
+ res = self._test_api.test_service_generate_test_cases(self.key, req)
293
+
294
+ return TestCaseGenerationHandle._from_operation(res)
295
+
296
+ def wait_for_test_case_generation(
297
+ self,
298
+ handle: TestCaseGenerationHandle,
299
+ timeout: Optional[float] = None,
300
+ verbose: bool = False,
301
+ ) -> TestCaseGenerationHandle:
302
+ """Waits for the test case generation to finish.
303
+
304
+ Args:
305
+ handle (TestCaseGenerationHandle): Handle of the test case generation.
306
+ timeout (float): The maximum time to wait in seconds.
307
+ verbose (bool): If True, prints the status of the handle while waiting.
308
+ """
309
+ if not handle.name:
310
+ raise ValueError("Test case generation handle is not valid.")
311
+ elif handle.done:
312
+ return handle
313
+
314
+ if verbose:
315
+ print(f"Waiting for test case generation to finish ({handle.name}):")
316
+ if self._client:
317
+ # exponential backoff
318
+ wait_time = 1.0
319
+ wait_coef = 1.6
320
+ wait_max = 20.0
321
+ wait_total = 0.0
322
+ timeout = timeout or float(2 * 24 * 60 * 60) # 2 days
323
+ while wait_total < timeout:
324
+ handle = TestCaseGenerationHandle._from_operation(
325
+ self._operation_api.operation_service_get_operation(handle.name)
326
+ )
327
+
328
+ if verbose:
329
+ if handle.progress or handle.progress_message:
330
+ progress = (
331
+ int(handle.progress * 100.0) if handle.progress else 0
332
+ )
333
+ msg = f"{progress:>2}% - '{handle.progress_message}'"
334
+ else:
335
+ msg = " 0% - 'Initializing'"
336
+ print(f" {msg}")
337
+
338
+ if handle.done:
339
+ return handle
340
+
341
+ wait_time *= wait_coef
342
+ time.sleep(min(wait_time, wait_max))
343
+ else:
344
+ raise ValueError("Cannot establish connection to Eval Studio host.")
345
+
346
+ raise TimeoutError("Waiting timeout has been reached.")
347
+
149
348
  def delete(self, force=False):
150
349
  """Deletes the test.
151
350
 
@@ -263,7 +462,7 @@ class Test:
263
462
  raise RuntimeError("Failed to unlink the document from the test.") from err
264
463
 
265
464
  @staticmethod
266
- def _from_api_test(api_test: models.V1alphaTest, client: api.ApiClient) -> "Test":
465
+ def _from_api_test(api_test: models.V1Test, client: api.ApiClient) -> "Test":
267
466
  return Test(
268
467
  key=api_test.name or "",
269
468
  name=api_test.display_name or "",
@@ -302,7 +501,7 @@ class _Tests:
302
501
  documents (optional): List of `Document`s to be attached to the test.
303
502
  """
304
503
  _documents = [d.key for d in documents] if documents else None
305
- test = models.V1alphaTest(
504
+ test = models.V1Test(
306
505
  display_name=name, description=description, documents=_documents
307
506
  )
308
507
  res = self._api.test_service_create_test(test)
@@ -319,6 +518,24 @@ class _Tests:
319
518
  """
320
519
  self._api.test_service_delete_test(key)
321
520
 
521
+ def get(self, key: str) -> Test:
522
+ """Get the test with given resource name.
523
+
524
+ Args:
525
+ key (str): Resource name of the test to be get.
526
+
527
+ Returns:
528
+ An instance of the retrieved `Test`.
529
+
530
+ Raises:
531
+ KeyError: If the test with the given key does not exist.
532
+ """
533
+ api_test = self._api.test_service_get_test(key)
534
+ if not api_test or not api_test.test:
535
+ raise KeyError(f"Test with key '{key}' does not exist.")
536
+
537
+ return Test._from_api_test(api_test.test, self._client)
538
+
322
539
  def import_test_suite(
323
540
  self, test_suite: str, name_prefix: Optional[str] = None
324
541
  ) -> List[Test]:
@@ -328,7 +545,7 @@ class _Tests:
328
545
  test_suite (str): JSON string of the test suite.
329
546
  name_prefix (str): Optional prefix to name the imported tests.
330
547
  """
331
- req = models.V1alphaBatchImportTestsRequest(
548
+ req = models.V1BatchImportTestsRequest(
332
549
  testsJson=test_suite, testDisplayNamePrefix=name_prefix or None
333
550
  )
334
551
  res = self._api.test_service_batch_import_tests(req)
@@ -360,9 +577,9 @@ class _PerturbatorConfiguration:
360
577
  perturbator.params if isinstance(perturbator, p10s.Perturbator) else None
361
578
  )
362
579
 
363
- def to_api_proto(self) -> models.V1alphaPerturbatorConfiguration:
580
+ def to_api_proto(self) -> models.V1PerturbatorConfiguration:
364
581
  """Converts the client PerturbatorConfiguration to an API PerturbatorConfiguration."""
365
- return models.V1alphaPerturbatorConfiguration(
582
+ return models.V1PerturbatorConfiguration(
366
583
  name=self.name,
367
584
  intensity=self.intensity.to_api_proto(),
368
585
  params=json.dumps(self.params) if self.params else None,