orca-sdk 0.0.97__py3-none-any.whl → 0.0.98__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 (298) hide show
  1. orca_sdk/__init__.py +1 -0
  2. orca_sdk/_shared/__init__.py +1 -0
  3. orca_sdk/_utils/analysis_ui.py +5 -5
  4. orca_sdk/_utils/auth.py +23 -33
  5. orca_sdk/_utils/pagination.py +126 -0
  6. orca_sdk/_utils/pagination_test.py +132 -0
  7. orca_sdk/classification_model.py +188 -126
  8. orca_sdk/classification_model_test.py +57 -8
  9. orca_sdk/client.py +3515 -0
  10. orca_sdk/conftest.py +10 -0
  11. orca_sdk/credentials.py +59 -21
  12. orca_sdk/credentials_test.py +20 -0
  13. orca_sdk/datasource.py +42 -76
  14. orca_sdk/embedding_model.py +225 -71
  15. orca_sdk/embedding_model_test.py +27 -36
  16. orca_sdk/job.py +49 -45
  17. orca_sdk/job_test.py +16 -0
  18. orca_sdk/memoryset.py +340 -353
  19. orca_sdk/memoryset_test.py +7 -11
  20. orca_sdk/regression_model.py +120 -111
  21. orca_sdk/regression_model_test.py +15 -0
  22. orca_sdk/telemetry.py +162 -139
  23. {orca_sdk-0.0.97.dist-info → orca_sdk-0.0.98.dist-info}/METADATA +2 -5
  24. orca_sdk-0.0.98.dist-info/RECORD +40 -0
  25. orca_sdk/_generated_api_client/__init__.py +0 -3
  26. orca_sdk/_generated_api_client/api/__init__.py +0 -307
  27. orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
  28. orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +0 -128
  29. orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +0 -170
  30. orca_sdk/_generated_api_client/api/auth/create_org_plan_auth_org_plan_post.py +0 -168
  31. orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +0 -156
  32. orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +0 -130
  33. orca_sdk/_generated_api_client/api/auth/get_org_plan_auth_org_plan_get.py +0 -122
  34. orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +0 -127
  35. orca_sdk/_generated_api_client/api/auth/update_org_plan_auth_org_plan_put.py +0 -168
  36. orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
  37. orca_sdk/_generated_api_client/api/classification_model/create_classification_model_classification_model_post.py +0 -170
  38. orca_sdk/_generated_api_client/api/classification_model/delete_classification_model_classification_model_name_or_id_delete.py +0 -156
  39. orca_sdk/_generated_api_client/api/classification_model/delete_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py +0 -168
  40. orca_sdk/_generated_api_client/api/classification_model/evaluate_classification_model_classification_model_model_name_or_id_evaluation_post.py +0 -183
  41. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_classification_model_name_or_id_get.py +0 -156
  42. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py +0 -170
  43. orca_sdk/_generated_api_client/api/classification_model/list_classification_model_evaluations_classification_model_model_name_or_id_evaluation_get.py +0 -161
  44. orca_sdk/_generated_api_client/api/classification_model/list_classification_models_classification_model_get.py +0 -127
  45. orca_sdk/_generated_api_client/api/classification_model/predict_label_gpu_classification_model_name_or_id_prediction_post.py +0 -190
  46. orca_sdk/_generated_api_client/api/classification_model/update_classification_model_classification_model_name_or_id_patch.py +0 -183
  47. orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
  48. orca_sdk/_generated_api_client/api/datasource/create_datasource_from_content_datasource_post.py +0 -224
  49. orca_sdk/_generated_api_client/api/datasource/create_datasource_from_files_datasource_upload_post.py +0 -229
  50. orca_sdk/_generated_api_client/api/datasource/create_embedding_evaluation_datasource_name_or_id_embedding_evaluation_post.py +0 -183
  51. orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +0 -156
  52. orca_sdk/_generated_api_client/api/datasource/download_datasource_datasource_name_or_id_download_get.py +0 -172
  53. orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +0 -156
  54. orca_sdk/_generated_api_client/api/datasource/get_embedding_evaluation_datasource_name_or_id_embedding_evaluation_task_id_get.py +0 -169
  55. orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +0 -127
  56. orca_sdk/_generated_api_client/api/datasource/list_embedding_evaluations_datasource_name_or_id_embedding_evaluation_get.py +0 -235
  57. orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
  58. orca_sdk/_generated_api_client/api/default/healthcheck_get.py +0 -118
  59. orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +0 -118
  60. orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
  61. orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +0 -168
  62. orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +0 -156
  63. orca_sdk/_generated_api_client/api/finetuned_embedding_model/embed_with_finetuned_model_gpu_finetuned_embedding_model_name_or_id_embedding_post.py +0 -189
  64. orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +0 -156
  65. orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +0 -127
  66. orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
  67. orca_sdk/_generated_api_client/api/memoryset/analyze_memoryset_memoryset_name_or_id_analysis_post.py +0 -183
  68. orca_sdk/_generated_api_client/api/memoryset/batch_delete_memoryset_batch_delete_memoryset_post.py +0 -168
  69. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +0 -181
  70. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +0 -168
  71. orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +0 -181
  72. orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +0 -167
  73. orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +0 -156
  74. orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +0 -169
  75. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +0 -210
  76. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +0 -186
  77. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +0 -156
  78. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +0 -188
  79. orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +0 -235
  80. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +0 -180
  81. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +0 -212
  82. orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +0 -195
  83. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +0 -210
  84. orca_sdk/_generated_api_client/api/memoryset/suggest_cascading_edits_memoryset_name_or_id_memory_memory_id_cascading_edits_post.py +0 -233
  85. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +0 -216
  86. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +0 -205
  87. orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +0 -183
  88. orca_sdk/_generated_api_client/api/predictive_model/__init__.py +0 -0
  89. orca_sdk/_generated_api_client/api/predictive_model/list_predictive_models_predictive_model_get.py +0 -150
  90. orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
  91. orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +0 -192
  92. orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +0 -161
  93. orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +0 -127
  94. orca_sdk/_generated_api_client/api/regression_model/__init__.py +0 -0
  95. orca_sdk/_generated_api_client/api/regression_model/create_regression_model_regression_model_post.py +0 -170
  96. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_delete.py +0 -168
  97. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_regression_model_name_or_id_delete.py +0 -154
  98. orca_sdk/_generated_api_client/api/regression_model/evaluate_regression_model_regression_model_model_name_or_id_evaluation_post.py +0 -183
  99. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_get.py +0 -170
  100. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_regression_model_name_or_id_get.py +0 -156
  101. orca_sdk/_generated_api_client/api/regression_model/list_regression_model_evaluations_regression_model_model_name_or_id_evaluation_get.py +0 -161
  102. orca_sdk/_generated_api_client/api/regression_model/list_regression_models_regression_model_get.py +0 -127
  103. orca_sdk/_generated_api_client/api/regression_model/predict_score_gpu_regression_model_name_or_id_prediction_post.py +0 -190
  104. orca_sdk/_generated_api_client/api/regression_model/update_regression_model_regression_model_name_or_id_patch.py +0 -183
  105. orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
  106. orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +0 -154
  107. orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +0 -156
  108. orca_sdk/_generated_api_client/api/task/get_task_task_task_id_get.py +0 -156
  109. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +0 -288
  110. orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
  111. orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +0 -168
  112. orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +0 -162
  113. orca_sdk/_generated_api_client/api/telemetry/explain_prediction_telemetry_prediction_prediction_id_explanation_get.py +0 -182
  114. orca_sdk/_generated_api_client/api/telemetry/generate_memory_suggestions_telemetry_prediction_prediction_id_memory_suggestions_post.py +0 -239
  115. orca_sdk/_generated_api_client/api/telemetry/get_action_recommendation_telemetry_prediction_prediction_id_action_get.py +0 -192
  116. orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +0 -156
  117. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +0 -180
  118. orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +0 -127
  119. orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +0 -198
  120. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +0 -198
  121. orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +0 -171
  122. orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +0 -181
  123. orca_sdk/_generated_api_client/client.py +0 -216
  124. orca_sdk/_generated_api_client/errors.py +0 -38
  125. orca_sdk/_generated_api_client/models/__init__.py +0 -345
  126. orca_sdk/_generated_api_client/models/action_recommendation.py +0 -82
  127. orca_sdk/_generated_api_client/models/action_recommendation_action.py +0 -11
  128. orca_sdk/_generated_api_client/models/add_memory_recommendations.py +0 -85
  129. orca_sdk/_generated_api_client/models/add_memory_suggestion.py +0 -79
  130. orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +0 -116
  131. orca_sdk/_generated_api_client/models/api_key_metadata.py +0 -137
  132. orca_sdk/_generated_api_client/models/api_key_metadata_scope_item.py +0 -9
  133. orca_sdk/_generated_api_client/models/base_label_prediction_result.py +0 -130
  134. orca_sdk/_generated_api_client/models/base_model.py +0 -55
  135. orca_sdk/_generated_api_client/models/base_score_prediction_result.py +0 -108
  136. orca_sdk/_generated_api_client/models/body_create_datasource_from_files_datasource_upload_post.py +0 -145
  137. orca_sdk/_generated_api_client/models/cascade_edit_suggestions_request.py +0 -154
  138. orca_sdk/_generated_api_client/models/cascading_edit_suggestion.py +0 -92
  139. orca_sdk/_generated_api_client/models/class_representatives.py +0 -92
  140. orca_sdk/_generated_api_client/models/classification_evaluation_request.py +0 -148
  141. orca_sdk/_generated_api_client/models/classification_metrics.py +0 -259
  142. orca_sdk/_generated_api_client/models/classification_model_metadata.py +0 -227
  143. orca_sdk/_generated_api_client/models/classification_prediction_request.py +0 -220
  144. orca_sdk/_generated_api_client/models/clone_memoryset_request.py +0 -210
  145. orca_sdk/_generated_api_client/models/cluster_metrics.py +0 -78
  146. orca_sdk/_generated_api_client/models/column_info.py +0 -145
  147. orca_sdk/_generated_api_client/models/column_type.py +0 -14
  148. orca_sdk/_generated_api_client/models/constraint_violation_error_response.py +0 -81
  149. orca_sdk/_generated_api_client/models/constraint_violation_error_response_status_code.py +0 -8
  150. orca_sdk/_generated_api_client/models/count_predictions_request.py +0 -195
  151. orca_sdk/_generated_api_client/models/create_api_key_request.py +0 -120
  152. orca_sdk/_generated_api_client/models/create_api_key_request_scope_item.py +0 -9
  153. orca_sdk/_generated_api_client/models/create_api_key_response.py +0 -145
  154. orca_sdk/_generated_api_client/models/create_api_key_response_scope_item.py +0 -9
  155. orca_sdk/_generated_api_client/models/create_classification_model_request.py +0 -237
  156. orca_sdk/_generated_api_client/models/create_datasource_from_content_request.py +0 -101
  157. orca_sdk/_generated_api_client/models/create_memoryset_request.py +0 -365
  158. orca_sdk/_generated_api_client/models/create_memoryset_request_index_params.py +0 -66
  159. orca_sdk/_generated_api_client/models/create_memoryset_request_index_type.py +0 -13
  160. orca_sdk/_generated_api_client/models/create_org_plan_request.py +0 -73
  161. orca_sdk/_generated_api_client/models/create_org_plan_request_tier.py +0 -11
  162. orca_sdk/_generated_api_client/models/create_regression_model_request.py +0 -157
  163. orca_sdk/_generated_api_client/models/datasource_metadata.py +0 -156
  164. orca_sdk/_generated_api_client/models/delete_memories_request.py +0 -70
  165. orca_sdk/_generated_api_client/models/delete_memorysets_request.py +0 -70
  166. orca_sdk/_generated_api_client/models/embed_request.py +0 -155
  167. orca_sdk/_generated_api_client/models/embedding_evaluation_payload.py +0 -205
  168. orca_sdk/_generated_api_client/models/embedding_evaluation_request.py +0 -197
  169. orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +0 -158
  170. orca_sdk/_generated_api_client/models/embedding_evaluation_result.py +0 -86
  171. orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +0 -9
  172. orca_sdk/_generated_api_client/models/embedding_model_result.py +0 -123
  173. orca_sdk/_generated_api_client/models/evaluation_response.py +0 -153
  174. orca_sdk/_generated_api_client/models/evaluation_response_classification_metrics.py +0 -140
  175. orca_sdk/_generated_api_client/models/evaluation_response_regression_metrics.py +0 -140
  176. orca_sdk/_generated_api_client/models/feedback_metrics.py +0 -85
  177. orca_sdk/_generated_api_client/models/feedback_type.py +0 -9
  178. orca_sdk/_generated_api_client/models/filter_item.py +0 -239
  179. orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +0 -17
  180. orca_sdk/_generated_api_client/models/filter_item_field_type_1_item_type_0.py +0 -8
  181. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_0.py +0 -8
  182. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +0 -22
  183. orca_sdk/_generated_api_client/models/filter_item_op.py +0 -16
  184. orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +0 -259
  185. orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +0 -66
  186. orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +0 -166
  187. orca_sdk/_generated_api_client/models/get_memories_request.py +0 -70
  188. orca_sdk/_generated_api_client/models/http_validation_error.py +0 -86
  189. orca_sdk/_generated_api_client/models/internal_server_error_response.py +0 -81
  190. orca_sdk/_generated_api_client/models/internal_server_error_response_status_code.py +0 -8
  191. orca_sdk/_generated_api_client/models/label_class_metrics.py +0 -108
  192. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +0 -210
  193. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +0 -68
  194. orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +0 -288
  195. orca_sdk/_generated_api_client/models/labeled_memory.py +0 -186
  196. orca_sdk/_generated_api_client/models/labeled_memory_insert.py +0 -128
  197. orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +0 -68
  198. orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +0 -194
  199. orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +0 -68
  200. orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +0 -68
  201. orca_sdk/_generated_api_client/models/labeled_memory_update.py +0 -171
  202. orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +0 -68
  203. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics.py +0 -207
  204. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_feedback_metrics.py +0 -68
  205. orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_metadata.py +0 -68
  206. orca_sdk/_generated_api_client/models/list_memories_request.py +0 -104
  207. orca_sdk/_generated_api_client/models/list_predictions_request.py +0 -319
  208. orca_sdk/_generated_api_client/models/lookup_request.py +0 -101
  209. orca_sdk/_generated_api_client/models/lookup_score_metrics.py +0 -94
  210. orca_sdk/_generated_api_client/models/memory_metrics.py +0 -263
  211. orca_sdk/_generated_api_client/models/memory_type.py +0 -9
  212. orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -245
  213. orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +0 -105
  214. orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +0 -182
  215. orca_sdk/_generated_api_client/models/memoryset_class_patterns_analysis_config.py +0 -79
  216. orca_sdk/_generated_api_client/models/memoryset_class_patterns_metrics.py +0 -138
  217. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config.py +0 -202
  218. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_clustering_method.py +0 -9
  219. orca_sdk/_generated_api_client/models/memoryset_cluster_analysis_config_partitioning_method.py +0 -10
  220. orca_sdk/_generated_api_client/models/memoryset_cluster_metrics.py +0 -100
  221. orca_sdk/_generated_api_client/models/memoryset_duplicate_analysis_config.py +0 -70
  222. orca_sdk/_generated_api_client/models/memoryset_duplicate_metrics.py +0 -70
  223. orca_sdk/_generated_api_client/models/memoryset_label_analysis_config.py +0 -70
  224. orca_sdk/_generated_api_client/models/memoryset_label_metrics.py +0 -116
  225. orca_sdk/_generated_api_client/models/memoryset_metadata.py +0 -333
  226. orca_sdk/_generated_api_client/models/memoryset_metadata_index_params.py +0 -55
  227. orca_sdk/_generated_api_client/models/memoryset_metadata_index_type.py +0 -13
  228. orca_sdk/_generated_api_client/models/memoryset_metrics.py +0 -265
  229. orca_sdk/_generated_api_client/models/memoryset_neighbor_analysis_config.py +0 -83
  230. orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics.py +0 -76
  231. orca_sdk/_generated_api_client/models/memoryset_neighbor_metrics_lookup_score_metrics.py +0 -68
  232. orca_sdk/_generated_api_client/models/memoryset_projection_analysis_config.py +0 -79
  233. orca_sdk/_generated_api_client/models/memoryset_projection_metrics.py +0 -55
  234. orca_sdk/_generated_api_client/models/memoryset_update.py +0 -121
  235. orca_sdk/_generated_api_client/models/not_found_error_response.py +0 -99
  236. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +0 -23
  237. orca_sdk/_generated_api_client/models/not_found_error_response_status_code.py +0 -8
  238. orca_sdk/_generated_api_client/models/org_plan.py +0 -99
  239. orca_sdk/_generated_api_client/models/org_plan_tier.py +0 -11
  240. orca_sdk/_generated_api_client/models/paginated_task.py +0 -108
  241. orca_sdk/_generated_api_client/models/paginated_union_labeled_memory_with_feedback_metrics_scored_memory_with_feedback_metrics.py +0 -135
  242. orca_sdk/_generated_api_client/models/pr_curve.py +0 -86
  243. orca_sdk/_generated_api_client/models/prediction_feedback.py +0 -157
  244. orca_sdk/_generated_api_client/models/prediction_feedback_category.py +0 -115
  245. orca_sdk/_generated_api_client/models/prediction_feedback_request.py +0 -122
  246. orca_sdk/_generated_api_client/models/prediction_feedback_result.py +0 -102
  247. orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_0.py +0 -10
  248. orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_1.py +0 -9
  249. orca_sdk/_generated_api_client/models/predictive_model_update.py +0 -111
  250. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +0 -115
  251. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +0 -17
  252. orca_sdk/_generated_api_client/models/rac_head_type.py +0 -11
  253. orca_sdk/_generated_api_client/models/rar_head_type.py +0 -8
  254. orca_sdk/_generated_api_client/models/regression_evaluation_request.py +0 -148
  255. orca_sdk/_generated_api_client/models/regression_metrics.py +0 -172
  256. orca_sdk/_generated_api_client/models/regression_model_metadata.py +0 -191
  257. orca_sdk/_generated_api_client/models/regression_prediction_request.py +0 -195
  258. orca_sdk/_generated_api_client/models/roc_curve.py +0 -86
  259. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup.py +0 -196
  260. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup_metadata.py +0 -68
  261. orca_sdk/_generated_api_client/models/score_prediction_with_memories_and_feedback.py +0 -252
  262. orca_sdk/_generated_api_client/models/scored_memory.py +0 -172
  263. orca_sdk/_generated_api_client/models/scored_memory_insert.py +0 -128
  264. orca_sdk/_generated_api_client/models/scored_memory_insert_metadata.py +0 -68
  265. orca_sdk/_generated_api_client/models/scored_memory_lookup.py +0 -180
  266. orca_sdk/_generated_api_client/models/scored_memory_lookup_metadata.py +0 -68
  267. orca_sdk/_generated_api_client/models/scored_memory_metadata.py +0 -68
  268. orca_sdk/_generated_api_client/models/scored_memory_update.py +0 -171
  269. orca_sdk/_generated_api_client/models/scored_memory_update_metadata_type_0.py +0 -68
  270. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics.py +0 -193
  271. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_feedback_metrics.py +0 -68
  272. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_metadata.py +0 -68
  273. orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +0 -81
  274. orca_sdk/_generated_api_client/models/service_unavailable_error_response_status_code.py +0 -8
  275. orca_sdk/_generated_api_client/models/task.py +0 -198
  276. orca_sdk/_generated_api_client/models/task_status.py +0 -14
  277. orca_sdk/_generated_api_client/models/task_status_info.py +0 -133
  278. orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_0.py +0 -8
  279. orca_sdk/_generated_api_client/models/telemetry_field_type_0_item_type_2.py +0 -9
  280. orca_sdk/_generated_api_client/models/telemetry_field_type_1_item_type_0.py +0 -8
  281. orca_sdk/_generated_api_client/models/telemetry_field_type_1_item_type_1.py +0 -8
  282. orca_sdk/_generated_api_client/models/telemetry_filter_item.py +0 -217
  283. orca_sdk/_generated_api_client/models/telemetry_filter_item_op.py +0 -15
  284. orca_sdk/_generated_api_client/models/telemetry_memories_request.py +0 -181
  285. orca_sdk/_generated_api_client/models/telemetry_sort_options.py +0 -185
  286. orca_sdk/_generated_api_client/models/telemetry_sort_options_direction.py +0 -9
  287. orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +0 -73
  288. orca_sdk/_generated_api_client/models/unauthenticated_error_response_status_code.py +0 -8
  289. orca_sdk/_generated_api_client/models/unauthorized_error_response.py +0 -81
  290. orca_sdk/_generated_api_client/models/unauthorized_error_response_status_code.py +0 -8
  291. orca_sdk/_generated_api_client/models/update_org_plan_request.py +0 -73
  292. orca_sdk/_generated_api_client/models/update_org_plan_request_tier.py +0 -11
  293. orca_sdk/_generated_api_client/models/update_prediction_request.py +0 -133
  294. orca_sdk/_generated_api_client/models/validation_error.py +0 -99
  295. orca_sdk/_generated_api_client/py.typed +0 -1
  296. orca_sdk/_generated_api_client/types.py +0 -56
  297. orca_sdk-0.0.97.dist-info/RECORD +0 -309
  298. {orca_sdk-0.0.97.dist-info → orca_sdk-0.0.98.dist-info}/WHEEL +0 -0
orca_sdk/telemetry.py CHANGED
@@ -1,49 +1,22 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import logging
4
- from abc import ABC, abstractmethod
4
+ import os
5
+ from abc import ABC
5
6
  from datetime import datetime
6
- from typing import (
7
- TYPE_CHECKING,
8
- Any,
9
- Generator,
10
- Iterable,
11
- Literal,
12
- Self,
13
- cast,
14
- overload,
15
- )
16
- from uuid import UUID
7
+ from typing import TYPE_CHECKING, Any, Iterable, Literal, Self, overload
17
8
 
18
- from orca_sdk._utils.common import UNSET
9
+ from httpx import Timeout
19
10
 
20
- from ._generated_api_client.api import (
21
- drop_feedback_category_with_data,
22
- get_prediction,
23
- list_feedback_categories,
24
- list_predictions,
25
- record_prediction_feedback,
26
- update_prediction,
27
- )
28
- from ._generated_api_client.api.telemetry.generate_memory_suggestions_telemetry_prediction_prediction_id_memory_suggestions_post import (
29
- sync as generate_memory_suggestions,
30
- )
31
- from ._generated_api_client.api.telemetry.get_action_recommendation_telemetry_prediction_prediction_id_action_get import (
32
- sync as get_action_recommendation,
33
- )
34
- from ._generated_api_client.client import get_client
35
- from ._generated_api_client.errors import get_error_for_response
36
- from ._generated_api_client.models import (
37
- FeedbackType,
11
+ from ._utils.common import UNSET
12
+ from .client import (
38
13
  LabelPredictionWithMemoriesAndFeedback,
39
- ListPredictionsRequest,
40
14
  PredictionFeedbackCategory,
41
15
  PredictionFeedbackRequest,
42
16
  ScorePredictionWithMemoriesAndFeedback,
43
17
  UpdatePredictionRequest,
18
+ orca_api,
44
19
  )
45
- from ._generated_api_client.types import UNSET as CLIENT_UNSET
46
- from ._utils.prediction_result_ui import inspect_prediction_result
47
20
  from .memoryset import (
48
21
  LabeledMemoryLookup,
49
22
  LabeledMemoryset,
@@ -55,6 +28,23 @@ if TYPE_CHECKING:
55
28
  from .classification_model import ClassificationModel
56
29
  from .regression_model import RegressionModel
57
30
 
31
+ TelemetryMode = Literal["off", "on", "sync", "async"]
32
+ """
33
+ Mode for saving telemetry. One of:
34
+
35
+ - `"off"`: Do not save telemetry
36
+ - `"on"`: Save telemetry asynchronously unless the `ORCA_SAVE_TELEMETRY_SYNCHRONOUSLY` environment variable is set.
37
+ - `"sync"`: Save telemetry synchronously
38
+ - `"async"`: Save telemetry asynchronously
39
+ """
40
+
41
+
42
+ def _get_telemetry_config(override: TelemetryMode | None = None) -> tuple[bool, bool]:
43
+ return (
44
+ override != "off",
45
+ os.getenv("ORCA_SAVE_TELEMETRY_SYNCHRONOUSLY", "0") != "0" or override == "sync",
46
+ )
47
+
58
48
 
59
49
  def _parse_feedback(feedback: dict[str, Any]) -> PredictionFeedbackRequest:
60
50
  category = feedback.get("category", None)
@@ -63,12 +53,15 @@ def _parse_feedback(feedback: dict[str, Any]) -> PredictionFeedbackRequest:
63
53
  prediction_id = feedback.get("prediction_id", None)
64
54
  if prediction_id is None:
65
55
  raise ValueError("`prediction_id` must be specified")
66
- return PredictionFeedbackRequest(
67
- prediction_id=prediction_id,
68
- category_name=category,
69
- value=feedback.get("value", CLIENT_UNSET),
70
- comment=feedback.get("comment", CLIENT_UNSET),
71
- )
56
+ output: PredictionFeedbackRequest = {
57
+ "prediction_id": prediction_id,
58
+ "category_name": category,
59
+ }
60
+ if "value" in feedback:
61
+ output["value"] = feedback["value"]
62
+ if "comment" in feedback:
63
+ output["comment"] = feedback["comment"]
64
+ return output
72
65
 
73
66
 
74
67
  class FeedbackCategory:
@@ -92,10 +85,10 @@ class FeedbackCategory:
92
85
  created_at: datetime
93
86
 
94
87
  def __init__(self, category: PredictionFeedbackCategory):
95
- self.id = category.id
96
- self.name = category.name
97
- self.value_type = bool if category.type == FeedbackType.BINARY else float
98
- self.created_at = category.created_at
88
+ self.id = category["id"]
89
+ self.name = category["name"]
90
+ self.value_type = bool if category["type"] == "BINARY" else float
91
+ self.created_at = datetime.fromisoformat(category["created_at"])
99
92
 
100
93
  @classmethod
101
94
  def all(cls) -> list[FeedbackCategory]:
@@ -105,7 +98,7 @@ class FeedbackCategory:
105
98
  Returns:
106
99
  List with information about all existing feedback categories.
107
100
  """
108
- return [FeedbackCategory(category) for category in list_feedback_categories()]
101
+ return [FeedbackCategory(category) for category in orca_api.GET("/telemetry/feedback_category")]
109
102
 
110
103
  @classmethod
111
104
  def drop(cls, name: str) -> None:
@@ -122,13 +115,43 @@ class FeedbackCategory:
122
115
  Raises:
123
116
  LookupError: If the category is not found.
124
117
  """
125
- drop_feedback_category_with_data(name)
118
+ orca_api.DELETE("/telemetry/feedback_category/{name_or_id}", params={"name_or_id": name})
126
119
  logging.info(f"Deleted feedback category {name} with all associated feedback")
127
120
 
128
121
  def __repr__(self):
129
122
  return "FeedbackCategory({" + f"name: {self.name}, " + f"value_type: {self.value_type}" + "})"
130
123
 
131
124
 
125
+ class AddMemorySuggestions:
126
+ suggestions: list[tuple[str, str]]
127
+ memoryset_id: str
128
+ model_id: str
129
+ prediction_id: str
130
+
131
+ def __init__(self, suggestions: list[tuple[str, str]], memoryset_id: str, model_id: str, prediction_id: str):
132
+ self.suggestions = suggestions
133
+ self.memoryset_id = memoryset_id
134
+ self.model_id = model_id
135
+ self.prediction_id = prediction_id
136
+
137
+ def __repr__(self):
138
+ return (
139
+ "AddMemorySuggestions({"
140
+ + f"suggestions: {self.suggestions}, "
141
+ + f"memoryset_id: {self.memoryset_id}, "
142
+ + f"model_id: {self.model_id}, "
143
+ + f"prediction_id: {self.prediction_id}"
144
+ + "})"
145
+ )
146
+
147
+ def apply(self) -> None:
148
+ memoryset = LabeledMemoryset.open(self.memoryset_id)
149
+ label_name_to_label = {label_name: label for label, label_name in enumerate(memoryset.label_names)}
150
+ memoryset.insert(
151
+ [{"value": suggestion[0], "label": label_name_to_label[suggestion[1]]} for suggestion in self.suggestions]
152
+ )
153
+
154
+
132
155
  class _Prediction(ABC):
133
156
  prediction_id: str | None
134
157
  confidence: float
@@ -165,55 +188,54 @@ class _Prediction(ABC):
165
188
  def _telemetry(self) -> LabelPredictionWithMemoriesAndFeedback | ScorePredictionWithMemoriesAndFeedback:
166
189
  # for internal use only, do not document
167
190
  if self.__telemetry is None:
168
- self.__telemetry = get_prediction(prediction_id=UUID(self.prediction_id))
191
+ if self.prediction_id is None:
192
+ raise ValueError("Cannot fetch telemetry with no prediction ID")
193
+ self.__telemetry = orca_api.GET(
194
+ "/telemetry/prediction/{prediction_id}", params={"prediction_id": self.prediction_id}
195
+ )
169
196
  return self.__telemetry
170
197
 
171
198
  @property
172
199
  def input_value(self) -> str:
173
200
  if self._input_value is not None:
174
201
  return self._input_value
175
- assert isinstance(self._telemetry.input_value, str)
176
- return self._telemetry.input_value
202
+ assert isinstance(self._telemetry["input_value"], str)
203
+ return self._telemetry["input_value"]
177
204
 
178
205
  @property
179
206
  def memory_lookups(self) -> list[LabeledMemoryLookup] | list[ScoredMemoryLookup]:
180
- match self._telemetry:
181
- case LabelPredictionWithMemoriesAndFeedback():
182
- return [
183
- LabeledMemoryLookup(self._telemetry.memoryset_id, lookup) for lookup in self._telemetry.memories
184
- ]
185
- case ScorePredictionWithMemoriesAndFeedback():
186
- return [ScoredMemoryLookup(self._telemetry.memoryset_id, lookup) for lookup in self._telemetry.memories]
207
+ if "label" in self._telemetry:
208
+ return [
209
+ LabeledMemoryLookup(self._telemetry["memoryset_id"], lookup) for lookup in self._telemetry["memories"]
210
+ ]
211
+ else:
212
+ return [
213
+ ScoredMemoryLookup(self._telemetry["memoryset_id"], lookup) for lookup in self._telemetry["memories"]
214
+ ]
187
215
 
188
216
  @property
189
217
  def feedback(self) -> dict[str, bool | float]:
190
218
  return {
191
- f.category_name: (
192
- f.value if f.category_type == FeedbackType.CONTINUOUS else True if f.value == 1 else False
219
+ f["category_name"]: (
220
+ f["value"] if f["category_type"] == "CONTINUOUS" else True if f["value"] == 1 else False
193
221
  )
194
- for f in self._telemetry.feedbacks
222
+ for f in self._telemetry["feedbacks"]
195
223
  }
196
224
 
197
225
  @property
198
226
  def tags(self) -> set[str]:
199
- return set(self._telemetry.tags)
200
-
201
- def _explanation_stream(self, refresh: bool = False) -> Generator[str, None, None]:
202
- httpx_client = get_client().get_httpx_client()
203
- url = f"/telemetry/prediction/{self.prediction_id}/explanation?refresh={refresh}"
204
- with httpx_client.stream("GET", url) as res:
205
- if res.status_code != 200:
206
- # Read the response body before raising the error
207
- res.read()
208
- raise get_error_for_response(res)
209
- for chunk in res.iter_text():
210
- yield chunk
227
+ return set(self._telemetry["tags"])
211
228
 
212
229
  @property
213
230
  def explanation(self) -> str:
214
- if self._telemetry.explanation is None:
215
- self._telemetry.explanation = "".join(self._explanation_stream())
216
- return self._telemetry.explanation
231
+ if self._telemetry["explanation"] is None:
232
+ self._telemetry["explanation"] = orca_api.GET(
233
+ "/telemetry/prediction/{prediction_id}/explanation",
234
+ params={"prediction_id": self._telemetry["prediction_id"]},
235
+ parse_as="text",
236
+ timeout=30,
237
+ )
238
+ return self._telemetry["explanation"]
217
239
 
218
240
  def explain(self, refresh: bool = False) -> None:
219
241
  """
@@ -222,11 +244,16 @@ class _Prediction(ABC):
222
244
  Params:
223
245
  refresh: Force the explanation agent to re-run even if an explanation already exists.
224
246
  """
225
- if not refresh and self._telemetry.explanation is not None:
226
- print(self._telemetry.explanation)
247
+ if not refresh and self._telemetry["explanation"] is not None:
248
+ print(self._telemetry["explanation"])
227
249
  else:
228
- for chunk in self._explanation_stream(refresh):
229
- print(chunk, end="")
250
+ with orca_api.stream(
251
+ "GET",
252
+ f"/telemetry/prediction/{self.prediction_id}/explanation?refresh={refresh}",
253
+ timeout=Timeout(connect=3, read=None),
254
+ ) as res:
255
+ for chunk in res.iter_text():
256
+ print(chunk, end="")
230
257
  print() # final newline
231
258
 
232
259
  @overload
@@ -295,34 +322,33 @@ class _Prediction(ABC):
295
322
  prediction: LabelPredictionWithMemoriesAndFeedback | ScorePredictionWithMemoriesAndFeedback,
296
323
  ) -> Self:
297
324
 
298
- if isinstance(prediction, LabelPredictionWithMemoriesAndFeedback):
299
- memoryset = LabeledMemoryset.open(prediction.memoryset_id)
300
- model = ClassificationModel.open(prediction.model_id)
301
- elif isinstance(prediction, ScorePredictionWithMemoriesAndFeedback):
302
- memoryset = ScoredMemoryset.open(prediction.memoryset_id)
303
- model = RegressionModel.open(prediction.model_id)
325
+ if "label" in prediction:
326
+ memoryset = LabeledMemoryset.open(prediction["memoryset_id"])
327
+ model = ClassificationModel.open(prediction["model_id"])
304
328
  else:
305
- raise ValueError(f"Invalid prediction type: {type(prediction)}")
329
+ memoryset = ScoredMemoryset.open(prediction["memoryset_id"])
330
+ model = RegressionModel.open(prediction["model_id"])
306
331
 
307
332
  return cls(
308
- prediction_id=prediction.prediction_id,
309
- label=getattr(prediction, "label", None),
310
- label_name=getattr(prediction, "label_name", None),
311
- score=getattr(prediction, "score", None),
312
- confidence=prediction.confidence,
313
- anomaly_score=prediction.anomaly_score,
333
+ prediction_id=prediction["prediction_id"],
334
+ label=prediction.get("label", None),
335
+ label_name=prediction.get("label_name", None),
336
+ score=prediction.get("score", None),
337
+ confidence=prediction["confidence"],
338
+ anomaly_score=prediction["anomaly_score"],
314
339
  memoryset=memoryset,
315
340
  model=model,
316
341
  telemetry=prediction,
317
342
  )
318
343
 
319
344
  if isinstance(prediction_id, str):
320
- prediction = get_prediction(prediction_id=UUID(prediction_id))
321
- return create_prediction(prediction)
345
+ return create_prediction(
346
+ orca_api.GET("/telemetry/prediction/{prediction_id}", params={"prediction_id": prediction_id})
347
+ )
322
348
  else:
323
349
  return [
324
350
  create_prediction(prediction)
325
- for prediction in list_predictions(body=ListPredictionsRequest(prediction_ids=list(prediction_id)))
351
+ for prediction in orca_api.POST("/telemetry/prediction", json={"prediction_ids": list(prediction_id)})
326
352
  ]
327
353
 
328
354
  def refresh(self):
@@ -341,13 +367,15 @@ class _Prediction(ABC):
341
367
  if self.prediction_id is None:
342
368
  raise ValueError("Cannot update prediction with no prediction ID")
343
369
 
344
- update_prediction(
345
- prediction_id=self.prediction_id,
346
- body=UpdatePredictionRequest(
347
- expected_label=expected_label if expected_label is not UNSET else CLIENT_UNSET,
348
- expected_score=expected_score if expected_score is not UNSET else CLIENT_UNSET,
349
- tags=[] if tags is None else list(tags) if tags is not UNSET else CLIENT_UNSET,
350
- ),
370
+ payload: UpdatePredictionRequest = {}
371
+ if tags is not UNSET:
372
+ payload["tags"] = [] if tags is None else list(tags)
373
+ if expected_label is not UNSET:
374
+ payload["expected_label"] = expected_label
375
+ if expected_score is not UNSET:
376
+ payload["expected_score"] = expected_score
377
+ orca_api.PATCH(
378
+ "/telemetry/prediction/{prediction_id}", params={"prediction_id": self.prediction_id}, json=payload
351
379
  )
352
380
  self.refresh()
353
381
 
@@ -403,12 +431,13 @@ class _Prediction(ABC):
403
431
  ValueError: If the value does not match previous value types for the category, or is a
404
432
  [`float`][float] that is not between `-1.0` and `+1.0`.
405
433
  """
406
- record_prediction_feedback(
407
- body=[
434
+ orca_api.PUT(
435
+ "/telemetry/prediction/feedback",
436
+ json=[
408
437
  _parse_feedback(
409
438
  {"prediction_id": self.prediction_id, "category": category, "value": value, "comment": comment}
410
439
  )
411
- ]
440
+ ],
412
441
  )
413
442
  self.refresh()
414
443
 
@@ -425,23 +454,12 @@ class _Prediction(ABC):
425
454
  if self.prediction_id is None:
426
455
  raise ValueError("Cannot delete feedback with no prediction ID")
427
456
 
428
- record_prediction_feedback(
429
- body=[PredictionFeedbackRequest(prediction_id=self.prediction_id, category_name=category, value=None)]
457
+ orca_api.PUT(
458
+ "/telemetry/prediction/feedback",
459
+ json=[PredictionFeedbackRequest(prediction_id=self.prediction_id, category_name=category, value=None)],
430
460
  )
431
461
  self.refresh()
432
462
 
433
- def inspect(self) -> None:
434
- """
435
- Display an interactive UI with the details about this prediction
436
-
437
- Params:
438
- **kwargs: Additional keyword arguments to pass to the display function
439
-
440
- Note:
441
- This method is only available in Jupyter notebooks.
442
- """
443
- inspect_prediction_result(self) # type: ignore
444
-
445
463
 
446
464
  class ClassificationPrediction(_Prediction):
447
465
  """
@@ -482,18 +500,18 @@ class ClassificationPrediction(_Prediction):
482
500
 
483
501
  @property
484
502
  def memory_lookups(self) -> list[LabeledMemoryLookup]:
485
- assert isinstance(self._telemetry, LabelPredictionWithMemoriesAndFeedback)
486
- return [LabeledMemoryLookup(self._telemetry.memoryset_id, lookup) for lookup in self._telemetry.memories]
503
+ assert "label" in self._telemetry
504
+ return [LabeledMemoryLookup(self._telemetry["memoryset_id"], lookup) for lookup in self._telemetry["memories"]]
487
505
 
488
506
  @property
489
507
  def expected_label(self) -> int | None:
490
- assert isinstance(self._telemetry, LabelPredictionWithMemoriesAndFeedback)
491
- return self._telemetry.expected_label
508
+ assert "label" in self._telemetry
509
+ return self._telemetry["expected_label"]
492
510
 
493
511
  @property
494
512
  def expected_label_name(self) -> str | None:
495
- assert isinstance(self._telemetry, LabelPredictionWithMemoriesAndFeedback)
496
- return self._telemetry.expected_label_name
513
+ assert "label" in self._telemetry
514
+ return self._telemetry["expected_label_name"]
497
515
 
498
516
  def update(
499
517
  self,
@@ -542,13 +560,14 @@ class ClassificationPrediction(_Prediction):
542
560
  if self.prediction_id is None:
543
561
  raise ValueError("Cannot get action recommendation with no prediction ID")
544
562
 
545
- api_recommendation = get_action_recommendation(
546
- prediction_id=UUID(self.prediction_id),
547
- refresh=refresh,
563
+ response = orca_api.GET(
564
+ "/telemetry/prediction/{prediction_id}/action",
565
+ params={"prediction_id": self.prediction_id, "refresh": refresh},
566
+ timeout=30,
548
567
  )
549
- return (api_recommendation.action.value, api_recommendation.rationale)
568
+ return (response["action"], response["rationale"])
550
569
 
551
- def generate_memory_suggestions(self, *, num_memories: int = 3) -> list[dict[str, str | int]]:
570
+ def generate_memory_suggestions(self, *, num_memories: int = 3) -> AddMemorySuggestions:
552
571
  """
553
572
  Generate synthetic memory suggestions to improve this prediction.
554
573
 
@@ -581,14 +600,18 @@ class ClassificationPrediction(_Prediction):
581
600
  if self.prediction_id is None:
582
601
  raise ValueError("Cannot generate memory suggestions with no prediction ID")
583
602
 
584
- api_recommendations = generate_memory_suggestions(
585
- prediction_id=UUID(self.prediction_id),
586
- num_memories=num_memories,
603
+ response = orca_api.GET(
604
+ "/telemetry/prediction/{prediction_id}/memory_suggestions",
605
+ params={"prediction_id": self.prediction_id, "num_memories": num_memories},
606
+ timeout=30,
587
607
  )
588
608
 
589
- return [
590
- {"value": suggestion.value, "label": int(suggestion.label)} for suggestion in api_recommendations.memories
591
- ]
609
+ return AddMemorySuggestions(
610
+ suggestions=[(m["value"], m["label_name"]) for m in response["memories"]],
611
+ memoryset_id=self.memoryset.id,
612
+ model_id=self.model.id,
613
+ prediction_id=self.prediction_id,
614
+ )
592
615
 
593
616
 
594
617
  class RegressionPrediction(_Prediction):
@@ -626,8 +649,8 @@ class RegressionPrediction(_Prediction):
626
649
 
627
650
  @property
628
651
  def memory_lookups(self) -> list[ScoredMemoryLookup]:
629
- assert isinstance(self._telemetry, ScorePredictionWithMemoriesAndFeedback)
630
- return [ScoredMemoryLookup(self._telemetry.memoryset_id, lookup) for lookup in self._telemetry.memories]
652
+ assert "score" in self._telemetry
653
+ return [ScoredMemoryLookup(self._telemetry["memoryset_id"], lookup) for lookup in self._telemetry["memories"]]
631
654
 
632
655
  @property
633
656
  def explanation(self) -> str:
@@ -636,8 +659,8 @@ class RegressionPrediction(_Prediction):
636
659
 
637
660
  @property
638
661
  def expected_score(self) -> float | None:
639
- assert isinstance(self._telemetry, ScorePredictionWithMemoriesAndFeedback)
640
- return self._telemetry.expected_score
662
+ assert "score" in self._telemetry
663
+ return self._telemetry["expected_score"]
641
664
 
642
665
  def update(
643
666
  self,
@@ -1,23 +1,20 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: orca_sdk
3
- Version: 0.0.97
3
+ Version: 0.0.98
4
4
  Summary: SDK for interacting with Orca Services
5
5
  License: Apache-2.0
6
6
  Author: Orca DB Inc.
7
7
  Author-email: dev-rel@orcadb.ai
8
- Requires-Python: >=3.10,<3.13
8
+ Requires-Python: >=3.11,<4.0
9
9
  Classifier: License :: OSI Approved :: Apache Software License
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
14
- Requires-Dist: attrs (>=22.2.0)
15
13
  Requires-Dist: datasets (>=3.1.0,<4.0.0)
16
14
  Requires-Dist: gradio (==5.13.0)
17
15
  Requires-Dist: httpx (>=0.20.0,<0.29.0)
18
16
  Requires-Dist: pandas (>=2.2.3,<3.0.0)
19
17
  Requires-Dist: pyarrow (>=18.0.0,<19.0.0)
20
- Requires-Dist: python-dateutil (>=2.8.0,<3.0.0)
21
18
  Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
22
19
  Requires-Dist: scikit-learn (>=1.6.1,<2.0.0)
23
20
  Requires-Dist: torch (>=2.5.1,<3.0.0)
@@ -0,0 +1,40 @@
1
+ orca_sdk/__init__.py,sha256=bNbT7BlBGo5ZWYHBiPUz77dIc344l7czz7AsuBrdzyM,1001
2
+ orca_sdk/_shared/__init__.py,sha256=3Kt0Hu3QLI5FEp9nqGTxqAm3hAoBJKcagfaGQZ-lbJQ,223
3
+ orca_sdk/_shared/metrics.py,sha256=KDvnvWjfrC_Znihz12HH83Mll2p3LPlBPBEKJTczVlw,13269
4
+ orca_sdk/_shared/metrics_test.py,sha256=3LQ10RcDeq92rmRQgzyq9WCthhEc7yAwe8WKzUoZGx4,7890
5
+ orca_sdk/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ orca_sdk/_utils/analysis_ui.py,sha256=nT-M_YcNRCVPQzvuqYNFKnNHhYkADYBvq1GlIUePrWw,9232
7
+ orca_sdk/_utils/analysis_ui_style.css,sha256=q_ba_-_KtgztepHg829zLzypaxKayl7ySC1-oYDzV3k,836
8
+ orca_sdk/_utils/auth.py,sha256=58Gaa4KA9iy7WP-hMZT4PI6x5lkpctFbbJ6Piwu1ZS4,2484
9
+ orca_sdk/_utils/auth_test.py,sha256=ygVWv1Ex53LaxIP7p2hzPHl8l9qYyBD5IGmEFJMps6s,1056
10
+ orca_sdk/_utils/common.py,sha256=wUm2pNDWytEecC5WiDWd02-yCZw3Akx0bIutG4lHsFA,805
11
+ orca_sdk/_utils/data_parsing.py,sha256=gkAwWEC8qRt3vRUObe7n7Pr0azOayNwc2yFY04WFp7E,5220
12
+ orca_sdk/_utils/data_parsing_test.py,sha256=fNEYzPzE1jt3KWE2Kj91KqIeuv-L5REHFAa98zkNGSQ,8962
13
+ orca_sdk/_utils/pagination.py,sha256=986z0QPZixrZeurJWorF6eMgnTRdDF84AagEA6qNbMw,4245
14
+ orca_sdk/_utils/pagination_test.py,sha256=BUylCrcHnwoKEBmMUzVr0lwLpA35ivcCwdBK4rMw9y8,4887
15
+ orca_sdk/_utils/prediction_result_ui.css,sha256=sqBlkRLnovb5X5EcUDdB6iGpH63nVRlTW4uAmXuD0WM,258
16
+ orca_sdk/_utils/prediction_result_ui.py,sha256=WxsIHVLvJW0yE6QrBQHWn0BjPUFcDYNF3DTtTjIhgrU,4627
17
+ orca_sdk/_utils/tqdm_file_reader.py,sha256=Lw7Cg1UgNuRUoN6jjqZb-IlV00H-kbRcrZLdudr1GxE,324
18
+ orca_sdk/_utils/value_parser.py,sha256=c3qMABCCDQcIjn9N1orYYnlRwDW9JWdGwW_2TDZPLdI,1286
19
+ orca_sdk/_utils/value_parser_test.py,sha256=OybsiC-Obi32RRi9NIuwrVBRAnlyPMV1xVAaevSrb7M,1079
20
+ orca_sdk/classification_model.py,sha256=SUiUgv_o3UUngpz3Le_L6DsijhjXVEB3yo84hrD1MX4,31172
21
+ orca_sdk/classification_model_test.py,sha256=WganVoP-0vw1cqiVWJ2vXyGi4lwYp_hbZHultpxvFqk,19536
22
+ orca_sdk/client.py,sha256=LEqdqMHbidh9NeZ_42RbEDR64KqXnqnX0JBjaoo2pnY,115704
23
+ orca_sdk/conftest.py,sha256=LHA46gDU_D0T_ogS6XOVQvGDDMD01nVZFWVcBYDConc,8885
24
+ orca_sdk/credentials.py,sha256=KrmgP_5uqBKJXFJV6utTHIhU2odsr95VEqEXWe277DY,5074
25
+ orca_sdk/credentials_test.py,sha256=whUweSJIEws6C8Bku-5V31Dv9hD1mFDDW7X2cCsB6g0,1629
26
+ orca_sdk/datasource.py,sha256=344gqZsSV_N3RDlqXuLnDrPSizvciaAsSPmsiljNSmI,19329
27
+ orca_sdk/datasource_test.py,sha256=nKQGjhX0VwCCLCdwl1ns-6kA5Ow-8pWQkSS9WV3CVww,9975
28
+ orca_sdk/embedding_model.py,sha256=YxMXdZ3tvnxnK93nArOr_HZ6QoRB-Mc5VNQJ0mcIdpk,26021
29
+ orca_sdk/embedding_model_test.py,sha256=1aELyCuIzxSxUg7Z4tYtNOd8-hV5hFb-gsZTNh712OQ,7765
30
+ orca_sdk/job.py,sha256=wWJPkkQbkNu_ylBtZN4AscU00VwWTfqlSmysRBUlivw,12787
31
+ orca_sdk/job_test.py,sha256=r4zCyCuJ8eVN-O6_IUSakmSBn64rY7oBmlNtb5RNsi0,3919
32
+ orca_sdk/memoryset.py,sha256=hnhgHxsuV5JEDMnxazmO03VjxzPBENtHDPppHRfh9z4,85354
33
+ orca_sdk/memoryset_test.py,sha256=14WG6u_adVmm6CSn2dM5lEfQYxybwh3s9Q7RBeTuoPE,20486
34
+ orca_sdk/regression_model.py,sha256=je2g1BmoPCuouv5iWqDolja90F2w2vD6TooXA8KjL7c,24552
35
+ orca_sdk/regression_model_test.py,sha256=8LDhtQeh52grZQ2Xd0ju1MQvb_hwosY_ORDDE3wS2LA,14570
36
+ orca_sdk/telemetry.py,sha256=jOOFYYr1s3i5EASbCcmUJ_O469xCK5OFg7NVcVfTAlU,25400
37
+ orca_sdk/telemetry_test.py,sha256=eT66C5lFdNg-pQdo2I__BP7Tn5fTc9aTkVo9ZhWwhU0,5519
38
+ orca_sdk-0.0.98.dist-info/METADATA,sha256=z5MKWnC226a5mzHHN7aKJFvpFm9qTe46-gtaRTH8ppM,3613
39
+ orca_sdk-0.0.98.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
40
+ orca_sdk-0.0.98.dist-info/RECORD,,
@@ -1,3 +0,0 @@
1
- import logging
2
-
3
- logging.getLogger("httpx").setLevel(logging.WARNING)