orca-sdk 0.1.1__py3-none-any.whl → 0.1.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. orca_sdk/__init__.py +10 -4
  2. orca_sdk/_shared/__init__.py +10 -0
  3. orca_sdk/_shared/metrics.py +393 -0
  4. orca_sdk/_shared/metrics_test.py +273 -0
  5. orca_sdk/_utils/analysis_ui.py +12 -10
  6. orca_sdk/_utils/analysis_ui_style.css +0 -3
  7. orca_sdk/_utils/auth.py +31 -29
  8. orca_sdk/_utils/data_parsing.py +28 -2
  9. orca_sdk/_utils/data_parsing_test.py +15 -15
  10. orca_sdk/_utils/pagination.py +126 -0
  11. orca_sdk/_utils/pagination_test.py +132 -0
  12. orca_sdk/_utils/prediction_result_ui.py +67 -21
  13. orca_sdk/_utils/tqdm_file_reader.py +12 -0
  14. orca_sdk/_utils/value_parser.py +45 -0
  15. orca_sdk/_utils/value_parser_test.py +39 -0
  16. orca_sdk/async_client.py +3795 -0
  17. orca_sdk/classification_model.py +601 -129
  18. orca_sdk/classification_model_test.py +415 -117
  19. orca_sdk/client.py +3787 -0
  20. orca_sdk/conftest.py +184 -38
  21. orca_sdk/credentials.py +162 -20
  22. orca_sdk/credentials_test.py +100 -16
  23. orca_sdk/datasource.py +268 -68
  24. orca_sdk/datasource_test.py +266 -18
  25. orca_sdk/embedding_model.py +434 -82
  26. orca_sdk/embedding_model_test.py +66 -33
  27. orca_sdk/job.py +343 -0
  28. orca_sdk/job_test.py +108 -0
  29. orca_sdk/memoryset.py +1690 -324
  30. orca_sdk/memoryset_test.py +456 -119
  31. orca_sdk/regression_model.py +694 -0
  32. orca_sdk/regression_model_test.py +378 -0
  33. orca_sdk/telemetry.py +460 -143
  34. orca_sdk/telemetry_test.py +43 -24
  35. {orca_sdk-0.1.1.dist-info → orca_sdk-0.1.3.dist-info}/METADATA +34 -16
  36. orca_sdk-0.1.3.dist-info/RECORD +41 -0
  37. {orca_sdk-0.1.1.dist-info → orca_sdk-0.1.3.dist-info}/WHEEL +1 -1
  38. orca_sdk/_generated_api_client/__init__.py +0 -3
  39. orca_sdk/_generated_api_client/api/__init__.py +0 -193
  40. orca_sdk/_generated_api_client/api/auth/__init__.py +0 -0
  41. orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py +0 -128
  42. orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py +0 -170
  43. orca_sdk/_generated_api_client/api/auth/delete_api_key_auth_api_key_name_or_id_delete.py +0 -156
  44. orca_sdk/_generated_api_client/api/auth/delete_org_auth_org_delete.py +0 -130
  45. orca_sdk/_generated_api_client/api/auth/list_api_keys_auth_api_key_get.py +0 -127
  46. orca_sdk/_generated_api_client/api/classification_model/__init__.py +0 -0
  47. orca_sdk/_generated_api_client/api/classification_model/create_evaluation_classification_model_model_name_or_id_evaluation_post.py +0 -183
  48. orca_sdk/_generated_api_client/api/classification_model/create_model_classification_model_post.py +0 -170
  49. orca_sdk/_generated_api_client/api/classification_model/delete_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py +0 -168
  50. orca_sdk/_generated_api_client/api/classification_model/delete_model_classification_model_name_or_id_delete.py +0 -154
  51. orca_sdk/_generated_api_client/api/classification_model/get_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py +0 -170
  52. orca_sdk/_generated_api_client/api/classification_model/get_model_classification_model_name_or_id_get.py +0 -156
  53. orca_sdk/_generated_api_client/api/classification_model/list_evaluations_classification_model_model_name_or_id_evaluation_get.py +0 -161
  54. orca_sdk/_generated_api_client/api/classification_model/list_models_classification_model_get.py +0 -127
  55. orca_sdk/_generated_api_client/api/classification_model/predict_gpu_classification_model_name_or_id_prediction_post.py +0 -190
  56. orca_sdk/_generated_api_client/api/datasource/__init__.py +0 -0
  57. orca_sdk/_generated_api_client/api/datasource/create_datasource_datasource_post.py +0 -167
  58. orca_sdk/_generated_api_client/api/datasource/delete_datasource_datasource_name_or_id_delete.py +0 -156
  59. orca_sdk/_generated_api_client/api/datasource/get_datasource_datasource_name_or_id_get.py +0 -156
  60. orca_sdk/_generated_api_client/api/datasource/list_datasources_datasource_get.py +0 -127
  61. orca_sdk/_generated_api_client/api/default/__init__.py +0 -0
  62. orca_sdk/_generated_api_client/api/default/healthcheck_get.py +0 -118
  63. orca_sdk/_generated_api_client/api/default/healthcheck_gpu_get.py +0 -118
  64. orca_sdk/_generated_api_client/api/finetuned_embedding_model/__init__.py +0 -0
  65. orca_sdk/_generated_api_client/api/finetuned_embedding_model/create_finetuned_embedding_model_finetuned_embedding_model_post.py +0 -168
  66. orca_sdk/_generated_api_client/api/finetuned_embedding_model/delete_finetuned_embedding_model_finetuned_embedding_model_name_or_id_delete.py +0 -156
  67. 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
  68. orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embedding_model_finetuned_embedding_model_name_or_id_get.py +0 -156
  69. orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py +0 -127
  70. orca_sdk/_generated_api_client/api/memoryset/__init__.py +0 -0
  71. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +0 -181
  72. orca_sdk/_generated_api_client/api/memoryset/create_analysis_memoryset_name_or_id_analysis_post.py +0 -183
  73. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +0 -168
  74. orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py +0 -181
  75. orca_sdk/_generated_api_client/api/memoryset/delete_memory_memoryset_name_or_id_memory_memory_id_delete.py +0 -167
  76. orca_sdk/_generated_api_client/api/memoryset/delete_memoryset_memoryset_name_or_id_delete.py +0 -156
  77. orca_sdk/_generated_api_client/api/memoryset/get_analysis_memoryset_name_or_id_analysis_analysis_task_id_get.py +0 -169
  78. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +0 -188
  79. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +0 -169
  80. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +0 -156
  81. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +0 -184
  82. orca_sdk/_generated_api_client/api/memoryset/list_analyses_memoryset_name_or_id_analysis_get.py +0 -260
  83. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +0 -127
  84. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +0 -193
  85. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +0 -188
  86. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +0 -191
  87. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +0 -187
  88. orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py +0 -0
  89. orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py +0 -188
  90. orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py +0 -157
  91. orca_sdk/_generated_api_client/api/pretrained_embedding_model/list_pretrained_embedding_models_pretrained_embedding_model_get.py +0 -127
  92. orca_sdk/_generated_api_client/api/task/__init__.py +0 -0
  93. orca_sdk/_generated_api_client/api/task/abort_task_task_task_id_abort_delete.py +0 -154
  94. orca_sdk/_generated_api_client/api/task/get_task_status_task_task_id_status_get.py +0 -156
  95. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +0 -243
  96. orca_sdk/_generated_api_client/api/telemetry/__init__.py +0 -0
  97. orca_sdk/_generated_api_client/api/telemetry/drop_feedback_category_with_data_telemetry_feedback_category_name_or_id_delete.py +0 -162
  98. orca_sdk/_generated_api_client/api/telemetry/get_feedback_category_telemetry_feedback_category_name_or_id_get.py +0 -156
  99. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +0 -157
  100. orca_sdk/_generated_api_client/api/telemetry/list_feedback_categories_telemetry_feedback_category_get.py +0 -127
  101. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +0 -175
  102. orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetry_prediction_feedback_put.py +0 -171
  103. orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py +0 -181
  104. orca_sdk/_generated_api_client/client.py +0 -216
  105. orca_sdk/_generated_api_client/errors.py +0 -38
  106. orca_sdk/_generated_api_client/models/__init__.py +0 -159
  107. orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py +0 -84
  108. orca_sdk/_generated_api_client/models/api_key_metadata.py +0 -118
  109. orca_sdk/_generated_api_client/models/base_model.py +0 -55
  110. orca_sdk/_generated_api_client/models/body_create_datasource_datasource_post.py +0 -176
  111. orca_sdk/_generated_api_client/models/classification_evaluation_result.py +0 -114
  112. orca_sdk/_generated_api_client/models/clone_labeled_memoryset_request.py +0 -150
  113. orca_sdk/_generated_api_client/models/column_info.py +0 -114
  114. orca_sdk/_generated_api_client/models/column_type.py +0 -14
  115. orca_sdk/_generated_api_client/models/conflict_error_response.py +0 -80
  116. orca_sdk/_generated_api_client/models/create_api_key_request.py +0 -99
  117. orca_sdk/_generated_api_client/models/create_api_key_response.py +0 -126
  118. orca_sdk/_generated_api_client/models/create_labeled_memoryset_request.py +0 -259
  119. orca_sdk/_generated_api_client/models/create_rac_model_request.py +0 -209
  120. orca_sdk/_generated_api_client/models/datasource_metadata.py +0 -142
  121. orca_sdk/_generated_api_client/models/delete_memories_request.py +0 -70
  122. orca_sdk/_generated_api_client/models/embed_request.py +0 -127
  123. orca_sdk/_generated_api_client/models/embedding_finetuning_method.py +0 -9
  124. orca_sdk/_generated_api_client/models/evaluation_request.py +0 -180
  125. orca_sdk/_generated_api_client/models/evaluation_response.py +0 -140
  126. orca_sdk/_generated_api_client/models/feedback_type.py +0 -9
  127. orca_sdk/_generated_api_client/models/field_validation_error.py +0 -103
  128. orca_sdk/_generated_api_client/models/filter_item.py +0 -231
  129. orca_sdk/_generated_api_client/models/filter_item_field_type_0_item.py +0 -15
  130. orca_sdk/_generated_api_client/models/filter_item_field_type_2_item_type_1.py +0 -16
  131. orca_sdk/_generated_api_client/models/filter_item_op.py +0 -16
  132. orca_sdk/_generated_api_client/models/find_duplicates_analysis_result.py +0 -70
  133. orca_sdk/_generated_api_client/models/finetune_embedding_model_request.py +0 -259
  134. orca_sdk/_generated_api_client/models/finetune_embedding_model_request_training_args.py +0 -66
  135. orca_sdk/_generated_api_client/models/finetuned_embedding_model_metadata.py +0 -166
  136. orca_sdk/_generated_api_client/models/get_memories_request.py +0 -70
  137. orca_sdk/_generated_api_client/models/internal_server_error_response.py +0 -80
  138. orca_sdk/_generated_api_client/models/label_class_metrics.py +0 -108
  139. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py +0 -274
  140. orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py +0 -68
  141. orca_sdk/_generated_api_client/models/label_prediction_result.py +0 -101
  142. orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +0 -232
  143. orca_sdk/_generated_api_client/models/labeled_memory.py +0 -197
  144. orca_sdk/_generated_api_client/models/labeled_memory_insert.py +0 -108
  145. orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py +0 -68
  146. orca_sdk/_generated_api_client/models/labeled_memory_lookup.py +0 -258
  147. orca_sdk/_generated_api_client/models/labeled_memory_lookup_metadata.py +0 -68
  148. orca_sdk/_generated_api_client/models/labeled_memory_metadata.py +0 -68
  149. orca_sdk/_generated_api_client/models/labeled_memory_metrics.py +0 -277
  150. orca_sdk/_generated_api_client/models/labeled_memory_update.py +0 -171
  151. orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py +0 -68
  152. orca_sdk/_generated_api_client/models/labeled_memoryset_metadata.py +0 -195
  153. orca_sdk/_generated_api_client/models/list_analyses_memoryset_name_or_id_analysis_get_type_type_0.py +0 -9
  154. orca_sdk/_generated_api_client/models/list_memories_request.py +0 -104
  155. orca_sdk/_generated_api_client/models/list_predictions_request.py +0 -234
  156. orca_sdk/_generated_api_client/models/list_predictions_request_sort_item_item_type_0.py +0 -9
  157. orca_sdk/_generated_api_client/models/list_predictions_request_sort_item_item_type_1.py +0 -9
  158. orca_sdk/_generated_api_client/models/lookup_request.py +0 -81
  159. orca_sdk/_generated_api_client/models/memoryset_analysis_request.py +0 -83
  160. orca_sdk/_generated_api_client/models/memoryset_analysis_request_type.py +0 -9
  161. orca_sdk/_generated_api_client/models/memoryset_analysis_response.py +0 -180
  162. orca_sdk/_generated_api_client/models/memoryset_analysis_response_config.py +0 -66
  163. orca_sdk/_generated_api_client/models/memoryset_analysis_response_type.py +0 -9
  164. orca_sdk/_generated_api_client/models/not_found_error_response.py +0 -100
  165. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +0 -20
  166. orca_sdk/_generated_api_client/models/prediction_feedback.py +0 -157
  167. orca_sdk/_generated_api_client/models/prediction_feedback_category.py +0 -115
  168. orca_sdk/_generated_api_client/models/prediction_feedback_request.py +0 -122
  169. orca_sdk/_generated_api_client/models/prediction_feedback_result.py +0 -102
  170. orca_sdk/_generated_api_client/models/prediction_request.py +0 -169
  171. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +0 -97
  172. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +0 -11
  173. orca_sdk/_generated_api_client/models/rac_head_type.py +0 -11
  174. orca_sdk/_generated_api_client/models/rac_model_metadata.py +0 -191
  175. orca_sdk/_generated_api_client/models/service_unavailable_error_response.py +0 -80
  176. orca_sdk/_generated_api_client/models/task.py +0 -198
  177. orca_sdk/_generated_api_client/models/task_status.py +0 -14
  178. orca_sdk/_generated_api_client/models/task_status_info.py +0 -133
  179. orca_sdk/_generated_api_client/models/unauthenticated_error_response.py +0 -72
  180. orca_sdk/_generated_api_client/models/unauthorized_error_response.py +0 -80
  181. orca_sdk/_generated_api_client/models/unprocessable_input_error_response.py +0 -94
  182. orca_sdk/_generated_api_client/models/update_prediction_request.py +0 -93
  183. orca_sdk/_generated_api_client/py.typed +0 -1
  184. orca_sdk/_generated_api_client/types.py +0 -56
  185. orca_sdk/_utils/task.py +0 -73
  186. orca_sdk-0.1.1.dist-info/RECORD +0 -175
orca_sdk/client.py ADDED
@@ -0,0 +1,3787 @@
1
+ # Do not edit this file manually! It is generated by scripts/codegen.py
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ import logging
7
+ import os
8
+ import uuid
9
+ from contextlib import contextmanager
10
+ from contextvars import ContextVar
11
+ from string import Formatter
12
+ from typing import (
13
+ Any,
14
+ Callable,
15
+ Generator,
16
+ Literal,
17
+ Mapping,
18
+ NotRequired,
19
+ Self,
20
+ TypedDict,
21
+ cast,
22
+ overload,
23
+ )
24
+
25
+ from httpx import (
26
+ URL,
27
+ USE_CLIENT_DEFAULT,
28
+ BaseTransport,
29
+ Client,
30
+ Headers,
31
+ HTTPTransport,
32
+ Limits,
33
+ Proxy,
34
+ Request,
35
+ Response,
36
+ Timeout,
37
+ )
38
+ from httpx._client import UseClientDefault # type: ignore
39
+ from httpx._types import AuthTypes # type: ignore
40
+ from httpx._types import CookieTypes # type: ignore
41
+ from httpx._types import FileTypes # type: ignore
42
+ from httpx._types import HeaderTypes # type: ignore
43
+ from httpx._types import RequestContent # type: ignore
44
+ from httpx._types import RequestExtensions # type: ignore
45
+ from httpx._types import TimeoutTypes # type: ignore
46
+ from httpx_retries import Retry, RetryTransport
47
+
48
+
49
+ class ActionRecommendation(TypedDict):
50
+ action: Literal["remove_duplicates", "detect_mislabels", "add_memories", "finetuning"]
51
+ """
52
+ The recommended action to take
53
+ """
54
+ rationale: str
55
+ """
56
+ Explanation for why this action was recommended
57
+ """
58
+
59
+
60
+ class AddMemorySuggestion(TypedDict):
61
+ value: str
62
+ label_name: str
63
+
64
+
65
+ class AliveResponse(TypedDict):
66
+ ok: bool
67
+
68
+
69
+ class ApiKeyMetadata(TypedDict):
70
+ id: str
71
+ org_id: str
72
+ name: str
73
+ created_by: str | None
74
+ created_at: str
75
+ updated_at: str
76
+ scope: list[Literal["ADMINISTER", "PREDICT"]]
77
+
78
+
79
+ class BaseLabelPredictionResult(TypedDict):
80
+ prediction_id: str | None
81
+ confidence: float
82
+ anomaly_score: float | None
83
+ label: int | None
84
+ label_name: str | None
85
+ logits: list[float]
86
+
87
+
88
+ class BaseModel(TypedDict):
89
+ pass
90
+
91
+
92
+ class BaseScorePredictionResult(TypedDict):
93
+ prediction_id: str | None
94
+ confidence: float
95
+ anomaly_score: float | None
96
+ score: float | None
97
+
98
+
99
+ class CascadeEditSuggestionsRequest(TypedDict):
100
+ old_label: int | None
101
+ new_label: int
102
+ max_neighbors: NotRequired[int]
103
+ max_validation_neighbors: NotRequired[int]
104
+ similarity_threshold: NotRequired[float | None]
105
+ only_if_has_old_label: NotRequired[bool]
106
+ exclude_if_new_label: NotRequired[bool]
107
+ suggestion_cooldown_time: NotRequired[float]
108
+ label_confirmation_cooldown_time: NotRequired[float]
109
+
110
+
111
+ class ClassPattern(TypedDict):
112
+ label: int
113
+ name: str
114
+ description: str
115
+
116
+
117
+ class ClassPatternsDescription(TypedDict):
118
+ overview: str
119
+ classes: list[ClassPattern]
120
+ summary: str
121
+
122
+
123
+ class ClassRepresentatives(TypedDict):
124
+ label: int
125
+ label_name: str | None
126
+ representative_memory_ids: list[str]
127
+
128
+
129
+ class ClassificationEvaluationRequest(TypedDict):
130
+ datasource_name_or_id: str
131
+ memoryset_override_name_or_id: NotRequired[str | None]
132
+ datasource_label_column: str
133
+ datasource_value_column: str
134
+ record_telemetry: NotRequired[bool]
135
+ telemetry_tags: NotRequired[list[str] | None]
136
+
137
+
138
+ class CleanupResponse(TypedDict):
139
+ deleted_milvus_collections: list[str]
140
+ deleted_milvus_collections_count: int
141
+ deleted_blob_paths: list[str]
142
+ deleted_blob_paths_count: int
143
+
144
+
145
+ class ClusterMetrics(TypedDict):
146
+ cluster: int
147
+ memory_count: int
148
+
149
+
150
+ ColumnType = Literal["STRING", "FLOAT", "INT", "BOOL", "ENUM", "IMAGE", "OTHER"]
151
+
152
+
153
+ class ConstraintViolationErrorResponse(TypedDict):
154
+ status_code: NotRequired[int]
155
+ constraint: str
156
+
157
+
158
+ class CountPredictionsRequest(TypedDict):
159
+ model_id: NotRequired[str | None]
160
+ tag: NotRequired[str | None]
161
+ prediction_ids: NotRequired[list[str] | None]
162
+ start_timestamp: NotRequired[str | None]
163
+ end_timestamp: NotRequired[str | None]
164
+
165
+
166
+ class CreateApiKeyRequest(TypedDict):
167
+ id: NotRequired[str]
168
+ name: NotRequired[str]
169
+ created_by: NotRequired[str | None]
170
+ scope: list[Literal["ADMINISTER", "PREDICT"]]
171
+
172
+
173
+ class CreateApiKeyResponse(TypedDict):
174
+ id: str
175
+ org_id: str
176
+ name: str
177
+ created_by: str | None
178
+ created_at: str
179
+ updated_at: str
180
+ scope: list[Literal["ADMINISTER", "PREDICT"]]
181
+ api_key: str
182
+
183
+
184
+ class CreateDatasourceFromContentRequest(TypedDict):
185
+ name: str
186
+ description: NotRequired[str | None]
187
+ content: Any
188
+
189
+
190
+ class CreateOrgPlanRequest(TypedDict):
191
+ tier: Literal["FREE", "PRO", "ENTERPRISE", "CANCELLED"]
192
+
193
+
194
+ class DeleteMemoriesRequest(TypedDict):
195
+ memory_ids: list[str]
196
+
197
+
198
+ class DeleteMemorysetsRequest(TypedDict):
199
+ memoryset_ids: list[str]
200
+
201
+
202
+ class EmbedRequest(TypedDict):
203
+ values: list[str] | list[bytes] | list[str | bytes]
204
+ max_seq_length: NotRequired[int | None]
205
+ prompt: NotRequired[str | None]
206
+
207
+
208
+ class EmbeddingEvaluationRequest(TypedDict):
209
+ datasource_name_or_id: str
210
+ eval_datasource_name_or_id: NotRequired[str | None]
211
+ subsample: NotRequired[int | None]
212
+ datasource_value_column: NotRequired[str]
213
+ datasource_label_column: NotRequired[str | None]
214
+ datasource_score_column: NotRequired[str | None]
215
+ neighbor_count: NotRequired[int]
216
+ batch_size: NotRequired[int]
217
+ weigh_memories: NotRequired[bool]
218
+
219
+
220
+ EmbeddingFinetuningMethod = Literal["classification", "batch_triplet_loss"]
221
+
222
+
223
+ class FeedbackMetrics(TypedDict):
224
+ avg: float | None
225
+ count: int
226
+
227
+
228
+ FeedbackType = Literal["CONTINUOUS", "BINARY"]
229
+
230
+
231
+ class FilterItem(TypedDict):
232
+ field: list
233
+ op: Literal["==", "!=", ">", ">=", "<", "<=", "in", "not in", "like"]
234
+ value: str | int | float | bool | list[str] | list[int] | list[float] | list[bool] | None
235
+
236
+
237
+ class GetMemoriesRequest(TypedDict):
238
+ memory_ids: list[str]
239
+
240
+
241
+ class HealthyResponse(TypedDict):
242
+ ok: bool
243
+ checks: dict[str, bool]
244
+ durations: dict[str, int]
245
+ draining: bool
246
+ config: dict[str, str | float | int | bool | None]
247
+
248
+
249
+ class InternalServerErrorResponse(TypedDict):
250
+ status_code: NotRequired[int]
251
+ message: str
252
+ request_id: str
253
+
254
+
255
+ class LabelClassMetrics(TypedDict):
256
+ label: int | None
257
+ label_name: NotRequired[str | None]
258
+ average_lookup_score: float
259
+ memory_count: int
260
+
261
+
262
+ class LabelPercentage(TypedDict):
263
+ label: int | None
264
+ percentage: float
265
+
266
+
267
+ class LabeledExample(TypedDict):
268
+ text: str
269
+ label_name: str
270
+
271
+
272
+ class LabeledMemoryInsert(TypedDict):
273
+ memory_id: NotRequired[str | None]
274
+ value: str | bytes
275
+ metadata: NotRequired[dict[str, str | int | float | bool | None]]
276
+ source_id: NotRequired[str | None]
277
+ label: int | None
278
+
279
+
280
+ class ListMemoriesRequest(TypedDict):
281
+ offset: NotRequired[int]
282
+ limit: NotRequired[int]
283
+ filters: NotRequired[list[FilterItem]]
284
+
285
+
286
+ class LookupRequest(TypedDict):
287
+ query: list[str]
288
+ count: NotRequired[int]
289
+ prompt: NotRequired[str | None]
290
+
291
+
292
+ class LookupScoreMetrics(TypedDict):
293
+ median: float
294
+ std: float
295
+ quantiles: list[float]
296
+ quantile_values: list[float]
297
+
298
+
299
+ class MemoryMetrics(TypedDict):
300
+ is_duplicate: NotRequired[bool]
301
+ duplicate_memory_ids: NotRequired[list[str]]
302
+ has_potential_duplicates: NotRequired[bool]
303
+ potential_duplicate_memory_ids: NotRequired[list[str] | None]
304
+ cluster: NotRequired[int]
305
+ embedding_2d: NotRequired[list]
306
+ anomaly_score: NotRequired[float]
307
+ neighbor_label_logits: NotRequired[list[float]]
308
+ neighbor_predicted_label: NotRequired[int | None]
309
+ neighbor_predicted_label_ambiguity: NotRequired[float]
310
+ neighbor_predicted_label_confidence: NotRequired[float]
311
+ current_label_neighbor_confidence: NotRequired[float]
312
+ normalized_neighbor_label_entropy: NotRequired[float]
313
+ neighbor_predicted_label_matches_current_label: NotRequired[bool | None]
314
+ spread: NotRequired[float]
315
+ uniformity: NotRequired[float]
316
+ concept_id: NotRequired[int | None]
317
+ subconcept_id: NotRequired[int | None]
318
+
319
+
320
+ MemoryType = Literal["LABELED", "SCORED"]
321
+
322
+
323
+ class MemorysetClassPatternsAnalysisConfig(TypedDict):
324
+ representatives_per_class: NotRequired[int]
325
+ enable_patterns_description: NotRequired[bool]
326
+
327
+
328
+ class MemorysetClassPatternsMetrics(TypedDict):
329
+ class_representatives: list[ClassRepresentatives]
330
+ patterns_description: NotRequired[ClassPatternsDescription | None]
331
+ mean_spread: float
332
+ variance_spread: float
333
+ mean_uniformity: float
334
+ variance_uniformity: float
335
+ updated_at: str
336
+
337
+
338
+ class MemorysetClusterAnalysisConfig(TypedDict):
339
+ min_cluster_size: NotRequired[int | None]
340
+ max_cluster_size: NotRequired[int | None]
341
+ clustering_method: NotRequired[Literal["density", "graph"]]
342
+ min_cluster_distance: NotRequired[float]
343
+ partitioning_method: NotRequired[Literal["ng", "rb", "cpm"]]
344
+ resolution: NotRequired[float | None]
345
+ num_iterations: NotRequired[int]
346
+ random_state: NotRequired[int | None]
347
+
348
+
349
+ class MemorysetClusterMetrics(TypedDict):
350
+ cluster_metrics: list[ClusterMetrics]
351
+ num_outliers: int
352
+ num_clusters: int
353
+ updated_at: str
354
+
355
+
356
+ class MemorysetConceptAnalysisConfig(TypedDict):
357
+ high_level_description: NotRequired[str | None]
358
+ max_sample_rows: NotRequired[int]
359
+ min_lookup_count: NotRequired[int]
360
+ max_lookup_count: NotRequired[int]
361
+ overlap_decay_tau: NotRequired[float]
362
+ target_lcc_fraction: NotRequired[float]
363
+ min_cluster_count: NotRequired[int]
364
+ max_cluster_count: NotRequired[int]
365
+ max_trial_count: NotRequired[int]
366
+ resolution: NotRequired[float]
367
+ iterations: NotRequired[int]
368
+ use_generative_naming: NotRequired[bool]
369
+ naming_examples_count: NotRequired[int]
370
+ naming_counterexample_count: NotRequired[int]
371
+ seed: NotRequired[int]
372
+
373
+
374
+ class MemorysetDistributionAnalysisConfig(TypedDict):
375
+ neighbor_counts: NotRequired[list[int]]
376
+ quantiles: NotRequired[list[float]]
377
+
378
+
379
+ class MemorysetDistributionMetrics(TypedDict):
380
+ lookup_score_metrics: dict[str, LookupScoreMetrics]
381
+ updated_at: str
382
+
383
+
384
+ class MemorysetDuplicateAnalysisConfig(TypedDict):
385
+ potential_duplicate_threshold: NotRequired[float]
386
+
387
+
388
+ class MemorysetDuplicateMetrics(TypedDict):
389
+ num_duplicates: int
390
+ num_potential_duplicates: int
391
+ updated_at: str
392
+
393
+
394
+ class MemorysetLabelAnalysisConfig(TypedDict):
395
+ normalize_logits: NotRequired[bool]
396
+
397
+
398
+ class MemorysetLabelMetrics(TypedDict):
399
+ label_metrics: list[LabelClassMetrics]
400
+ neighbor_prediction_accuracy: float
401
+ mean_neighbor_label_confidence: float
402
+ mean_neighbor_label_entropy: float
403
+ mean_neighbor_predicted_label_ambiguity: float
404
+ num_no_labeled_neighbors: int
405
+ num_potential_mislabels: int
406
+ updated_at: str
407
+
408
+
409
+ class MemorysetProjectionAnalysisConfig(TypedDict):
410
+ min_dist: NotRequired[float]
411
+ spread: NotRequired[float]
412
+
413
+
414
+ class MemorysetProjectionMetrics(TypedDict):
415
+ updated_at: str
416
+
417
+
418
+ class MemorysetUpdate(TypedDict):
419
+ label_names: NotRequired[list[str]]
420
+ description: NotRequired[str | None]
421
+ name: NotRequired[str]
422
+ notes: NotRequired[str | None]
423
+ hidden: NotRequired[bool]
424
+
425
+
426
+ class NotFoundErrorResponse(TypedDict):
427
+ status_code: NotRequired[int]
428
+ resource: (
429
+ Literal[
430
+ "org",
431
+ "api_key",
432
+ "datasource",
433
+ "memoryset",
434
+ "classification_model",
435
+ "regression_model",
436
+ "prediction",
437
+ "memory",
438
+ "evaluation",
439
+ "analysis",
440
+ "task",
441
+ "pretrained_embedding_model",
442
+ "finetuned_embedding_model",
443
+ "feedback_category",
444
+ "org_plan",
445
+ "worker",
446
+ ]
447
+ | None
448
+ )
449
+
450
+
451
+ class OrgPlan(TypedDict):
452
+ org_id: str
453
+ created_at: str
454
+ updated_at: str
455
+ tier: Literal["FREE", "PRO", "ENTERPRISE", "CANCELLED"]
456
+
457
+
458
+ class PRCurve(TypedDict):
459
+ thresholds: list[float]
460
+ precisions: list[float]
461
+ recalls: list[float]
462
+
463
+
464
+ class PredictionFeedback(TypedDict):
465
+ prediction_id: str
466
+ category_name: str
467
+ value: float | bool
468
+ comment: str | None
469
+ id: str
470
+ org_id: str
471
+ category_id: str
472
+ category_type: FeedbackType
473
+ created_at: str
474
+ updated_at: str
475
+
476
+
477
+ class PredictionFeedbackCategory(TypedDict):
478
+ id: str
479
+ org_id: str
480
+ name: str
481
+ type: FeedbackType
482
+ created_at: str
483
+ updated_at: str
484
+
485
+
486
+ class PredictionFeedbackRequest(TypedDict):
487
+ prediction_id: str
488
+ category_name: str
489
+ value: NotRequired[float | bool | None]
490
+ """
491
+ The feedback value. For updates, UNSET means keep existing value. None means delete the feedback.
492
+ """
493
+ comment: NotRequired[str | None]
494
+ """
495
+ Optional comment. For updates, UNSET means keep existing comment. None means remove the comment.
496
+ """
497
+
498
+
499
+ class PredictionFeedbackResult(TypedDict):
500
+ prediction_ids: list[str]
501
+ deleted_feedback_ids: list[str]
502
+ updated_feedback_ids: list[str]
503
+ inserted_feedback_ids: list[str]
504
+ new_category_ids: list[str]
505
+
506
+
507
+ PredictionSort = list[list]
508
+
509
+
510
+ class PredictiveModelUpdate(TypedDict):
511
+ description: NotRequired[str | None]
512
+ notes: NotRequired[str | None]
513
+ locked: NotRequired[bool]
514
+
515
+
516
+ PretrainedEmbeddingModelName = Literal[
517
+ "CLIP_BASE",
518
+ "GTE_BASE",
519
+ "CDE_SMALL",
520
+ "DISTILBERT",
521
+ "GTE_SMALL",
522
+ "MXBAI_LARGE",
523
+ "E5_LARGE",
524
+ "QWEN2_1_5B",
525
+ "BGE_BASE",
526
+ "GIST_LARGE",
527
+ ]
528
+
529
+
530
+ RACHeadType = Literal["KNN", "MMOE", "FF", "BMMOE"]
531
+
532
+
533
+ RARHeadType = Literal["MMOE", "KNN"]
534
+
535
+
536
+ class ROCCurve(TypedDict):
537
+ thresholds: list[float]
538
+ false_positive_rates: list[float]
539
+ true_positive_rates: list[float]
540
+
541
+
542
+ class ReadyResponse(TypedDict):
543
+ ok: bool
544
+ draining: bool
545
+
546
+
547
+ class RegressionEvaluationRequest(TypedDict):
548
+ datasource_name_or_id: str
549
+ memoryset_override_name_or_id: NotRequired[str | None]
550
+ datasource_score_column: str
551
+ datasource_value_column: str
552
+ record_telemetry: NotRequired[bool]
553
+ telemetry_tags: NotRequired[list[str] | None]
554
+
555
+
556
+ class RegressionMetrics(TypedDict):
557
+ coverage: float
558
+ mse: float
559
+ rmse: float
560
+ mae: float
561
+ r2: float
562
+ explained_variance: float
563
+ loss: float
564
+ anomaly_score_mean: NotRequired[float | None]
565
+ anomaly_score_median: NotRequired[float | None]
566
+ anomaly_score_variance: NotRequired[float | None]
567
+
568
+
569
+ class RegressionModelMetadata(TypedDict):
570
+ id: str
571
+ org_id: str
572
+ name: str
573
+ description: str | None
574
+ notes: str | None
575
+ version: int
576
+ memoryset_id: str
577
+ memory_lookup_count: int
578
+ storage_path: str
579
+ memoryset_collection_name: str
580
+ created_at: str
581
+ updated_at: str
582
+ locked: bool
583
+ head_type: RARHeadType
584
+
585
+
586
+ class RegressionPredictionRequest(TypedDict):
587
+ input_values: list[str] | list[bytes] | list[str | bytes]
588
+ expected_scores: NotRequired[list[float] | None]
589
+ tags: NotRequired[list[str]]
590
+ memoryset_override_name_or_id: NotRequired[str | None]
591
+ save_telemetry: NotRequired[bool]
592
+ save_telemetry_synchronously: NotRequired[bool]
593
+ prompt: NotRequired[str | None]
594
+ use_lookup_cache: NotRequired[bool]
595
+ consistency_level: NotRequired[Literal["Bounded", "Session", "Strong", "Eventual"] | None]
596
+
597
+
598
+ class ScorePredictionMemoryLookup(TypedDict):
599
+ value: str | bytes
600
+ embedding: list[float]
601
+ source_id: str | None
602
+ metadata: dict[str, str | int | float | bool | None]
603
+ memory_id: str
604
+ memory_version: int
605
+ created_at: str
606
+ updated_at: str
607
+ edited_at: str
608
+ metrics: MemoryMetrics
609
+ lookup_score: float
610
+ score: float | None
611
+ prediction_id: str
612
+ attention_weight: float
613
+
614
+
615
+ class ScorePredictionWithMemoriesAndFeedback(TypedDict):
616
+ prediction_id: str
617
+ confidence: float
618
+ anomaly_score: float | None
619
+ score: float | None
620
+ timestamp: str
621
+ input_value: str | bytes
622
+ input_embedding: list[float]
623
+ expected_score: float | None
624
+ memories: list[ScorePredictionMemoryLookup]
625
+ org_id: str
626
+ memoryset_id: str
627
+ model_id: str
628
+ updated_at: str
629
+ tags: list[str]
630
+ explanation: str | None
631
+ memory_id: str | None
632
+ feedbacks: list[PredictionFeedback]
633
+
634
+
635
+ class ScoredMemory(TypedDict):
636
+ value: str | bytes
637
+ embedding: list[float]
638
+ source_id: str | None
639
+ metadata: dict[str, str | int | float | bool | None]
640
+ memory_id: str
641
+ memory_version: int
642
+ created_at: str
643
+ updated_at: str
644
+ edited_at: str
645
+ metrics: MemoryMetrics
646
+ score: float | None
647
+
648
+
649
+ class ScoredMemoryInsert(TypedDict):
650
+ memory_id: NotRequired[str | None]
651
+ value: str | bytes
652
+ metadata: NotRequired[dict[str, str | int | float | bool | None]]
653
+ source_id: NotRequired[str | None]
654
+ score: float | None
655
+
656
+
657
+ class ScoredMemoryLookup(TypedDict):
658
+ value: str | bytes
659
+ embedding: list[float]
660
+ source_id: str | None
661
+ metadata: dict[str, str | int | float | bool | None]
662
+ memory_id: str
663
+ memory_version: int
664
+ created_at: str
665
+ updated_at: str
666
+ edited_at: str
667
+ metrics: MemoryMetrics
668
+ lookup_score: float
669
+ score: float | None
670
+
671
+
672
+ class ScoredMemoryUpdate(TypedDict):
673
+ memory_id: str
674
+ value: NotRequired[str | bytes]
675
+ metadata: NotRequired[dict[str, str | int | float | bool | None] | None]
676
+ source_id: NotRequired[str | None]
677
+ metrics: NotRequired[MemoryMetrics | None]
678
+ score: NotRequired[float | None]
679
+
680
+
681
+ class ScoredMemoryWithFeedbackMetrics(TypedDict):
682
+ value: str | bytes
683
+ embedding: list[float]
684
+ source_id: str | None
685
+ metadata: dict[str, str | int | float | bool | None]
686
+ memory_id: str
687
+ memory_version: int
688
+ created_at: str
689
+ updated_at: str
690
+ edited_at: str
691
+ metrics: MemoryMetrics
692
+ score: float | None
693
+ feedback_metrics: dict[str, FeedbackMetrics]
694
+ lookup_count: int
695
+
696
+
697
+ class ServiceUnavailableErrorResponse(TypedDict):
698
+ status_code: NotRequired[int]
699
+ service: str
700
+
701
+
702
+ class SubConceptMetrics(TypedDict):
703
+ id: int
704
+ name: str
705
+ description: str | None
706
+ primary_label: int | None
707
+ memory_count: int
708
+
709
+
710
+ TaskStatus = Literal["INITIALIZED", "DISPATCHED", "WAITING", "PROCESSING", "COMPLETED", "FAILED", "ABORTING", "ABORTED"]
711
+
712
+
713
+ class TaskStatusInfo(TypedDict):
714
+ status: TaskStatus
715
+ steps_total: int | None
716
+ steps_completed: int | None
717
+ exception: str | None
718
+ updated_at: str
719
+ created_at: str
720
+
721
+
722
+ TelemetryField = list
723
+
724
+
725
+ class TelemetryFilterItem(TypedDict):
726
+ field: TelemetryField
727
+ op: Literal["==", "!=", ">", ">=", "<", "<=", "in", "not in"]
728
+ value: float | list[float] | int | list[int]
729
+
730
+
731
+ class TelemetrySortOptions(TypedDict):
732
+ field: TelemetryField
733
+ direction: Literal["asc", "desc"]
734
+
735
+
736
+ class UnauthenticatedErrorResponse(TypedDict):
737
+ status_code: NotRequired[int]
738
+
739
+
740
+ class UnauthorizedErrorResponse(TypedDict):
741
+ status_code: NotRequired[int]
742
+ reason: str
743
+
744
+
745
+ class UpdateOrgPlanRequest(TypedDict):
746
+ tier: Literal["FREE", "PRO", "ENTERPRISE", "CANCELLED"]
747
+
748
+
749
+ class UpdatePredictionRequest(TypedDict):
750
+ expected_label: NotRequired[int | None]
751
+ expected_score: NotRequired[float | None]
752
+ tags: NotRequired[list[str]]
753
+ memory_id: NotRequired[str | None]
754
+
755
+
756
+ class ValidationError(TypedDict):
757
+ loc: list[str | int]
758
+ msg: str
759
+ type: str
760
+
761
+
762
+ WorkerStatus = Literal["IDLE", "BUSY", "DRAINING", "SHUTDOWN", "CRASHED"]
763
+
764
+
765
+ class GetTestErrorByStatusCodeParams(TypedDict):
766
+ status_code: int | Literal["error", "warning"]
767
+
768
+
769
+ class DeleteAuthApiKeyByNameOrIdParams(TypedDict):
770
+ name_or_id: str
771
+
772
+
773
+ class GetMemorysetParams(TypedDict):
774
+ type: NotRequired[MemoryType | None]
775
+ show_hidden: NotRequired[bool | None]
776
+
777
+
778
+ class PostMemorysetByNameOrIdCloneParams(TypedDict):
779
+ name_or_id: str
780
+
781
+
782
+ class PatchMemorysetByNameOrIdParams(TypedDict):
783
+ name_or_id: str
784
+
785
+
786
+ class GetMemorysetByNameOrIdParams(TypedDict):
787
+ name_or_id: str
788
+
789
+
790
+ class DeleteMemorysetByNameOrIdParams(TypedDict):
791
+ name_or_id: str
792
+
793
+
794
+ class GetMemorysetByNameOrIdMemoryByMemoryIdParams(TypedDict):
795
+ name_or_id: str
796
+ memory_id: str
797
+ """
798
+ ID of the memory
799
+ """
800
+
801
+
802
+ class DeleteMemorysetByNameOrIdMemoryByMemoryIdParams(TypedDict):
803
+ name_or_id: str
804
+ memory_id: str
805
+ """
806
+ ID of the memory
807
+ """
808
+
809
+
810
+ class GetMemorysetByNameOrIdPotentialDuplicateGroupsParams(TypedDict):
811
+ name_or_id: str
812
+
813
+
814
+ class PostMemorysetByNameOrIdMemoriesGetParams(TypedDict):
815
+ name_or_id: str
816
+
817
+
818
+ class PostMemorysetByNameOrIdMemoriesParams(TypedDict):
819
+ name_or_id: str
820
+
821
+
822
+ class PostMemorysetByNameOrIdMemoriesDeleteParams(TypedDict):
823
+ name_or_id: str
824
+
825
+
826
+ class PostMemorysetByNameOrIdAnalysisParams(TypedDict):
827
+ name_or_id: str
828
+
829
+
830
+ class GetMemorysetByNameOrIdAnalysisParams(TypedDict):
831
+ name_or_id: str
832
+ status: NotRequired[TaskStatus | None]
833
+ limit: NotRequired[int | None]
834
+ offset: NotRequired[int | None]
835
+
836
+
837
+ class GetMemorysetByNameOrIdAnalysisByAnalysisTaskIdParams(TypedDict):
838
+ name_or_id: str
839
+ analysis_task_id: str
840
+
841
+
842
+ class PostMemorysetByNameOrIdMemoryByMemoryIdCascadingEditsParams(TypedDict):
843
+ name_or_id: str
844
+ memory_id: str
845
+
846
+
847
+ class GetFinetunedEmbeddingModelByNameOrIdParams(TypedDict):
848
+ name_or_id: str
849
+
850
+
851
+ class DeleteFinetunedEmbeddingModelByNameOrIdParams(TypedDict):
852
+ name_or_id: str
853
+
854
+
855
+ class PostFinetunedEmbeddingModelByNameOrIdEvaluationParams(TypedDict):
856
+ name_or_id: str
857
+
858
+
859
+ class GetFinetunedEmbeddingModelByNameOrIdEvaluationByTaskIdParams(TypedDict):
860
+ name_or_id: str
861
+ task_id: str
862
+
863
+
864
+ class GetFinetunedEmbeddingModelByNameOrIdEvaluationsParams(TypedDict):
865
+ name_or_id: str
866
+ datasource: NotRequired[str | None]
867
+ value_column: NotRequired[str | None]
868
+ label_column: NotRequired[str | None]
869
+ score_column: NotRequired[str | None]
870
+
871
+
872
+ class GetPretrainedEmbeddingModelByModelNameParams(TypedDict):
873
+ model_name: PretrainedEmbeddingModelName
874
+
875
+
876
+ class PostPretrainedEmbeddingModelByModelNameEvaluationParams(TypedDict):
877
+ model_name: PretrainedEmbeddingModelName
878
+
879
+
880
+ class GetPretrainedEmbeddingModelByModelNameEvaluationByTaskIdParams(TypedDict):
881
+ model_name: PretrainedEmbeddingModelName
882
+ task_id: str
883
+
884
+
885
+ class GetPretrainedEmbeddingModelByModelNameEvaluationsParams(TypedDict):
886
+ model_name: PretrainedEmbeddingModelName
887
+ datasource: NotRequired[str | None]
888
+ value_column: NotRequired[str | None]
889
+ label_column: NotRequired[str | None]
890
+ score_column: NotRequired[str | None]
891
+
892
+
893
+ class PostDatasourceUploadRequest(TypedDict):
894
+ name: str
895
+ """
896
+ Name for the datasource
897
+ """
898
+ description: NotRequired[str | None]
899
+ """
900
+ Optional description for the datasource
901
+ """
902
+
903
+
904
+ class GetDatasourceByNameOrIdParams(TypedDict):
905
+ name_or_id: str
906
+
907
+
908
+ class DeleteDatasourceByNameOrIdParams(TypedDict):
909
+ name_or_id: str
910
+
911
+
912
+ class GetDatasourceByNameOrIdEmbeddingModelEvaluationsParams(TypedDict):
913
+ name_or_id: str
914
+ value_column: NotRequired[str | None]
915
+ label_column: NotRequired[str | None]
916
+ score_column: NotRequired[str | None]
917
+
918
+
919
+ class GetDatasourceByNameOrIdDownloadParams(TypedDict):
920
+ name_or_id: str
921
+ file_type: NotRequired[Literal["hf_dataset", "json", "csv"]]
922
+ """
923
+ File type to download:
924
+ * `hf_dataset`: Zipped HuggingFace dataset (default)
925
+ * `json`: Row-oriented JSON array
926
+ * `csv`: CSV file
927
+ """
928
+
929
+
930
+ class PatchClassificationModelByNameOrIdParams(TypedDict):
931
+ name_or_id: str
932
+
933
+
934
+ class GetClassificationModelByNameOrIdParams(TypedDict):
935
+ name_or_id: str
936
+
937
+
938
+ class DeleteClassificationModelByNameOrIdParams(TypedDict):
939
+ name_or_id: str
940
+
941
+
942
+ class PostClassificationModelByModelNameOrIdEvaluationParams(TypedDict):
943
+ model_name_or_id: str
944
+
945
+
946
+ class GetClassificationModelByModelNameOrIdEvaluationParams(TypedDict):
947
+ model_name_or_id: str
948
+
949
+
950
+ class GetClassificationModelByModelNameOrIdEvaluationByTaskIdParams(TypedDict):
951
+ model_name_or_id: str
952
+ task_id: str
953
+
954
+
955
+ class DeleteClassificationModelByModelNameOrIdEvaluationByTaskIdParams(TypedDict):
956
+ model_name_or_id: str
957
+ task_id: str
958
+
959
+
960
+ class PatchRegressionModelByNameOrIdParams(TypedDict):
961
+ name_or_id: str
962
+
963
+
964
+ class GetRegressionModelByNameOrIdParams(TypedDict):
965
+ name_or_id: str
966
+
967
+
968
+ class DeleteRegressionModelByNameOrIdParams(TypedDict):
969
+ name_or_id: str
970
+
971
+
972
+ class PostRegressionModelByModelNameOrIdEvaluationParams(TypedDict):
973
+ model_name_or_id: str
974
+
975
+
976
+ class GetRegressionModelByModelNameOrIdEvaluationParams(TypedDict):
977
+ model_name_or_id: str
978
+
979
+
980
+ class GetRegressionModelByModelNameOrIdEvaluationByTaskIdParams(TypedDict):
981
+ model_name_or_id: str
982
+ task_id: str
983
+
984
+
985
+ class DeleteRegressionModelByModelNameOrIdEvaluationByTaskIdParams(TypedDict):
986
+ model_name_or_id: str
987
+ task_id: str
988
+
989
+
990
+ class GetTaskByTaskIdParams(TypedDict):
991
+ task_id: str
992
+
993
+
994
+ class GetTaskByTaskIdStatusParams(TypedDict):
995
+ task_id: str
996
+
997
+
998
+ class GetTaskParams(TypedDict):
999
+ status: NotRequired[TaskStatus | list[TaskStatus] | None]
1000
+ type: NotRequired[str | list[str] | None]
1001
+ limit: NotRequired[int | None]
1002
+ offset: NotRequired[int]
1003
+ start_timestamp: NotRequired[str | None]
1004
+ end_timestamp: NotRequired[str | None]
1005
+
1006
+
1007
+ class DeleteTaskByTaskIdAbortParams(TypedDict):
1008
+ task_id: str
1009
+
1010
+
1011
+ class GetWorkerParams(TypedDict):
1012
+ status: NotRequired[WorkerStatus | list[WorkerStatus] | None]
1013
+ limit: NotRequired[int | None]
1014
+ offset: NotRequired[int]
1015
+
1016
+
1017
+ class GetWorkerByWorkerIdParams(TypedDict):
1018
+ worker_id: str
1019
+
1020
+
1021
+ class GetTelemetryPredictionByPredictionIdParams(TypedDict):
1022
+ prediction_id: str
1023
+
1024
+
1025
+ class PatchTelemetryPredictionByPredictionIdParams(TypedDict):
1026
+ prediction_id: str
1027
+
1028
+
1029
+ class GetTelemetryPredictionByPredictionIdExplanationParams(TypedDict):
1030
+ prediction_id: str
1031
+ refresh: NotRequired[bool]
1032
+
1033
+
1034
+ class GetTelemetryPredictionByPredictionIdActionParams(TypedDict):
1035
+ prediction_id: str
1036
+
1037
+
1038
+ class GetTelemetryPredictionByPredictionIdMemorySuggestionsParams(TypedDict):
1039
+ prediction_id: str
1040
+ """
1041
+ ID of the prediction to generate suggestions for
1042
+ """
1043
+ num_memories: NotRequired[int]
1044
+ """
1045
+ Number of memory suggestions to generate
1046
+ """
1047
+ refresh: NotRequired[bool]
1048
+ """
1049
+ Force the explanation agent to re-run even if a cached explanation exists
1050
+ """
1051
+
1052
+
1053
+ class GetTelemetryFeedbackCategoryByNameOrIdParams(TypedDict):
1054
+ name_or_id: str
1055
+
1056
+
1057
+ class DeleteTelemetryFeedbackCategoryByNameOrIdParams(TypedDict):
1058
+ name_or_id: str
1059
+
1060
+
1061
+ PutTelemetryPredictionFeedbackRequest = list[PredictionFeedbackRequest]
1062
+
1063
+
1064
+ class GetAgentsBootstrapClassificationModelByTaskIdParams(TypedDict):
1065
+ task_id: str
1066
+
1067
+
1068
+ class PostGpuMemorysetByNameOrIdLookupParams(TypedDict):
1069
+ name_or_id: str
1070
+
1071
+
1072
+ class PatchGpuMemorysetByNameOrIdMemoryParams(TypedDict):
1073
+ name_or_id: str
1074
+
1075
+
1076
+ class PostGpuMemorysetByNameOrIdMemoryParams(TypedDict):
1077
+ name_or_id: str
1078
+
1079
+
1080
+ PostGpuMemorysetByNameOrIdMemoryRequest = list[LabeledMemoryInsert] | list[ScoredMemoryInsert]
1081
+
1082
+
1083
+ class PatchGpuMemorysetByNameOrIdMemoriesParams(TypedDict):
1084
+ name_or_id: str
1085
+
1086
+
1087
+ class PostGpuClassificationModelByNameOrIdPredictionParams(TypedDict):
1088
+ name_or_id: str
1089
+
1090
+
1091
+ class PostGpuRegressionModelByNameOrIdPredictionParams(TypedDict):
1092
+ name_or_id: str
1093
+
1094
+
1095
+ class PostGpuFinetunedEmbeddingModelByNameOrIdEmbeddingParams(TypedDict):
1096
+ name_or_id: str
1097
+
1098
+
1099
+ class PostGpuPretrainedEmbeddingModelByModelNameEmbeddingParams(TypedDict):
1100
+ model_name: PretrainedEmbeddingModelName
1101
+
1102
+
1103
+ class FieldValidationError(TypedDict):
1104
+ loc: list[str | int]
1105
+ msg: str
1106
+ type: NotRequired[str]
1107
+
1108
+
1109
+ class AddMemoryRecommendations(TypedDict):
1110
+ memories: list[AddMemorySuggestion]
1111
+
1112
+
1113
+ class BootstrapClassificationModelRequest(TypedDict):
1114
+ model_description: str
1115
+ label_names: list[str]
1116
+ initial_examples: NotRequired[list[LabeledExample]]
1117
+ num_examples_per_label: NotRequired[int]
1118
+
1119
+
1120
+ class BootstrapClassificationModelResult(TypedDict):
1121
+ model_description: str
1122
+ label_names: list[str]
1123
+ model_name: str
1124
+ generated_examples: NotRequired[list[LabeledExample]]
1125
+
1126
+
1127
+ class ClassificationMetrics(TypedDict):
1128
+ coverage: float
1129
+ f1_score: float
1130
+ accuracy: float
1131
+ loss: float | None
1132
+ anomaly_score_mean: NotRequired[float | None]
1133
+ anomaly_score_median: NotRequired[float | None]
1134
+ anomaly_score_variance: NotRequired[float | None]
1135
+ roc_auc: NotRequired[float | None]
1136
+ pr_auc: NotRequired[float | None]
1137
+ pr_curve: NotRequired[PRCurve | None]
1138
+ roc_curve: NotRequired[ROCCurve | None]
1139
+
1140
+
1141
+ class ClassificationModelMetadata(TypedDict):
1142
+ id: str
1143
+ org_id: str
1144
+ name: str
1145
+ description: str | None
1146
+ notes: str | None
1147
+ version: int
1148
+ memoryset_id: str
1149
+ memory_lookup_count: int
1150
+ storage_path: str
1151
+ memoryset_collection_name: str
1152
+ created_at: str
1153
+ updated_at: str
1154
+ locked: bool
1155
+ num_classes: int
1156
+ head_type: RACHeadType
1157
+ weigh_memories: bool | None
1158
+ min_memory_weight: float | None
1159
+
1160
+
1161
+ class ClassificationPredictionRequest(TypedDict):
1162
+ input_values: list[str] | list[bytes] | list[str | bytes]
1163
+ expected_labels: NotRequired[list[int] | None]
1164
+ filters: NotRequired[list[FilterItem]]
1165
+ tags: NotRequired[list[str]]
1166
+ memoryset_override_name_or_id: NotRequired[str | None]
1167
+ save_telemetry: NotRequired[bool]
1168
+ save_telemetry_synchronously: NotRequired[bool]
1169
+ prompt: NotRequired[str | None]
1170
+ use_lookup_cache: NotRequired[bool]
1171
+ consistency_level: NotRequired[Literal["Bounded", "Session", "Strong", "Eventual"] | None]
1172
+
1173
+
1174
+ class CloneMemorysetRequest(TypedDict):
1175
+ name: str
1176
+ description: NotRequired[str | None]
1177
+ notes: NotRequired[str | None]
1178
+ pretrained_embedding_model_name: NotRequired[PretrainedEmbeddingModelName | None]
1179
+ finetuned_embedding_model_name_or_id: NotRequired[str | None]
1180
+ max_seq_length_override: NotRequired[int | None]
1181
+ prompt: NotRequired[str]
1182
+
1183
+
1184
+ class ColumnInfo(TypedDict):
1185
+ name: str
1186
+ type: ColumnType
1187
+ enum_options: NotRequired[list[str] | None]
1188
+ int_values: NotRequired[list[int] | None]
1189
+ contains_nones: NotRequired[bool]
1190
+
1191
+
1192
+ class ConceptMetrics(TypedDict):
1193
+ id: int
1194
+ name: str
1195
+ description: str | None
1196
+ primary_label: int | None
1197
+ memory_count: int
1198
+ subconcepts: list[SubConceptMetrics]
1199
+ label_percentages: list[LabelPercentage]
1200
+
1201
+
1202
+ class CreateClassificationModelRequest(TypedDict):
1203
+ name: str
1204
+ description: NotRequired[str | None]
1205
+ notes: NotRequired[str | None]
1206
+ memoryset_name: NotRequired[str | None]
1207
+ memoryset_name_or_id: str
1208
+ memory_lookup_count: NotRequired[int | None]
1209
+ head_type: NotRequired[RACHeadType]
1210
+ weigh_memories: NotRequired[bool | None]
1211
+ min_memory_weight: NotRequired[float | None]
1212
+ num_classes: NotRequired[int | None]
1213
+
1214
+
1215
+ class CreateMemorysetRequest(TypedDict):
1216
+ name: str
1217
+ description: NotRequired[str | None]
1218
+ notes: NotRequired[str | None]
1219
+ datasource_name_or_id: str
1220
+ datasource_label_column: NotRequired[str | None]
1221
+ datasource_score_column: NotRequired[str | None]
1222
+ datasource_value_column: str
1223
+ datasource_source_id_column: NotRequired[str | None]
1224
+ remove_duplicates: NotRequired[bool]
1225
+ pretrained_embedding_model_name: NotRequired[PretrainedEmbeddingModelName | None]
1226
+ finetuned_embedding_model_name_or_id: NotRequired[str | None]
1227
+ max_seq_length_override: NotRequired[int | None]
1228
+ label_names: NotRequired[list[str] | None]
1229
+ index_type: NotRequired[Literal["FLAT", "IVF_FLAT", "IVF_SQ8", "IVF_PQ", "HNSW", "DISKANN"]]
1230
+ index_params: NotRequired[dict[str, int | float | str]]
1231
+ prompt: NotRequired[str]
1232
+ hidden: NotRequired[bool]
1233
+ batch_size: NotRequired[int]
1234
+
1235
+
1236
+ class CreateRegressionModelRequest(TypedDict):
1237
+ name: str
1238
+ description: NotRequired[str | None]
1239
+ notes: NotRequired[str | None]
1240
+ memoryset_name_or_id: str
1241
+ memory_lookup_count: NotRequired[int | None]
1242
+ head_type: NotRequired[RARHeadType]
1243
+
1244
+
1245
+ class DatasourceMetadata(TypedDict):
1246
+ id: str
1247
+ org_id: str
1248
+ name: str
1249
+ description: str | None
1250
+ storage_path: str
1251
+ length: int
1252
+ columns: list[ColumnInfo]
1253
+ created_at: str
1254
+ updated_at: str
1255
+
1256
+
1257
+ class EmbeddingEvaluationResponse(TypedDict):
1258
+ task_id: str
1259
+ org_id: str
1260
+ finetuned_embedding_model_id: str | None
1261
+ pretrained_embedding_model_name: PretrainedEmbeddingModelName | None
1262
+ datasource_id: str
1263
+ subsample: int | None
1264
+ datasource_value_column: str
1265
+ datasource_label_column: NotRequired[str | None]
1266
+ datasource_score_column: NotRequired[str | None]
1267
+ neighbor_count: int
1268
+ weigh_memories: bool
1269
+ status: TaskStatus
1270
+ result: ClassificationMetrics | RegressionMetrics | None
1271
+ created_at: str
1272
+ updated_at: str
1273
+
1274
+
1275
+ class EvaluationResponse(TypedDict):
1276
+ task_id: str
1277
+ org_id: str
1278
+ status: TaskStatus
1279
+ result: ClassificationMetrics | RegressionMetrics | None
1280
+ created_at: str
1281
+ updated_at: str
1282
+
1283
+
1284
+ class EvaluationResponseClassificationMetrics(TypedDict):
1285
+ task_id: str
1286
+ org_id: str
1287
+ status: TaskStatus
1288
+ result: ClassificationMetrics | None
1289
+ created_at: str
1290
+ updated_at: str
1291
+
1292
+
1293
+ class EvaluationResponseRegressionMetrics(TypedDict):
1294
+ task_id: str
1295
+ org_id: str
1296
+ status: TaskStatus
1297
+ result: RegressionMetrics | None
1298
+ created_at: str
1299
+ updated_at: str
1300
+
1301
+
1302
+ class FinetuneEmbeddingModelRequest(TypedDict):
1303
+ name: str
1304
+ base_model: PretrainedEmbeddingModelName
1305
+ train_memoryset_name_or_id: NotRequired[str | None]
1306
+ train_datasource_name_or_id: NotRequired[str | None]
1307
+ eval_datasource_name_or_id: NotRequired[str | None]
1308
+ label_column: NotRequired[str]
1309
+ value_column: NotRequired[str]
1310
+ training_method: NotRequired[EmbeddingFinetuningMethod]
1311
+ training_args: NotRequired[dict[str, str | int | float | bool]]
1312
+
1313
+
1314
+ class FinetunedEmbeddingModelMetadata(TypedDict):
1315
+ embedding_dim: int
1316
+ max_seq_length: int
1317
+ uses_context: bool
1318
+ id: str
1319
+ org_id: str
1320
+ name: str
1321
+ storage_path: str
1322
+ created_at: str
1323
+ updated_at: str
1324
+ base_model: PretrainedEmbeddingModelName
1325
+ finetuning_task_id: str
1326
+ finetuning_status: TaskStatus
1327
+
1328
+
1329
+ class HTTPValidationError(TypedDict):
1330
+ detail: NotRequired[list[ValidationError]]
1331
+
1332
+
1333
+ class InvalidInputErrorResponse(TypedDict):
1334
+ status_code: NotRequired[int]
1335
+ validation_issues: list[FieldValidationError]
1336
+
1337
+
1338
+ class LabelPredictionMemoryLookup(TypedDict):
1339
+ value: str | bytes
1340
+ embedding: list[float]
1341
+ source_id: str | None
1342
+ metadata: dict[str, str | int | float | bool | None]
1343
+ memory_id: str
1344
+ memory_version: int
1345
+ created_at: str
1346
+ updated_at: str
1347
+ edited_at: str
1348
+ metrics: MemoryMetrics
1349
+ label: int | None
1350
+ label_name: str | None
1351
+ lookup_score: float
1352
+ prediction_id: str
1353
+ attention_weight: float
1354
+
1355
+
1356
+ class LabelPredictionWithMemoriesAndFeedback(TypedDict):
1357
+ prediction_id: str
1358
+ confidence: float
1359
+ anomaly_score: float | None
1360
+ label: int | None
1361
+ label_name: str | None
1362
+ logits: list[float]
1363
+ timestamp: str
1364
+ input_value: str | bytes
1365
+ input_embedding: list[float]
1366
+ expected_label: int | None
1367
+ expected_label_name: str | None
1368
+ memories: list[LabelPredictionMemoryLookup]
1369
+ org_id: str
1370
+ memoryset_id: str
1371
+ model_id: str
1372
+ updated_at: str
1373
+ tags: list[str]
1374
+ explanation: str | None
1375
+ memory_id: str | None
1376
+ feedbacks: list[PredictionFeedback]
1377
+
1378
+
1379
+ class LabeledMemory(TypedDict):
1380
+ value: str | bytes
1381
+ embedding: list[float]
1382
+ source_id: str | None
1383
+ metadata: dict[str, str | int | float | bool | None]
1384
+ memory_id: str
1385
+ memory_version: int
1386
+ created_at: str
1387
+ updated_at: str
1388
+ edited_at: str
1389
+ metrics: MemoryMetrics
1390
+ label: int | None
1391
+ label_name: str | None
1392
+
1393
+
1394
+ class LabeledMemoryLookup(TypedDict):
1395
+ value: str | bytes
1396
+ embedding: list[float]
1397
+ source_id: str | None
1398
+ metadata: dict[str, str | int | float | bool | None]
1399
+ memory_id: str
1400
+ memory_version: int
1401
+ created_at: str
1402
+ updated_at: str
1403
+ edited_at: str
1404
+ metrics: MemoryMetrics
1405
+ label: int | None
1406
+ label_name: str | None
1407
+ lookup_score: float
1408
+
1409
+
1410
+ class LabeledMemoryUpdate(TypedDict):
1411
+ memory_id: str
1412
+ value: NotRequired[str | bytes]
1413
+ metadata: NotRequired[dict[str, str | int | float | bool | None] | None]
1414
+ source_id: NotRequired[str | None]
1415
+ metrics: NotRequired[MemoryMetrics | None]
1416
+ label: NotRequired[int | None]
1417
+
1418
+
1419
+ class LabeledMemoryWithFeedbackMetrics(TypedDict):
1420
+ value: str | bytes
1421
+ embedding: list[float]
1422
+ source_id: str | None
1423
+ metadata: dict[str, str | int | float | bool | None]
1424
+ memory_id: str
1425
+ memory_version: int
1426
+ created_at: str
1427
+ updated_at: str
1428
+ edited_at: str
1429
+ metrics: MemoryMetrics
1430
+ label: int | None
1431
+ label_name: str | None
1432
+ feedback_metrics: dict[str, FeedbackMetrics]
1433
+ lookup_count: int
1434
+
1435
+
1436
+ class ListPredictionsRequest(TypedDict):
1437
+ model_id: NotRequired[str | None]
1438
+ tag: NotRequired[str | None]
1439
+ prediction_ids: NotRequired[list[str] | None]
1440
+ start_timestamp: NotRequired[str | None]
1441
+ end_timestamp: NotRequired[str | None]
1442
+ limit: NotRequired[int | None]
1443
+ offset: NotRequired[int | None]
1444
+ sort: NotRequired[PredictionSort]
1445
+ expected_label_match: NotRequired[bool | None]
1446
+
1447
+
1448
+ class MemorysetAnalysisConfigs(TypedDict):
1449
+ distribution: NotRequired[MemorysetDistributionAnalysisConfig | None]
1450
+ label: NotRequired[MemorysetLabelAnalysisConfig | None]
1451
+ duplicate: NotRequired[MemorysetDuplicateAnalysisConfig | None]
1452
+ projection: NotRequired[MemorysetProjectionAnalysisConfig | None]
1453
+ cluster: NotRequired[MemorysetClusterAnalysisConfig | None]
1454
+ class_patterns: NotRequired[MemorysetClassPatternsAnalysisConfig | None]
1455
+ concepts: NotRequired[MemorysetConceptAnalysisConfig | None]
1456
+
1457
+
1458
+ class MemorysetAnalysisRequest(TypedDict):
1459
+ lookup_count: NotRequired[int]
1460
+ batch_size: NotRequired[int]
1461
+ clear_metrics: NotRequired[bool]
1462
+ configs: MemorysetAnalysisConfigs
1463
+
1464
+
1465
+ class MemorysetConceptMetrics(TypedDict):
1466
+ concepts: list[ConceptMetrics]
1467
+ num_outliers: int
1468
+ updated_at: str
1469
+
1470
+
1471
+ class MemorysetMetrics(TypedDict):
1472
+ distribution: NotRequired[MemorysetDistributionMetrics | None]
1473
+ label: NotRequired[MemorysetLabelMetrics | None]
1474
+ duplicate: NotRequired[MemorysetDuplicateMetrics | None]
1475
+ projection: NotRequired[MemorysetProjectionMetrics | None]
1476
+ cluster: NotRequired[MemorysetClusterMetrics | None]
1477
+ class_patterns: NotRequired[MemorysetClassPatternsMetrics | None]
1478
+ concepts: NotRequired[MemorysetConceptMetrics | None]
1479
+
1480
+
1481
+ class PaginatedUnionLabeledMemoryWithFeedbackMetricsScoredMemoryWithFeedbackMetrics(TypedDict):
1482
+ items: list[LabeledMemoryWithFeedbackMetrics | ScoredMemoryWithFeedbackMetrics]
1483
+ total: int
1484
+ offset: int
1485
+ limit: int
1486
+
1487
+
1488
+ class PretrainedEmbeddingModelMetadata(TypedDict):
1489
+ embedding_dim: int
1490
+ max_seq_length: int
1491
+ uses_context: bool
1492
+ name: PretrainedEmbeddingModelName
1493
+ experimental: NotRequired[bool]
1494
+ supports_instructions: bool
1495
+ num_params: int
1496
+
1497
+
1498
+ class Task(TypedDict):
1499
+ status: TaskStatus
1500
+ steps_total: int | None
1501
+ steps_completed: int | None
1502
+ exception: str | None
1503
+ updated_at: str
1504
+ created_at: str
1505
+ id: str
1506
+ org_id: str
1507
+ worker_id: str | None
1508
+ type: str
1509
+ payload: BaseModel
1510
+ result: BaseModel | None
1511
+ depends_on: list[str]
1512
+ lease_token: str | None
1513
+
1514
+
1515
+ class TelemetryMemoriesRequest(TypedDict):
1516
+ memoryset_id: str
1517
+ offset: NotRequired[int]
1518
+ limit: NotRequired[int]
1519
+ filters: NotRequired[list[FilterItem | TelemetryFilterItem]]
1520
+ sort: NotRequired[list[TelemetrySortOptions] | None]
1521
+
1522
+
1523
+ class WorkerInfo(TypedDict):
1524
+ id: str
1525
+ status: WorkerStatus
1526
+ started_at: str
1527
+ updated_at: str
1528
+ version: str | None
1529
+ git_sha: str
1530
+ config: dict[str, str | float | int | bool | dict[str, str] | None]
1531
+
1532
+
1533
+ PatchGpuMemorysetByNameOrIdMemoryRequest = LabeledMemoryUpdate | ScoredMemoryUpdate
1534
+
1535
+
1536
+ PatchGpuMemorysetByNameOrIdMemoriesRequest = list[LabeledMemoryUpdate] | list[ScoredMemoryUpdate]
1537
+
1538
+
1539
+ class CascadingEditSuggestion(TypedDict):
1540
+ neighbor: LabeledMemoryLookup
1541
+ suggested_label: int
1542
+ lookup_score: float
1543
+
1544
+
1545
+ class MemorysetAnalysisResponse(TypedDict):
1546
+ task_id: str
1547
+ org_id: str
1548
+ memoryset_id: str
1549
+ status: TaskStatus
1550
+ lookup_count: int
1551
+ batch_size: int
1552
+ clear_metrics: bool
1553
+ configs: MemorysetAnalysisConfigs
1554
+ results: MemorysetMetrics | None
1555
+ created_at: str
1556
+ updated_at: str
1557
+
1558
+
1559
+ class MemorysetMetadata(TypedDict):
1560
+ id: str
1561
+ org_id: str
1562
+ collection_name: str
1563
+ name: str
1564
+ description: str | None
1565
+ notes: str | None
1566
+ length: int
1567
+ pretrained_embedding_model_name: PretrainedEmbeddingModelName | None
1568
+ finetuned_embedding_model_id: str | None
1569
+ created_at: str
1570
+ updated_at: str
1571
+ memories_updated_at: str
1572
+ insertion_task_id: str
1573
+ insertion_status: TaskStatus
1574
+ metrics: MemorysetMetrics
1575
+ memory_type: MemoryType
1576
+ label_names: list[str] | None
1577
+ index_type: Literal["FLAT", "IVF_FLAT", "IVF_SQ8", "IVF_PQ", "HNSW", "DISKANN"]
1578
+ index_params: dict[str, Any]
1579
+ database_uri: str | None
1580
+ document_prompt_override: str | None
1581
+ query_prompt_override: str | None
1582
+ hidden: bool
1583
+
1584
+
1585
+ class PaginatedTask(TypedDict):
1586
+ items: list[Task]
1587
+ total: int
1588
+ offset: int
1589
+ limit: int
1590
+
1591
+
1592
+ class PaginatedWorkerInfo(TypedDict):
1593
+ items: list[WorkerInfo]
1594
+ total: int
1595
+ offset: int
1596
+ limit: int
1597
+
1598
+
1599
+ class BootstrapClassificationModelMeta(TypedDict):
1600
+ datasource_meta: DatasourceMetadata
1601
+ memoryset_meta: MemorysetMetadata
1602
+ model_meta: ClassificationModelMetadata
1603
+ agent_output: BootstrapClassificationModelResult
1604
+
1605
+
1606
+ class BootstrapClassificationModelResponse(TypedDict):
1607
+ task_id: str
1608
+ org_id: str
1609
+ status: TaskStatus
1610
+ result: BootstrapClassificationModelMeta | None
1611
+ input: BootstrapClassificationModelRequest | None
1612
+
1613
+
1614
+ class OrcaClient(Client):
1615
+ @staticmethod
1616
+ def _parse_params(
1617
+ params: Mapping[str, Any],
1618
+ path: str,
1619
+ ) -> tuple[dict[str, Any], dict[str, Any]]:
1620
+ placeholders = {name for _, name, _, _ in Formatter().parse(path) if name}
1621
+ path_params = {k: v for k, v in params.items() if k in placeholders}
1622
+ query_params = {k: v for k, v in params.items() if k not in placeholders and v is not None}
1623
+ if placeholders - path_params.keys():
1624
+ raise ValueError(f"Missing path params: {', '.join(placeholders - path_params.keys())}")
1625
+ return path_params, query_params
1626
+
1627
+ @overload
1628
+ def GET(
1629
+ self,
1630
+ path: Literal["/test_error/{status_code}"],
1631
+ *,
1632
+ params: GetTestErrorByStatusCodeParams,
1633
+ parse_as: Literal["json"] = "json",
1634
+ headers: HeaderTypes | None = None,
1635
+ cookies: CookieTypes | None = None,
1636
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1637
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1638
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1639
+ extensions: RequestExtensions | None = None,
1640
+ ) -> Any:
1641
+ pass
1642
+
1643
+ @overload
1644
+ def GET(
1645
+ self,
1646
+ path: Literal["/check/alive"],
1647
+ *,
1648
+ params: None = None,
1649
+ parse_as: Literal["json"] = "json",
1650
+ headers: HeaderTypes | None = None,
1651
+ cookies: CookieTypes | None = None,
1652
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1653
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1654
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1655
+ extensions: RequestExtensions | None = None,
1656
+ ) -> AliveResponse:
1657
+ pass
1658
+
1659
+ @overload
1660
+ def GET(
1661
+ self,
1662
+ path: Literal["/check/ready"],
1663
+ *,
1664
+ params: None = None,
1665
+ parse_as: Literal["json"] = "json",
1666
+ headers: HeaderTypes | None = None,
1667
+ cookies: CookieTypes | None = None,
1668
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1669
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1670
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1671
+ extensions: RequestExtensions | None = None,
1672
+ ) -> ReadyResponse:
1673
+ pass
1674
+
1675
+ @overload
1676
+ def GET(
1677
+ self,
1678
+ path: Literal["/gpu/check/healthy"],
1679
+ *,
1680
+ params: None = None,
1681
+ parse_as: Literal["json"] = "json",
1682
+ headers: HeaderTypes | None = None,
1683
+ cookies: CookieTypes | None = None,
1684
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1685
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1686
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1687
+ extensions: RequestExtensions | None = None,
1688
+ ) -> HealthyResponse:
1689
+ pass
1690
+
1691
+ @overload
1692
+ def GET(
1693
+ self,
1694
+ path: Literal["/check/healthy"],
1695
+ *,
1696
+ params: None = None,
1697
+ parse_as: Literal["json"] = "json",
1698
+ headers: HeaderTypes | None = None,
1699
+ cookies: CookieTypes | None = None,
1700
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1701
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1702
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1703
+ extensions: RequestExtensions | None = None,
1704
+ ) -> HealthyResponse:
1705
+ pass
1706
+
1707
+ @overload
1708
+ def GET(
1709
+ self,
1710
+ path: Literal["/gpu/config"],
1711
+ *,
1712
+ params: None = None,
1713
+ parse_as: Literal["json"] = "json",
1714
+ headers: HeaderTypes | None = None,
1715
+ cookies: CookieTypes | None = None,
1716
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1717
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1718
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1719
+ extensions: RequestExtensions | None = None,
1720
+ ) -> dict[str, str | float | int | bool | None]:
1721
+ pass
1722
+
1723
+ @overload
1724
+ def GET(
1725
+ self,
1726
+ path: Literal["/config"],
1727
+ *,
1728
+ params: None = None,
1729
+ parse_as: Literal["json"] = "json",
1730
+ headers: HeaderTypes | None = None,
1731
+ cookies: CookieTypes | None = None,
1732
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1733
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1734
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1735
+ extensions: RequestExtensions | None = None,
1736
+ ) -> dict[str, str | float | int | bool | None]:
1737
+ pass
1738
+
1739
+ @overload
1740
+ def GET(
1741
+ self,
1742
+ path: Literal["/auth/root"],
1743
+ *,
1744
+ params: None = None,
1745
+ parse_as: Literal["json"] = "json",
1746
+ headers: HeaderTypes | None = None,
1747
+ cookies: CookieTypes | None = None,
1748
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1749
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1750
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1751
+ extensions: RequestExtensions | None = None,
1752
+ ) -> bool:
1753
+ """Return true only when called with a valid root API key; otherwise 401 Unauthenticated."""
1754
+ pass
1755
+
1756
+ @overload
1757
+ def GET(
1758
+ self,
1759
+ path: Literal["/auth/api_key"],
1760
+ *,
1761
+ params: None = None,
1762
+ parse_as: Literal["json"] = "json",
1763
+ headers: HeaderTypes | None = None,
1764
+ cookies: CookieTypes | None = None,
1765
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1766
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1767
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1768
+ extensions: RequestExtensions | None = None,
1769
+ ) -> list[ApiKeyMetadata]:
1770
+ """List all API keys for the organization."""
1771
+ pass
1772
+
1773
+ @overload
1774
+ def GET(
1775
+ self,
1776
+ path: Literal["/auth"],
1777
+ *,
1778
+ params: None = None,
1779
+ parse_as: Literal["json"] = "json",
1780
+ headers: HeaderTypes | None = None,
1781
+ cookies: CookieTypes | None = None,
1782
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1783
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1784
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1785
+ extensions: RequestExtensions | None = None,
1786
+ ) -> bool:
1787
+ """Returns true if the api key header is valid for the org (will be false for admin api key)"""
1788
+ pass
1789
+
1790
+ @overload
1791
+ def GET(
1792
+ self,
1793
+ path: Literal["/auth/org/plan"],
1794
+ *,
1795
+ params: None = None,
1796
+ parse_as: Literal["json"] = "json",
1797
+ headers: HeaderTypes | None = None,
1798
+ cookies: CookieTypes | None = None,
1799
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1800
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1801
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1802
+ extensions: RequestExtensions | None = None,
1803
+ ) -> OrgPlan:
1804
+ """Get the organization plan."""
1805
+ pass
1806
+
1807
+ @overload
1808
+ def GET(
1809
+ self,
1810
+ path: Literal["/memoryset"],
1811
+ *,
1812
+ params: GetMemorysetParams,
1813
+ parse_as: Literal["json"] = "json",
1814
+ headers: HeaderTypes | None = None,
1815
+ cookies: CookieTypes | None = None,
1816
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1817
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1818
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1819
+ extensions: RequestExtensions | None = None,
1820
+ ) -> list[MemorysetMetadata]:
1821
+ pass
1822
+
1823
+ @overload
1824
+ def GET(
1825
+ self,
1826
+ path: Literal["/memoryset/{name_or_id}"],
1827
+ *,
1828
+ params: GetMemorysetByNameOrIdParams,
1829
+ parse_as: Literal["json"] = "json",
1830
+ headers: HeaderTypes | None = None,
1831
+ cookies: CookieTypes | None = None,
1832
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1833
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1834
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1835
+ extensions: RequestExtensions | None = None,
1836
+ ) -> MemorysetMetadata:
1837
+ pass
1838
+
1839
+ @overload
1840
+ def GET(
1841
+ self,
1842
+ path: Literal["/memoryset/{name_or_id}/memory/{memory_id}"],
1843
+ *,
1844
+ params: GetMemorysetByNameOrIdMemoryByMemoryIdParams,
1845
+ parse_as: Literal["json"] = "json",
1846
+ headers: HeaderTypes | None = None,
1847
+ cookies: CookieTypes | None = None,
1848
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1849
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1850
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1851
+ extensions: RequestExtensions | None = None,
1852
+ ) -> LabeledMemory | ScoredMemory:
1853
+ pass
1854
+
1855
+ @overload
1856
+ def GET(
1857
+ self,
1858
+ path: Literal["/memoryset/{name_or_id}/potential_duplicate_groups"],
1859
+ *,
1860
+ params: GetMemorysetByNameOrIdPotentialDuplicateGroupsParams,
1861
+ parse_as: Literal["json"] = "json",
1862
+ headers: HeaderTypes | None = None,
1863
+ cookies: CookieTypes | None = None,
1864
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1865
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1866
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1867
+ extensions: RequestExtensions | None = None,
1868
+ ) -> list[list[LabeledMemory]] | list[list[ScoredMemory]]:
1869
+ pass
1870
+
1871
+ @overload
1872
+ def GET(
1873
+ self,
1874
+ path: Literal["/memoryset/{name_or_id}/analysis"],
1875
+ *,
1876
+ params: GetMemorysetByNameOrIdAnalysisParams,
1877
+ parse_as: Literal["json"] = "json",
1878
+ headers: HeaderTypes | None = None,
1879
+ cookies: CookieTypes | None = None,
1880
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1881
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1882
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1883
+ extensions: RequestExtensions | None = None,
1884
+ ) -> list[MemorysetAnalysisResponse]:
1885
+ pass
1886
+
1887
+ @overload
1888
+ def GET(
1889
+ self,
1890
+ path: Literal["/memoryset/{name_or_id}/analysis/{analysis_task_id}"],
1891
+ *,
1892
+ params: GetMemorysetByNameOrIdAnalysisByAnalysisTaskIdParams,
1893
+ parse_as: Literal["json"] = "json",
1894
+ headers: HeaderTypes | None = None,
1895
+ cookies: CookieTypes | None = None,
1896
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1897
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1898
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1899
+ extensions: RequestExtensions | None = None,
1900
+ ) -> MemorysetAnalysisResponse:
1901
+ pass
1902
+
1903
+ @overload
1904
+ def GET(
1905
+ self,
1906
+ path: Literal["/finetuned_embedding_model"],
1907
+ *,
1908
+ params: None = None,
1909
+ parse_as: Literal["json"] = "json",
1910
+ headers: HeaderTypes | None = None,
1911
+ cookies: CookieTypes | None = None,
1912
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1913
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1914
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1915
+ extensions: RequestExtensions | None = None,
1916
+ ) -> list[FinetunedEmbeddingModelMetadata]:
1917
+ """List all finetuned embedding models for the organization."""
1918
+ pass
1919
+
1920
+ @overload
1921
+ def GET(
1922
+ self,
1923
+ path: Literal["/finetuned_embedding_model/{name_or_id}"],
1924
+ *,
1925
+ params: GetFinetunedEmbeddingModelByNameOrIdParams,
1926
+ parse_as: Literal["json"] = "json",
1927
+ headers: HeaderTypes | None = None,
1928
+ cookies: CookieTypes | None = None,
1929
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1930
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1931
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1932
+ extensions: RequestExtensions | None = None,
1933
+ ) -> FinetunedEmbeddingModelMetadata:
1934
+ """Get a finetuned embedding model by name or ID."""
1935
+ pass
1936
+
1937
+ @overload
1938
+ def GET(
1939
+ self,
1940
+ path: Literal["/finetuned_embedding_model/{name_or_id}/evaluation/{task_id}"],
1941
+ *,
1942
+ params: GetFinetunedEmbeddingModelByNameOrIdEvaluationByTaskIdParams,
1943
+ parse_as: Literal["json"] = "json",
1944
+ headers: HeaderTypes | None = None,
1945
+ cookies: CookieTypes | None = None,
1946
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1947
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1948
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1949
+ extensions: RequestExtensions | None = None,
1950
+ ) -> EmbeddingEvaluationResponse:
1951
+ """Get evaluation results for a finetuned embedding model by task ID."""
1952
+ pass
1953
+
1954
+ @overload
1955
+ def GET(
1956
+ self,
1957
+ path: Literal["/finetuned_embedding_model/{name_or_id}/evaluations"],
1958
+ *,
1959
+ params: GetFinetunedEmbeddingModelByNameOrIdEvaluationsParams,
1960
+ parse_as: Literal["json"] = "json",
1961
+ headers: HeaderTypes | None = None,
1962
+ cookies: CookieTypes | None = None,
1963
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1964
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1965
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1966
+ extensions: RequestExtensions | None = None,
1967
+ ) -> list[EmbeddingEvaluationResponse]:
1968
+ """List all evaluation results for a finetuned embedding model."""
1969
+ pass
1970
+
1971
+ @overload
1972
+ def GET(
1973
+ self,
1974
+ path: Literal["/pretrained_embedding_model"],
1975
+ *,
1976
+ params: None = None,
1977
+ parse_as: Literal["json"] = "json",
1978
+ headers: HeaderTypes | None = None,
1979
+ cookies: CookieTypes | None = None,
1980
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1981
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1982
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1983
+ extensions: RequestExtensions | None = None,
1984
+ ) -> list[PretrainedEmbeddingModelMetadata]:
1985
+ """List all available pretrained embedding models."""
1986
+ pass
1987
+
1988
+ @overload
1989
+ def GET(
1990
+ self,
1991
+ path: Literal["/pretrained_embedding_model/{model_name}"],
1992
+ *,
1993
+ params: GetPretrainedEmbeddingModelByModelNameParams,
1994
+ parse_as: Literal["json"] = "json",
1995
+ headers: HeaderTypes | None = None,
1996
+ cookies: CookieTypes | None = None,
1997
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
1998
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
1999
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2000
+ extensions: RequestExtensions | None = None,
2001
+ ) -> PretrainedEmbeddingModelMetadata:
2002
+ """Get metadata for a specific pretrained embedding model."""
2003
+ pass
2004
+
2005
+ @overload
2006
+ def GET(
2007
+ self,
2008
+ path: Literal["/pretrained_embedding_model/{model_name}/evaluation/{task_id}"],
2009
+ *,
2010
+ params: GetPretrainedEmbeddingModelByModelNameEvaluationByTaskIdParams,
2011
+ parse_as: Literal["json"] = "json",
2012
+ headers: HeaderTypes | None = None,
2013
+ cookies: CookieTypes | None = None,
2014
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2015
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2016
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2017
+ extensions: RequestExtensions | None = None,
2018
+ ) -> EmbeddingEvaluationResponse:
2019
+ """Get evaluation results for a pretrained embedding model by task ID."""
2020
+ pass
2021
+
2022
+ @overload
2023
+ def GET(
2024
+ self,
2025
+ path: Literal["/pretrained_embedding_model/{model_name}/evaluations"],
2026
+ *,
2027
+ params: GetPretrainedEmbeddingModelByModelNameEvaluationsParams,
2028
+ parse_as: Literal["json"] = "json",
2029
+ headers: HeaderTypes | None = None,
2030
+ cookies: CookieTypes | None = None,
2031
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2032
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2033
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2034
+ extensions: RequestExtensions | None = None,
2035
+ ) -> list[EmbeddingEvaluationResponse]:
2036
+ """List all evaluation results for a pretrained embedding model."""
2037
+ pass
2038
+
2039
+ @overload
2040
+ def GET(
2041
+ self,
2042
+ path: Literal["/datasource"],
2043
+ *,
2044
+ params: None = None,
2045
+ parse_as: Literal["json"] = "json",
2046
+ headers: HeaderTypes | None = None,
2047
+ cookies: CookieTypes | None = None,
2048
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2049
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2050
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2051
+ extensions: RequestExtensions | None = None,
2052
+ ) -> list[DatasourceMetadata]:
2053
+ """List all datasources for the organization."""
2054
+ pass
2055
+
2056
+ @overload
2057
+ def GET(
2058
+ self,
2059
+ path: Literal["/datasource/{name_or_id}"],
2060
+ *,
2061
+ params: GetDatasourceByNameOrIdParams,
2062
+ parse_as: Literal["json"] = "json",
2063
+ headers: HeaderTypes | None = None,
2064
+ cookies: CookieTypes | None = None,
2065
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2066
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2067
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2068
+ extensions: RequestExtensions | None = None,
2069
+ ) -> DatasourceMetadata:
2070
+ """Get a datasource by name or ID."""
2071
+ pass
2072
+
2073
+ @overload
2074
+ def GET(
2075
+ self,
2076
+ path: Literal["/datasource/{name_or_id}/embedding_model_evaluations"],
2077
+ *,
2078
+ params: GetDatasourceByNameOrIdEmbeddingModelEvaluationsParams,
2079
+ parse_as: Literal["json"] = "json",
2080
+ headers: HeaderTypes | None = None,
2081
+ cookies: CookieTypes | None = None,
2082
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2083
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2084
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2085
+ extensions: RequestExtensions | None = None,
2086
+ ) -> list[EmbeddingEvaluationResponse]:
2087
+ """List all evaluation results for a datasource."""
2088
+ pass
2089
+
2090
+ @overload
2091
+ def GET(
2092
+ self,
2093
+ path: Literal["/datasource/{name_or_id}/download"],
2094
+ *,
2095
+ params: GetDatasourceByNameOrIdDownloadParams,
2096
+ parse_as: Literal["json"] = "json",
2097
+ headers: HeaderTypes | None = None,
2098
+ cookies: CookieTypes | None = None,
2099
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2100
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2101
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2102
+ extensions: RequestExtensions | None = None,
2103
+ ) -> list[dict[str, Any]]:
2104
+ """Download datasource in the specified format."""
2105
+ pass
2106
+
2107
+ @overload
2108
+ def GET(
2109
+ self,
2110
+ path: Literal["/datasource/{name_or_id}/download"],
2111
+ *,
2112
+ params: GetDatasourceByNameOrIdDownloadParams,
2113
+ parse_as: Literal["text"],
2114
+ headers: HeaderTypes | None = None,
2115
+ cookies: CookieTypes | None = None,
2116
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2117
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2118
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2119
+ extensions: RequestExtensions | None = None,
2120
+ ) -> str:
2121
+ """Download datasource in the specified format."""
2122
+ pass
2123
+
2124
+ @overload
2125
+ def GET(
2126
+ self,
2127
+ path: Literal["/datasource/{name_or_id}/download"],
2128
+ *,
2129
+ params: GetDatasourceByNameOrIdDownloadParams,
2130
+ parse_as: None,
2131
+ headers: HeaderTypes | None = None,
2132
+ cookies: CookieTypes | None = None,
2133
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2134
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2135
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2136
+ extensions: RequestExtensions | None = None,
2137
+ ) -> bytes:
2138
+ """Download datasource in the specified format."""
2139
+ pass
2140
+
2141
+ @overload
2142
+ def GET(
2143
+ self,
2144
+ path: Literal["/predictive_model"],
2145
+ *,
2146
+ params: None = None,
2147
+ parse_as: Literal["json"] = "json",
2148
+ headers: HeaderTypes | None = None,
2149
+ cookies: CookieTypes | None = None,
2150
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2151
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2152
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2153
+ extensions: RequestExtensions | None = None,
2154
+ ) -> list[ClassificationModelMetadata | RegressionModelMetadata]:
2155
+ pass
2156
+
2157
+ @overload
2158
+ def GET(
2159
+ self,
2160
+ path: Literal["/classification_model"],
2161
+ *,
2162
+ params: None = None,
2163
+ parse_as: Literal["json"] = "json",
2164
+ headers: HeaderTypes | None = None,
2165
+ cookies: CookieTypes | None = None,
2166
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2167
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2168
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2169
+ extensions: RequestExtensions | None = None,
2170
+ ) -> list[ClassificationModelMetadata]:
2171
+ pass
2172
+
2173
+ @overload
2174
+ def GET(
2175
+ self,
2176
+ path: Literal["/classification_model/{name_or_id}"],
2177
+ *,
2178
+ params: GetClassificationModelByNameOrIdParams,
2179
+ parse_as: Literal["json"] = "json",
2180
+ headers: HeaderTypes | None = None,
2181
+ cookies: CookieTypes | None = None,
2182
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2183
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2184
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2185
+ extensions: RequestExtensions | None = None,
2186
+ ) -> ClassificationModelMetadata:
2187
+ pass
2188
+
2189
+ @overload
2190
+ def GET(
2191
+ self,
2192
+ path: Literal["/classification_model/{model_name_or_id}/evaluation"],
2193
+ *,
2194
+ params: GetClassificationModelByModelNameOrIdEvaluationParams,
2195
+ parse_as: Literal["json"] = "json",
2196
+ headers: HeaderTypes | None = None,
2197
+ cookies: CookieTypes | None = None,
2198
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2199
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2200
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2201
+ extensions: RequestExtensions | None = None,
2202
+ ) -> list[EvaluationResponseClassificationMetrics]:
2203
+ pass
2204
+
2205
+ @overload
2206
+ def GET(
2207
+ self,
2208
+ path: Literal["/classification_model/{model_name_or_id}/evaluation/{task_id}"],
2209
+ *,
2210
+ params: GetClassificationModelByModelNameOrIdEvaluationByTaskIdParams,
2211
+ parse_as: Literal["json"] = "json",
2212
+ headers: HeaderTypes | None = None,
2213
+ cookies: CookieTypes | None = None,
2214
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2215
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2216
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2217
+ extensions: RequestExtensions | None = None,
2218
+ ) -> EvaluationResponseClassificationMetrics:
2219
+ pass
2220
+
2221
+ @overload
2222
+ def GET(
2223
+ self,
2224
+ path: Literal["/regression_model"],
2225
+ *,
2226
+ params: None = None,
2227
+ parse_as: Literal["json"] = "json",
2228
+ headers: HeaderTypes | None = None,
2229
+ cookies: CookieTypes | None = None,
2230
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2231
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2232
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2233
+ extensions: RequestExtensions | None = None,
2234
+ ) -> list[RegressionModelMetadata]:
2235
+ pass
2236
+
2237
+ @overload
2238
+ def GET(
2239
+ self,
2240
+ path: Literal["/regression_model/{name_or_id}"],
2241
+ *,
2242
+ params: GetRegressionModelByNameOrIdParams,
2243
+ parse_as: Literal["json"] = "json",
2244
+ headers: HeaderTypes | None = None,
2245
+ cookies: CookieTypes | None = None,
2246
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2247
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2248
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2249
+ extensions: RequestExtensions | None = None,
2250
+ ) -> RegressionModelMetadata:
2251
+ pass
2252
+
2253
+ @overload
2254
+ def GET(
2255
+ self,
2256
+ path: Literal["/regression_model/{model_name_or_id}/evaluation"],
2257
+ *,
2258
+ params: GetRegressionModelByModelNameOrIdEvaluationParams,
2259
+ parse_as: Literal["json"] = "json",
2260
+ headers: HeaderTypes | None = None,
2261
+ cookies: CookieTypes | None = None,
2262
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2263
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2264
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2265
+ extensions: RequestExtensions | None = None,
2266
+ ) -> list[EvaluationResponseRegressionMetrics]:
2267
+ pass
2268
+
2269
+ @overload
2270
+ def GET(
2271
+ self,
2272
+ path: Literal["/regression_model/{model_name_or_id}/evaluation/{task_id}"],
2273
+ *,
2274
+ params: GetRegressionModelByModelNameOrIdEvaluationByTaskIdParams,
2275
+ parse_as: Literal["json"] = "json",
2276
+ headers: HeaderTypes | None = None,
2277
+ cookies: CookieTypes | None = None,
2278
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2279
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2280
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2281
+ extensions: RequestExtensions | None = None,
2282
+ ) -> EvaluationResponseRegressionMetrics:
2283
+ pass
2284
+
2285
+ @overload
2286
+ def GET(
2287
+ self,
2288
+ path: Literal["/task/{task_id}"],
2289
+ *,
2290
+ params: GetTaskByTaskIdParams,
2291
+ parse_as: Literal["json"] = "json",
2292
+ headers: HeaderTypes | None = None,
2293
+ cookies: CookieTypes | None = None,
2294
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2295
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2296
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2297
+ extensions: RequestExtensions | None = None,
2298
+ ) -> Task:
2299
+ pass
2300
+
2301
+ @overload
2302
+ def GET(
2303
+ self,
2304
+ path: Literal["/task/{task_id}/status"],
2305
+ *,
2306
+ params: GetTaskByTaskIdStatusParams,
2307
+ parse_as: Literal["json"] = "json",
2308
+ headers: HeaderTypes | None = None,
2309
+ cookies: CookieTypes | None = None,
2310
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2311
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2312
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2313
+ extensions: RequestExtensions | None = None,
2314
+ ) -> TaskStatusInfo:
2315
+ pass
2316
+
2317
+ @overload
2318
+ def GET(
2319
+ self,
2320
+ path: Literal["/task"],
2321
+ *,
2322
+ params: GetTaskParams,
2323
+ parse_as: Literal["json"] = "json",
2324
+ headers: HeaderTypes | None = None,
2325
+ cookies: CookieTypes | None = None,
2326
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2327
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2328
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2329
+ extensions: RequestExtensions | None = None,
2330
+ ) -> PaginatedTask:
2331
+ pass
2332
+
2333
+ @overload
2334
+ def GET(
2335
+ self,
2336
+ path: Literal["/worker"],
2337
+ *,
2338
+ params: GetWorkerParams,
2339
+ parse_as: Literal["json"] = "json",
2340
+ headers: HeaderTypes | None = None,
2341
+ cookies: CookieTypes | None = None,
2342
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2343
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2344
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2345
+ extensions: RequestExtensions | None = None,
2346
+ ) -> PaginatedWorkerInfo:
2347
+ """
2348
+ List all workers in the system. Requires root access.
2349
+
2350
+ This endpoint automatically cleans up orphaned workers before returning results.
2351
+ """
2352
+ pass
2353
+
2354
+ @overload
2355
+ def GET(
2356
+ self,
2357
+ path: Literal["/worker/{worker_id}"],
2358
+ *,
2359
+ params: GetWorkerByWorkerIdParams,
2360
+ parse_as: Literal["json"] = "json",
2361
+ headers: HeaderTypes | None = None,
2362
+ cookies: CookieTypes | None = None,
2363
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2364
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2365
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2366
+ extensions: RequestExtensions | None = None,
2367
+ ) -> WorkerInfo:
2368
+ """Get information about a specific worker. Requires root access."""
2369
+ pass
2370
+
2371
+ @overload
2372
+ def GET(
2373
+ self,
2374
+ path: Literal["/telemetry/prediction/{prediction_id}"],
2375
+ *,
2376
+ params: GetTelemetryPredictionByPredictionIdParams,
2377
+ parse_as: Literal["json"] = "json",
2378
+ headers: HeaderTypes | None = None,
2379
+ cookies: CookieTypes | None = None,
2380
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2381
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2382
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2383
+ extensions: RequestExtensions | None = None,
2384
+ ) -> LabelPredictionWithMemoriesAndFeedback | ScorePredictionWithMemoriesAndFeedback:
2385
+ """Get a specific prediction by ID."""
2386
+ pass
2387
+
2388
+ @overload
2389
+ def GET(
2390
+ self,
2391
+ path: Literal["/telemetry/prediction/{prediction_id}/explanation"],
2392
+ *,
2393
+ params: GetTelemetryPredictionByPredictionIdExplanationParams,
2394
+ parse_as: Literal["text"],
2395
+ headers: HeaderTypes | None = None,
2396
+ cookies: CookieTypes | None = None,
2397
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2398
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2399
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2400
+ extensions: RequestExtensions | None = None,
2401
+ ) -> str:
2402
+ """Get explanation for a prediction, optionally streaming the response."""
2403
+ pass
2404
+
2405
+ @overload
2406
+ def GET(
2407
+ self,
2408
+ path: Literal["/telemetry/prediction/{prediction_id}/action"],
2409
+ *,
2410
+ params: GetTelemetryPredictionByPredictionIdActionParams,
2411
+ parse_as: Literal["json"] = "json",
2412
+ headers: HeaderTypes | None = None,
2413
+ cookies: CookieTypes | None = None,
2414
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2415
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2416
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2417
+ extensions: RequestExtensions | None = None,
2418
+ ) -> ActionRecommendation:
2419
+ """Get action recommendation for improving a specific prediction."""
2420
+ pass
2421
+
2422
+ @overload
2423
+ def GET(
2424
+ self,
2425
+ path: Literal["/telemetry/prediction/{prediction_id}/memory_suggestions"],
2426
+ *,
2427
+ params: GetTelemetryPredictionByPredictionIdMemorySuggestionsParams,
2428
+ parse_as: Literal["json"] = "json",
2429
+ headers: HeaderTypes | None = None,
2430
+ cookies: CookieTypes | None = None,
2431
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2432
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2433
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2434
+ extensions: RequestExtensions | None = None,
2435
+ ) -> AddMemoryRecommendations:
2436
+ """
2437
+ Generate synthetic memory suggestions to improve a specific prediction.
2438
+
2439
+ The returned suggestions have labels as string representations of integer indices
2440
+ corresponding to the memoryset's label_names.
2441
+ """
2442
+ pass
2443
+
2444
+ @overload
2445
+ def GET(
2446
+ self,
2447
+ path: Literal["/telemetry/feedback_category"],
2448
+ *,
2449
+ params: None = None,
2450
+ parse_as: Literal["json"] = "json",
2451
+ headers: HeaderTypes | None = None,
2452
+ cookies: CookieTypes | None = None,
2453
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2454
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2455
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2456
+ extensions: RequestExtensions | None = None,
2457
+ ) -> list[PredictionFeedbackCategory]:
2458
+ """List all feedback categories for the organization."""
2459
+ pass
2460
+
2461
+ @overload
2462
+ def GET(
2463
+ self,
2464
+ path: Literal["/telemetry/feedback_category/{name_or_id}"],
2465
+ *,
2466
+ params: GetTelemetryFeedbackCategoryByNameOrIdParams,
2467
+ parse_as: Literal["json"] = "json",
2468
+ headers: HeaderTypes | None = None,
2469
+ cookies: CookieTypes | None = None,
2470
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2471
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2472
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2473
+ extensions: RequestExtensions | None = None,
2474
+ ) -> PredictionFeedbackCategory:
2475
+ """Get a feedback category by name or ID."""
2476
+ pass
2477
+
2478
+ @overload
2479
+ def GET(
2480
+ self,
2481
+ path: Literal["/agents/bootstrap_classification_model/{task_id}"],
2482
+ *,
2483
+ params: GetAgentsBootstrapClassificationModelByTaskIdParams,
2484
+ parse_as: Literal["json"] = "json",
2485
+ headers: HeaderTypes | None = None,
2486
+ cookies: CookieTypes | None = None,
2487
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2488
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2489
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2490
+ extensions: RequestExtensions | None = None,
2491
+ ) -> BootstrapClassificationModelResponse:
2492
+ """Get the status of a bootstrap classification model task"""
2493
+ pass
2494
+
2495
+ def GET(
2496
+ self,
2497
+ path: str,
2498
+ *,
2499
+ params: Mapping[str, Any] | None = None,
2500
+ parse_as: Literal["json", "text"] | None = "json",
2501
+ headers: HeaderTypes | None = None,
2502
+ cookies: CookieTypes | None = None,
2503
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2504
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2505
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2506
+ extensions: RequestExtensions | None = None,
2507
+ ) -> Any:
2508
+ path_params, query_params = self._parse_params(params or {}, path)
2509
+ res = self.get(
2510
+ path.format(**path_params),
2511
+ params=query_params,
2512
+ headers=headers,
2513
+ cookies=cookies,
2514
+ auth=auth,
2515
+ follow_redirects=follow_redirects,
2516
+ timeout=timeout,
2517
+ extensions=extensions,
2518
+ )
2519
+ res.raise_for_status()
2520
+ return (
2521
+ None
2522
+ if res.status_code == 204
2523
+ else res.json() if parse_as == "json" else res.text if parse_as == "text" else res.content
2524
+ )
2525
+
2526
+ @overload
2527
+ def DELETE(
2528
+ self,
2529
+ path: Literal["/cleanup"],
2530
+ *,
2531
+ params: None = None,
2532
+ parse_as: Literal["json"] = "json",
2533
+ headers: HeaderTypes | None = None,
2534
+ cookies: CookieTypes | None = None,
2535
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2536
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2537
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2538
+ extensions: RequestExtensions | None = None,
2539
+ ) -> CleanupResponse:
2540
+ """Cleanup orphaned milvus collections and blobs"""
2541
+ pass
2542
+
2543
+ @overload
2544
+ def DELETE(
2545
+ self,
2546
+ path: Literal["/auth/api_key/{name_or_id}"],
2547
+ *,
2548
+ params: DeleteAuthApiKeyByNameOrIdParams,
2549
+ parse_as: Literal["json"] = "json",
2550
+ headers: HeaderTypes | None = None,
2551
+ cookies: CookieTypes | None = None,
2552
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2553
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2554
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2555
+ extensions: RequestExtensions | None = None,
2556
+ ) -> None:
2557
+ """Delete an API key by name or ID."""
2558
+ pass
2559
+
2560
+ @overload
2561
+ def DELETE(
2562
+ self,
2563
+ path: Literal["/auth/org"],
2564
+ *,
2565
+ params: None = None,
2566
+ parse_as: Literal["json"] = "json",
2567
+ headers: HeaderTypes | None = None,
2568
+ cookies: CookieTypes | None = None,
2569
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2570
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2571
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2572
+ extensions: RequestExtensions | None = None,
2573
+ ) -> None:
2574
+ """Deletes the org and all associated resources"""
2575
+ pass
2576
+
2577
+ @overload
2578
+ def DELETE(
2579
+ self,
2580
+ path: Literal["/memoryset/{name_or_id}"],
2581
+ *,
2582
+ params: DeleteMemorysetByNameOrIdParams,
2583
+ parse_as: Literal["json"] = "json",
2584
+ headers: HeaderTypes | None = None,
2585
+ cookies: CookieTypes | None = None,
2586
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2587
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2588
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2589
+ extensions: RequestExtensions | None = None,
2590
+ ) -> None:
2591
+ pass
2592
+
2593
+ @overload
2594
+ def DELETE(
2595
+ self,
2596
+ path: Literal["/memoryset/{name_or_id}/memory/{memory_id}"],
2597
+ *,
2598
+ params: DeleteMemorysetByNameOrIdMemoryByMemoryIdParams,
2599
+ parse_as: Literal["json"] = "json",
2600
+ headers: HeaderTypes | None = None,
2601
+ cookies: CookieTypes | None = None,
2602
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2603
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2604
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2605
+ extensions: RequestExtensions | None = None,
2606
+ ) -> None:
2607
+ pass
2608
+
2609
+ @overload
2610
+ def DELETE(
2611
+ self,
2612
+ path: Literal["/finetuned_embedding_model/{name_or_id}"],
2613
+ *,
2614
+ params: DeleteFinetunedEmbeddingModelByNameOrIdParams,
2615
+ parse_as: Literal["json"] = "json",
2616
+ headers: HeaderTypes | None = None,
2617
+ cookies: CookieTypes | None = None,
2618
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2619
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2620
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2621
+ extensions: RequestExtensions | None = None,
2622
+ ) -> None:
2623
+ """Delete a finetuned embedding model by name or ID."""
2624
+ pass
2625
+
2626
+ @overload
2627
+ def DELETE(
2628
+ self,
2629
+ path: Literal["/datasource/{name_or_id}"],
2630
+ *,
2631
+ params: DeleteDatasourceByNameOrIdParams,
2632
+ parse_as: Literal["json"] = "json",
2633
+ headers: HeaderTypes | None = None,
2634
+ cookies: CookieTypes | None = None,
2635
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2636
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2637
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2638
+ extensions: RequestExtensions | None = None,
2639
+ ) -> None:
2640
+ """Delete a datasource by name or ID."""
2641
+ pass
2642
+
2643
+ @overload
2644
+ def DELETE(
2645
+ self,
2646
+ path: Literal["/classification_model/{name_or_id}"],
2647
+ *,
2648
+ params: DeleteClassificationModelByNameOrIdParams,
2649
+ parse_as: Literal["json"] = "json",
2650
+ headers: HeaderTypes | None = None,
2651
+ cookies: CookieTypes | None = None,
2652
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2653
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2654
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2655
+ extensions: RequestExtensions | None = None,
2656
+ ) -> None:
2657
+ pass
2658
+
2659
+ @overload
2660
+ def DELETE(
2661
+ self,
2662
+ path: Literal["/classification_model/{model_name_or_id}/evaluation/{task_id}"],
2663
+ *,
2664
+ params: DeleteClassificationModelByModelNameOrIdEvaluationByTaskIdParams,
2665
+ parse_as: Literal["json"] = "json",
2666
+ headers: HeaderTypes | None = None,
2667
+ cookies: CookieTypes | None = None,
2668
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2669
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2670
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2671
+ extensions: RequestExtensions | None = None,
2672
+ ) -> None:
2673
+ pass
2674
+
2675
+ @overload
2676
+ def DELETE(
2677
+ self,
2678
+ path: Literal["/regression_model/{name_or_id}"],
2679
+ *,
2680
+ params: DeleteRegressionModelByNameOrIdParams,
2681
+ parse_as: Literal["json"] = "json",
2682
+ headers: HeaderTypes | None = None,
2683
+ cookies: CookieTypes | None = None,
2684
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2685
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2686
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2687
+ extensions: RequestExtensions | None = None,
2688
+ ) -> None:
2689
+ pass
2690
+
2691
+ @overload
2692
+ def DELETE(
2693
+ self,
2694
+ path: Literal["/regression_model/{model_name_or_id}/evaluation/{task_id}"],
2695
+ *,
2696
+ params: DeleteRegressionModelByModelNameOrIdEvaluationByTaskIdParams,
2697
+ parse_as: Literal["json"] = "json",
2698
+ headers: HeaderTypes | None = None,
2699
+ cookies: CookieTypes | None = None,
2700
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2701
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2702
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2703
+ extensions: RequestExtensions | None = None,
2704
+ ) -> None:
2705
+ pass
2706
+
2707
+ @overload
2708
+ def DELETE(
2709
+ self,
2710
+ path: Literal["/task/{task_id}/abort"],
2711
+ *,
2712
+ params: DeleteTaskByTaskIdAbortParams,
2713
+ parse_as: Literal["json"] = "json",
2714
+ headers: HeaderTypes | None = None,
2715
+ cookies: CookieTypes | None = None,
2716
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2717
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2718
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2719
+ extensions: RequestExtensions | None = None,
2720
+ ) -> None:
2721
+ pass
2722
+
2723
+ @overload
2724
+ def DELETE(
2725
+ self,
2726
+ path: Literal["/telemetry/feedback_category/{name_or_id}"],
2727
+ *,
2728
+ params: DeleteTelemetryFeedbackCategoryByNameOrIdParams,
2729
+ parse_as: Literal["json"] = "json",
2730
+ headers: HeaderTypes | None = None,
2731
+ cookies: CookieTypes | None = None,
2732
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2733
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2734
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2735
+ extensions: RequestExtensions | None = None,
2736
+ ) -> None:
2737
+ """Delete a feedback category and all associated feedback records."""
2738
+ pass
2739
+
2740
+ def DELETE(
2741
+ self,
2742
+ path: str,
2743
+ *,
2744
+ params: Mapping[str, Any] | None = None,
2745
+ parse_as: Literal["json", "text"] | None = "json",
2746
+ headers: HeaderTypes | None = None,
2747
+ cookies: CookieTypes | None = None,
2748
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2749
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2750
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2751
+ extensions: RequestExtensions | None = None,
2752
+ ) -> Any:
2753
+ path_params, query_params = self._parse_params(params or {}, path)
2754
+ res = self.delete(
2755
+ path.format(**path_params),
2756
+ params=query_params,
2757
+ headers=headers,
2758
+ cookies=cookies,
2759
+ auth=auth,
2760
+ follow_redirects=follow_redirects,
2761
+ timeout=timeout,
2762
+ extensions=extensions,
2763
+ )
2764
+ res.raise_for_status()
2765
+ return (
2766
+ None
2767
+ if res.status_code == 204
2768
+ else res.json() if parse_as == "json" else res.text if parse_as == "text" else res.content
2769
+ )
2770
+
2771
+ @overload
2772
+ def POST(
2773
+ self,
2774
+ path: Literal["/auth/api_key"],
2775
+ *,
2776
+ params: None = None,
2777
+ json: CreateApiKeyRequest,
2778
+ data: None = None,
2779
+ files: None = None,
2780
+ content: None = None,
2781
+ parse_as: Literal["json"] = "json",
2782
+ headers: HeaderTypes | None = None,
2783
+ cookies: CookieTypes | None = None,
2784
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2785
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2786
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2787
+ extensions: RequestExtensions | None = None,
2788
+ ) -> CreateApiKeyResponse:
2789
+ """Create a new API key for the organization."""
2790
+ pass
2791
+
2792
+ @overload
2793
+ def POST(
2794
+ self,
2795
+ path: Literal["/auth/org/plan"],
2796
+ *,
2797
+ params: None = None,
2798
+ json: CreateOrgPlanRequest,
2799
+ data: None = None,
2800
+ files: None = None,
2801
+ content: None = None,
2802
+ parse_as: Literal["json"] = "json",
2803
+ headers: HeaderTypes | None = None,
2804
+ cookies: CookieTypes | None = None,
2805
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2806
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2807
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2808
+ extensions: RequestExtensions | None = None,
2809
+ ) -> OrgPlan:
2810
+ """Create an organization plan."""
2811
+ pass
2812
+
2813
+ @overload
2814
+ def POST(
2815
+ self,
2816
+ path: Literal["/memoryset"],
2817
+ *,
2818
+ params: None = None,
2819
+ json: CreateMemorysetRequest,
2820
+ data: None = None,
2821
+ files: None = None,
2822
+ content: None = None,
2823
+ parse_as: Literal["json"] = "json",
2824
+ headers: HeaderTypes | None = None,
2825
+ cookies: CookieTypes | None = None,
2826
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2827
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2828
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2829
+ extensions: RequestExtensions | None = None,
2830
+ ) -> MemorysetMetadata:
2831
+ pass
2832
+
2833
+ @overload
2834
+ def POST(
2835
+ self,
2836
+ path: Literal["/memoryset/{name_or_id}/clone"],
2837
+ *,
2838
+ params: PostMemorysetByNameOrIdCloneParams,
2839
+ json: CloneMemorysetRequest,
2840
+ data: None = None,
2841
+ files: None = None,
2842
+ content: None = None,
2843
+ parse_as: Literal["json"] = "json",
2844
+ headers: HeaderTypes | None = None,
2845
+ cookies: CookieTypes | None = None,
2846
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2847
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2848
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2849
+ extensions: RequestExtensions | None = None,
2850
+ ) -> MemorysetMetadata:
2851
+ pass
2852
+
2853
+ @overload
2854
+ def POST(
2855
+ self,
2856
+ path: Literal["/batch_delete_memoryset"],
2857
+ *,
2858
+ params: None = None,
2859
+ json: DeleteMemorysetsRequest,
2860
+ data: None = None,
2861
+ files: None = None,
2862
+ content: None = None,
2863
+ parse_as: Literal["json"] = "json",
2864
+ headers: HeaderTypes | None = None,
2865
+ cookies: CookieTypes | None = None,
2866
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2867
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2868
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2869
+ extensions: RequestExtensions | None = None,
2870
+ ) -> None:
2871
+ pass
2872
+
2873
+ @overload
2874
+ def POST(
2875
+ self,
2876
+ path: Literal["/memoryset/{name_or_id}/memories/get"],
2877
+ *,
2878
+ params: PostMemorysetByNameOrIdMemoriesGetParams,
2879
+ json: GetMemoriesRequest,
2880
+ data: None = None,
2881
+ files: None = None,
2882
+ content: None = None,
2883
+ parse_as: Literal["json"] = "json",
2884
+ headers: HeaderTypes | None = None,
2885
+ cookies: CookieTypes | None = None,
2886
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2887
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2888
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2889
+ extensions: RequestExtensions | None = None,
2890
+ ) -> list[LabeledMemory] | list[ScoredMemory]:
2891
+ pass
2892
+
2893
+ @overload
2894
+ def POST(
2895
+ self,
2896
+ path: Literal["/memoryset/{name_or_id}/memories"],
2897
+ *,
2898
+ params: PostMemorysetByNameOrIdMemoriesParams,
2899
+ json: ListMemoriesRequest | None = None,
2900
+ data: None = None,
2901
+ files: None = None,
2902
+ content: None = None,
2903
+ parse_as: Literal["json"] = "json",
2904
+ headers: HeaderTypes | None = None,
2905
+ cookies: CookieTypes | None = None,
2906
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2907
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2908
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2909
+ extensions: RequestExtensions | None = None,
2910
+ ) -> list[LabeledMemory] | list[ScoredMemory]:
2911
+ pass
2912
+
2913
+ @overload
2914
+ def POST(
2915
+ self,
2916
+ path: Literal["/memoryset/{name_or_id}/memories/delete"],
2917
+ *,
2918
+ params: PostMemorysetByNameOrIdMemoriesDeleteParams,
2919
+ json: DeleteMemoriesRequest,
2920
+ data: None = None,
2921
+ files: None = None,
2922
+ content: None = None,
2923
+ parse_as: Literal["json"] = "json",
2924
+ headers: HeaderTypes | None = None,
2925
+ cookies: CookieTypes | None = None,
2926
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2927
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2928
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2929
+ extensions: RequestExtensions | None = None,
2930
+ ) -> None:
2931
+ pass
2932
+
2933
+ @overload
2934
+ def POST(
2935
+ self,
2936
+ path: Literal["/memoryset/{name_or_id}/analysis"],
2937
+ *,
2938
+ params: PostMemorysetByNameOrIdAnalysisParams,
2939
+ json: MemorysetAnalysisRequest,
2940
+ data: None = None,
2941
+ files: None = None,
2942
+ content: None = None,
2943
+ parse_as: Literal["json"] = "json",
2944
+ headers: HeaderTypes | None = None,
2945
+ cookies: CookieTypes | None = None,
2946
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2947
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2948
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2949
+ extensions: RequestExtensions | None = None,
2950
+ ) -> MemorysetAnalysisResponse:
2951
+ pass
2952
+
2953
+ @overload
2954
+ def POST(
2955
+ self,
2956
+ path: Literal["/memoryset/{name_or_id}/memory/{memory_id}/cascading_edits"],
2957
+ *,
2958
+ params: PostMemorysetByNameOrIdMemoryByMemoryIdCascadingEditsParams,
2959
+ json: CascadeEditSuggestionsRequest,
2960
+ data: None = None,
2961
+ files: None = None,
2962
+ content: None = None,
2963
+ parse_as: Literal["json"] = "json",
2964
+ headers: HeaderTypes | None = None,
2965
+ cookies: CookieTypes | None = None,
2966
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2967
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2968
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2969
+ extensions: RequestExtensions | None = None,
2970
+ ) -> list[CascadingEditSuggestion]:
2971
+ pass
2972
+
2973
+ @overload
2974
+ def POST(
2975
+ self,
2976
+ path: Literal["/finetuned_embedding_model"],
2977
+ *,
2978
+ params: None = None,
2979
+ json: FinetuneEmbeddingModelRequest,
2980
+ data: None = None,
2981
+ files: None = None,
2982
+ content: None = None,
2983
+ parse_as: Literal["json"] = "json",
2984
+ headers: HeaderTypes | None = None,
2985
+ cookies: CookieTypes | None = None,
2986
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2987
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
2988
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
2989
+ extensions: RequestExtensions | None = None,
2990
+ ) -> FinetunedEmbeddingModelMetadata:
2991
+ """Create a finetuned embedding model."""
2992
+ pass
2993
+
2994
+ @overload
2995
+ def POST(
2996
+ self,
2997
+ path: Literal["/finetuned_embedding_model/{name_or_id}/evaluation"],
2998
+ *,
2999
+ params: PostFinetunedEmbeddingModelByNameOrIdEvaluationParams,
3000
+ json: EmbeddingEvaluationRequest,
3001
+ data: None = None,
3002
+ files: None = None,
3003
+ content: None = None,
3004
+ parse_as: Literal["json"] = "json",
3005
+ headers: HeaderTypes | None = None,
3006
+ cookies: CookieTypes | None = None,
3007
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3008
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3009
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3010
+ extensions: RequestExtensions | None = None,
3011
+ ) -> EmbeddingEvaluationResponse:
3012
+ """Evaluate a finetuned embedding model as a KNN classifier or regressor."""
3013
+ pass
3014
+
3015
+ @overload
3016
+ def POST(
3017
+ self,
3018
+ path: Literal["/pretrained_embedding_model/{model_name}/evaluation"],
3019
+ *,
3020
+ params: PostPretrainedEmbeddingModelByModelNameEvaluationParams,
3021
+ json: EmbeddingEvaluationRequest,
3022
+ data: None = None,
3023
+ files: None = None,
3024
+ content: None = None,
3025
+ parse_as: Literal["json"] = "json",
3026
+ headers: HeaderTypes | None = None,
3027
+ cookies: CookieTypes | None = None,
3028
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3029
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3030
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3031
+ extensions: RequestExtensions | None = None,
3032
+ ) -> EmbeddingEvaluationResponse:
3033
+ """Evaluate a pretrained embedding model as a KNN classifier or regressor."""
3034
+ pass
3035
+
3036
+ @overload
3037
+ def POST(
3038
+ self,
3039
+ path: Literal["/datasource/upload"],
3040
+ *,
3041
+ params: None = None,
3042
+ json: None = None,
3043
+ data: PostDatasourceUploadRequest,
3044
+ files: dict[Literal["files"], FileTypes] | list[tuple[Literal["files"], FileTypes]],
3045
+ content: None = None,
3046
+ parse_as: Literal["json"] = "json",
3047
+ headers: HeaderTypes | None = None,
3048
+ cookies: CookieTypes | None = None,
3049
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3050
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3051
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3052
+ extensions: RequestExtensions | None = None,
3053
+ ) -> DatasourceMetadata:
3054
+ """
3055
+ Create a datasource by uploading files.
3056
+
3057
+ Supports multiple file upload scenarios:
3058
+ - Multiple files: HuggingFace Dataset format (dataset_info.json, state.json, .arrow files, etc.)
3059
+ - Single file: CSV, JSON, JSONL, Parquet, or Pickle files
3060
+ """
3061
+ pass
3062
+
3063
+ @overload
3064
+ def POST(
3065
+ self,
3066
+ path: Literal["/datasource"],
3067
+ *,
3068
+ params: None = None,
3069
+ json: CreateDatasourceFromContentRequest,
3070
+ data: None = None,
3071
+ files: None = None,
3072
+ content: None = None,
3073
+ parse_as: Literal["json"] = "json",
3074
+ headers: HeaderTypes | None = None,
3075
+ cookies: CookieTypes | None = None,
3076
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3077
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3078
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3079
+ extensions: RequestExtensions | None = None,
3080
+ ) -> DatasourceMetadata:
3081
+ """
3082
+ Create a datasource from JSON content.
3083
+
3084
+ Automatically detects and supports multiple JSON formats:
3085
+ - List of records: [{"col1": val1, "col2": val2}, {"col1": val3, "col2": val4}, ...]
3086
+ - Dictionary of columns: {"col1": [val1, val3, ...], "col2": [val2, val4, ...]}
3087
+ """
3088
+ pass
3089
+
3090
+ @overload
3091
+ def POST(
3092
+ self,
3093
+ path: Literal["/classification_model"],
3094
+ *,
3095
+ params: None = None,
3096
+ json: CreateClassificationModelRequest,
3097
+ data: None = None,
3098
+ files: None = None,
3099
+ content: None = None,
3100
+ parse_as: Literal["json"] = "json",
3101
+ headers: HeaderTypes | None = None,
3102
+ cookies: CookieTypes | None = None,
3103
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3104
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3105
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3106
+ extensions: RequestExtensions | None = None,
3107
+ ) -> ClassificationModelMetadata:
3108
+ pass
3109
+
3110
+ @overload
3111
+ def POST(
3112
+ self,
3113
+ path: Literal["/classification_model/{model_name_or_id}/evaluation"],
3114
+ *,
3115
+ params: PostClassificationModelByModelNameOrIdEvaluationParams,
3116
+ json: ClassificationEvaluationRequest,
3117
+ data: None = None,
3118
+ files: None = None,
3119
+ content: None = None,
3120
+ parse_as: Literal["json"] = "json",
3121
+ headers: HeaderTypes | None = None,
3122
+ cookies: CookieTypes | None = None,
3123
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3124
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3125
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3126
+ extensions: RequestExtensions | None = None,
3127
+ ) -> EvaluationResponse:
3128
+ pass
3129
+
3130
+ @overload
3131
+ def POST(
3132
+ self,
3133
+ path: Literal["/regression_model"],
3134
+ *,
3135
+ params: None = None,
3136
+ json: CreateRegressionModelRequest,
3137
+ data: None = None,
3138
+ files: None = None,
3139
+ content: None = None,
3140
+ parse_as: Literal["json"] = "json",
3141
+ headers: HeaderTypes | None = None,
3142
+ cookies: CookieTypes | None = None,
3143
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3144
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3145
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3146
+ extensions: RequestExtensions | None = None,
3147
+ ) -> RegressionModelMetadata:
3148
+ pass
3149
+
3150
+ @overload
3151
+ def POST(
3152
+ self,
3153
+ path: Literal["/regression_model/{model_name_or_id}/evaluation"],
3154
+ *,
3155
+ params: PostRegressionModelByModelNameOrIdEvaluationParams,
3156
+ json: RegressionEvaluationRequest,
3157
+ data: None = None,
3158
+ files: None = None,
3159
+ content: None = None,
3160
+ parse_as: Literal["json"] = "json",
3161
+ headers: HeaderTypes | None = None,
3162
+ cookies: CookieTypes | None = None,
3163
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3164
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3165
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3166
+ extensions: RequestExtensions | None = None,
3167
+ ) -> EvaluationResponse:
3168
+ pass
3169
+
3170
+ @overload
3171
+ def POST(
3172
+ self,
3173
+ path: Literal["/telemetry/prediction"],
3174
+ *,
3175
+ params: None = None,
3176
+ json: ListPredictionsRequest | None = None,
3177
+ data: None = None,
3178
+ files: None = None,
3179
+ content: None = None,
3180
+ parse_as: Literal["json"] = "json",
3181
+ headers: HeaderTypes | None = None,
3182
+ cookies: CookieTypes | None = None,
3183
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3184
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3185
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3186
+ extensions: RequestExtensions | None = None,
3187
+ ) -> list[LabelPredictionWithMemoriesAndFeedback | ScorePredictionWithMemoriesAndFeedback]:
3188
+ """List predictions with optional filtering and sorting."""
3189
+ pass
3190
+
3191
+ @overload
3192
+ def POST(
3193
+ self,
3194
+ path: Literal["/telemetry/prediction/count"],
3195
+ *,
3196
+ params: None = None,
3197
+ json: CountPredictionsRequest | None = None,
3198
+ data: None = None,
3199
+ files: None = None,
3200
+ content: None = None,
3201
+ parse_as: Literal["json"] = "json",
3202
+ headers: HeaderTypes | None = None,
3203
+ cookies: CookieTypes | None = None,
3204
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3205
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3206
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3207
+ extensions: RequestExtensions | None = None,
3208
+ ) -> int:
3209
+ """Count predictions with optional filtering."""
3210
+ pass
3211
+
3212
+ @overload
3213
+ def POST(
3214
+ self,
3215
+ path: Literal["/telemetry/memories"],
3216
+ *,
3217
+ params: None = None,
3218
+ json: TelemetryMemoriesRequest,
3219
+ data: None = None,
3220
+ files: None = None,
3221
+ content: None = None,
3222
+ parse_as: Literal["json"] = "json",
3223
+ headers: HeaderTypes | None = None,
3224
+ cookies: CookieTypes | None = None,
3225
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3226
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3227
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3228
+ extensions: RequestExtensions | None = None,
3229
+ ) -> PaginatedUnionLabeledMemoryWithFeedbackMetricsScoredMemoryWithFeedbackMetrics:
3230
+ """
3231
+ List memories with feedback metrics.
3232
+ **Note**: This endpoint will ONLY return memories that have been used in a prediction.
3233
+ If you want to query ALL memories WITHOUT feedback metrics, use the query_memoryset endpoint.
3234
+ """
3235
+ pass
3236
+
3237
+ @overload
3238
+ def POST(
3239
+ self,
3240
+ path: Literal["/agents/bootstrap_classification_model"],
3241
+ *,
3242
+ params: None = None,
3243
+ json: BootstrapClassificationModelRequest,
3244
+ data: None = None,
3245
+ files: None = None,
3246
+ content: None = None,
3247
+ parse_as: Literal["json"] = "json",
3248
+ headers: HeaderTypes | None = None,
3249
+ cookies: CookieTypes | None = None,
3250
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3251
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3252
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3253
+ extensions: RequestExtensions | None = None,
3254
+ ) -> BootstrapClassificationModelResponse:
3255
+ """
3256
+ Bootstrap a classification model by creating a memoryset with generated memories and a classification model.
3257
+
3258
+ This endpoint uses the bootstrap_classification_model agent to generate:
3259
+ 1. Memoryset configuration with appropriate settings
3260
+ 2. Model configuration with optimal parameters
3261
+ 3. High-quality training memories for each label
3262
+
3263
+ The process involves:
3264
+ 1. Calling the agent to generate configurations and memories
3265
+ 2. Creating a datasource from the generated memories
3266
+ 3. Creating a memoryset from the datasource
3267
+ 4. Creating a classification model from the memoryset
3268
+ """
3269
+ pass
3270
+
3271
+ @overload
3272
+ def POST(
3273
+ self,
3274
+ path: Literal["/gpu/memoryset/{name_or_id}/lookup"],
3275
+ *,
3276
+ params: PostGpuMemorysetByNameOrIdLookupParams,
3277
+ json: LookupRequest,
3278
+ data: None = None,
3279
+ files: None = None,
3280
+ content: None = None,
3281
+ parse_as: Literal["json"] = "json",
3282
+ headers: HeaderTypes | None = None,
3283
+ cookies: CookieTypes | None = None,
3284
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3285
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3286
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3287
+ extensions: RequestExtensions | None = None,
3288
+ ) -> list[list[LabeledMemoryLookup | ScoredMemoryLookup]]:
3289
+ pass
3290
+
3291
+ @overload
3292
+ def POST(
3293
+ self,
3294
+ path: Literal["/gpu/memoryset/{name_or_id}/memory"],
3295
+ *,
3296
+ params: PostGpuMemorysetByNameOrIdMemoryParams,
3297
+ json: PostGpuMemorysetByNameOrIdMemoryRequest,
3298
+ data: None = None,
3299
+ files: None = None,
3300
+ content: None = None,
3301
+ parse_as: Literal["json"] = "json",
3302
+ headers: HeaderTypes | None = None,
3303
+ cookies: CookieTypes | None = None,
3304
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3305
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3306
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3307
+ extensions: RequestExtensions | None = None,
3308
+ ) -> list[str]:
3309
+ pass
3310
+
3311
+ @overload
3312
+ def POST(
3313
+ self,
3314
+ path: Literal["/gpu/classification_model/{name_or_id}/prediction"],
3315
+ *,
3316
+ params: PostGpuClassificationModelByNameOrIdPredictionParams,
3317
+ json: ClassificationPredictionRequest,
3318
+ data: None = None,
3319
+ files: None = None,
3320
+ content: None = None,
3321
+ parse_as: Literal["json"] = "json",
3322
+ headers: HeaderTypes | None = None,
3323
+ cookies: CookieTypes | None = None,
3324
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3325
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3326
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3327
+ extensions: RequestExtensions | None = None,
3328
+ ) -> list[BaseLabelPredictionResult]:
3329
+ pass
3330
+
3331
+ @overload
3332
+ def POST(
3333
+ self,
3334
+ path: Literal["/gpu/regression_model/{name_or_id}/prediction"],
3335
+ *,
3336
+ params: PostGpuRegressionModelByNameOrIdPredictionParams,
3337
+ json: RegressionPredictionRequest,
3338
+ data: None = None,
3339
+ files: None = None,
3340
+ content: None = None,
3341
+ parse_as: Literal["json"] = "json",
3342
+ headers: HeaderTypes | None = None,
3343
+ cookies: CookieTypes | None = None,
3344
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3345
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3346
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3347
+ extensions: RequestExtensions | None = None,
3348
+ ) -> list[BaseScorePredictionResult]:
3349
+ pass
3350
+
3351
+ @overload
3352
+ def POST(
3353
+ self,
3354
+ path: Literal["/gpu/finetuned_embedding_model/{name_or_id}/embedding"],
3355
+ *,
3356
+ params: PostGpuFinetunedEmbeddingModelByNameOrIdEmbeddingParams,
3357
+ json: EmbedRequest,
3358
+ data: None = None,
3359
+ files: None = None,
3360
+ content: None = None,
3361
+ parse_as: Literal["json"] = "json",
3362
+ headers: HeaderTypes | None = None,
3363
+ cookies: CookieTypes | None = None,
3364
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3365
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3366
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3367
+ extensions: RequestExtensions | None = None,
3368
+ ) -> list[list[float]]:
3369
+ """Embed values using a finetuned embedding model."""
3370
+ pass
3371
+
3372
+ @overload
3373
+ def POST(
3374
+ self,
3375
+ path: Literal["/gpu/pretrained_embedding_model/{model_name}/embedding"],
3376
+ *,
3377
+ params: PostGpuPretrainedEmbeddingModelByModelNameEmbeddingParams,
3378
+ json: EmbedRequest,
3379
+ data: None = None,
3380
+ files: None = None,
3381
+ content: None = None,
3382
+ parse_as: Literal["json"] = "json",
3383
+ headers: HeaderTypes | None = None,
3384
+ cookies: CookieTypes | None = None,
3385
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3386
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3387
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3388
+ extensions: RequestExtensions | None = None,
3389
+ ) -> list[list[float]]:
3390
+ """Embed values using a pretrained embedding model."""
3391
+ pass
3392
+
3393
+ def POST(
3394
+ self,
3395
+ path: str,
3396
+ *,
3397
+ params: Mapping[str, Any] | None = None,
3398
+ json: Any | None = None,
3399
+ data: Mapping[str, Any] | None = None,
3400
+ content: RequestContent | None = None,
3401
+ files: dict[Any, FileTypes] | list[tuple[Any, FileTypes]] | None = None,
3402
+ parse_as: Literal["json", "text"] | None = "json",
3403
+ headers: HeaderTypes | None = None,
3404
+ cookies: CookieTypes | None = None,
3405
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3406
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3407
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3408
+ extensions: RequestExtensions | None = None,
3409
+ ) -> Any:
3410
+ path_params, query_params = self._parse_params(params or {}, path)
3411
+ res = self.post(
3412
+ path.format(**path_params),
3413
+ params=query_params,
3414
+ content=content,
3415
+ data=data,
3416
+ files=files,
3417
+ json=json,
3418
+ headers=headers,
3419
+ cookies=cookies,
3420
+ auth=auth,
3421
+ follow_redirects=follow_redirects,
3422
+ timeout=timeout,
3423
+ extensions=extensions,
3424
+ )
3425
+ res.raise_for_status()
3426
+ return (
3427
+ None
3428
+ if res.status_code == 204
3429
+ else res.json() if parse_as == "json" else res.text if parse_as == "text" else res.content
3430
+ )
3431
+
3432
+ @overload
3433
+ def PUT(
3434
+ self,
3435
+ path: Literal["/auth/org/plan"],
3436
+ *,
3437
+ params: None = None,
3438
+ json: UpdateOrgPlanRequest,
3439
+ data: None = None,
3440
+ files: None = None,
3441
+ content: None = None,
3442
+ parse_as: Literal["json"] = "json",
3443
+ headers: HeaderTypes | None = None,
3444
+ cookies: CookieTypes | None = None,
3445
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3446
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3447
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3448
+ extensions: RequestExtensions | None = None,
3449
+ ) -> OrgPlan:
3450
+ """Update the organization plan."""
3451
+ pass
3452
+
3453
+ @overload
3454
+ def PUT(
3455
+ self,
3456
+ path: Literal["/telemetry/prediction/feedback"],
3457
+ *,
3458
+ params: None = None,
3459
+ json: PutTelemetryPredictionFeedbackRequest,
3460
+ data: None = None,
3461
+ files: None = None,
3462
+ content: None = None,
3463
+ parse_as: Literal["json"] = "json",
3464
+ headers: HeaderTypes | None = None,
3465
+ cookies: CookieTypes | None = None,
3466
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3467
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3468
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3469
+ extensions: RequestExtensions | None = None,
3470
+ ) -> PredictionFeedbackResult:
3471
+ """Record feedback for predictions, handling updates, deletions, and insertions."""
3472
+ pass
3473
+
3474
+ def PUT(
3475
+ self,
3476
+ path: str,
3477
+ *,
3478
+ params: Mapping[str, Any] | None = None,
3479
+ json: Any | None = None,
3480
+ data: Mapping[str, Any] | None = None,
3481
+ content: RequestContent | None = None,
3482
+ files: dict[Any, FileTypes] | list[tuple[Any, FileTypes]] | None = None,
3483
+ parse_as: Literal["json", "text"] | None = "json",
3484
+ headers: HeaderTypes | None = None,
3485
+ cookies: CookieTypes | None = None,
3486
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3487
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3488
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3489
+ extensions: RequestExtensions | None = None,
3490
+ ) -> Any:
3491
+ path_params, query_params = self._parse_params(params or {}, path)
3492
+ res = self.put(
3493
+ path.format(**path_params),
3494
+ params=query_params,
3495
+ content=content,
3496
+ data=data,
3497
+ files=files,
3498
+ json=json,
3499
+ headers=headers,
3500
+ cookies=cookies,
3501
+ auth=auth,
3502
+ follow_redirects=follow_redirects,
3503
+ timeout=timeout,
3504
+ extensions=extensions,
3505
+ )
3506
+ res.raise_for_status()
3507
+ return (
3508
+ None
3509
+ if res.status_code == 204
3510
+ else res.json() if parse_as == "json" else res.text if parse_as == "text" else res.content
3511
+ )
3512
+
3513
+ @overload
3514
+ def PATCH(
3515
+ self,
3516
+ path: Literal["/memoryset/{name_or_id}"],
3517
+ *,
3518
+ params: PatchMemorysetByNameOrIdParams,
3519
+ json: MemorysetUpdate,
3520
+ data: None = None,
3521
+ files: None = None,
3522
+ content: None = None,
3523
+ parse_as: Literal["json"] = "json",
3524
+ headers: HeaderTypes | None = None,
3525
+ cookies: CookieTypes | None = None,
3526
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3527
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3528
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3529
+ extensions: RequestExtensions | None = None,
3530
+ ) -> MemorysetMetadata:
3531
+ pass
3532
+
3533
+ @overload
3534
+ def PATCH(
3535
+ self,
3536
+ path: Literal["/classification_model/{name_or_id}"],
3537
+ *,
3538
+ params: PatchClassificationModelByNameOrIdParams,
3539
+ json: PredictiveModelUpdate,
3540
+ data: None = None,
3541
+ files: None = None,
3542
+ content: None = None,
3543
+ parse_as: Literal["json"] = "json",
3544
+ headers: HeaderTypes | None = None,
3545
+ cookies: CookieTypes | None = None,
3546
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3547
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3548
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3549
+ extensions: RequestExtensions | None = None,
3550
+ ) -> ClassificationModelMetadata:
3551
+ pass
3552
+
3553
+ @overload
3554
+ def PATCH(
3555
+ self,
3556
+ path: Literal["/regression_model/{name_or_id}"],
3557
+ *,
3558
+ params: PatchRegressionModelByNameOrIdParams,
3559
+ json: PredictiveModelUpdate,
3560
+ data: None = None,
3561
+ files: None = None,
3562
+ content: None = None,
3563
+ parse_as: Literal["json"] = "json",
3564
+ headers: HeaderTypes | None = None,
3565
+ cookies: CookieTypes | None = None,
3566
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3567
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3568
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3569
+ extensions: RequestExtensions | None = None,
3570
+ ) -> RegressionModelMetadata:
3571
+ pass
3572
+
3573
+ @overload
3574
+ def PATCH(
3575
+ self,
3576
+ path: Literal["/telemetry/prediction/{prediction_id}"],
3577
+ *,
3578
+ params: PatchTelemetryPredictionByPredictionIdParams,
3579
+ json: UpdatePredictionRequest,
3580
+ data: None = None,
3581
+ files: None = None,
3582
+ content: None = None,
3583
+ parse_as: Literal["json"] = "json",
3584
+ headers: HeaderTypes | None = None,
3585
+ cookies: CookieTypes | None = None,
3586
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3587
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3588
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3589
+ extensions: RequestExtensions | None = None,
3590
+ ) -> Any:
3591
+ """Update a prediction with new expected values, tags, or memory ID."""
3592
+ pass
3593
+
3594
+ @overload
3595
+ def PATCH(
3596
+ self,
3597
+ path: Literal["/gpu/memoryset/{name_or_id}/memory"],
3598
+ *,
3599
+ params: PatchGpuMemorysetByNameOrIdMemoryParams,
3600
+ json: PatchGpuMemorysetByNameOrIdMemoryRequest,
3601
+ data: None = None,
3602
+ files: None = None,
3603
+ content: None = None,
3604
+ parse_as: Literal["json"] = "json",
3605
+ headers: HeaderTypes | None = None,
3606
+ cookies: CookieTypes | None = None,
3607
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3608
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3609
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3610
+ extensions: RequestExtensions | None = None,
3611
+ ) -> LabeledMemory | ScoredMemory:
3612
+ pass
3613
+
3614
+ @overload
3615
+ def PATCH(
3616
+ self,
3617
+ path: Literal["/gpu/memoryset/{name_or_id}/memories"],
3618
+ *,
3619
+ params: PatchGpuMemorysetByNameOrIdMemoriesParams,
3620
+ json: PatchGpuMemorysetByNameOrIdMemoriesRequest,
3621
+ data: None = None,
3622
+ files: None = None,
3623
+ content: None = None,
3624
+ parse_as: Literal["json"] = "json",
3625
+ headers: HeaderTypes | None = None,
3626
+ cookies: CookieTypes | None = None,
3627
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3628
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3629
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3630
+ extensions: RequestExtensions | None = None,
3631
+ ) -> list[LabeledMemory] | list[ScoredMemory]:
3632
+ pass
3633
+
3634
+ def PATCH(
3635
+ self,
3636
+ path: str,
3637
+ *,
3638
+ params: Mapping[str, Any] | None = None,
3639
+ json: Any | None = None,
3640
+ data: Mapping[str, Any] | None = None,
3641
+ content: RequestContent | None = None,
3642
+ files: dict[Any, FileTypes] | list[tuple[Any, FileTypes]] | None = None,
3643
+ parse_as: Literal["json", "text"] | None = "json",
3644
+ headers: HeaderTypes | None = None,
3645
+ cookies: CookieTypes | None = None,
3646
+ auth: AuthTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3647
+ follow_redirects: bool | UseClientDefault = USE_CLIENT_DEFAULT,
3648
+ timeout: TimeoutTypes | UseClientDefault = USE_CLIENT_DEFAULT,
3649
+ extensions: RequestExtensions | None = None,
3650
+ ) -> Any:
3651
+ path_params, query_params = self._parse_params(params or {}, path)
3652
+ res = self.patch(
3653
+ path.format(**path_params),
3654
+ params=query_params,
3655
+ content=content,
3656
+ data=data,
3657
+ files=files,
3658
+ json=json,
3659
+ headers=headers,
3660
+ cookies=cookies,
3661
+ auth=auth,
3662
+ follow_redirects=follow_redirects,
3663
+ timeout=timeout,
3664
+ extensions=extensions,
3665
+ )
3666
+ res.raise_for_status()
3667
+ return (
3668
+ None
3669
+ if res.status_code == 204
3670
+ else res.json() if parse_as == "json" else res.text if parse_as == "text" else res.content
3671
+ )
3672
+
3673
+ @staticmethod
3674
+ def _raise_error_for_response(response: Response) -> None:
3675
+ if response.status_code == 401:
3676
+ raise ValueError("Invalid API key")
3677
+ # elif response.status_code == 402:
3678
+ # res = cast(QuotaExceededErrorResponse, json.loads(response.read().decode(response.encoding or "utf-8")))
3679
+ # raise RuntimeError(
3680
+ # f"{res['quota_type'].replace('_', ' ').title()} limit reached ({res['current']}/{res['quota_limit']})"
3681
+ # )
3682
+ elif response.status_code == 403:
3683
+ raise PermissionError(json.loads(response.read().decode(response.encoding or "utf-8"))["reason"])
3684
+ elif response.status_code == 404:
3685
+ res = cast(NotFoundErrorResponse, json.loads(response.read().decode(response.encoding or "utf-8")))
3686
+ if res["resource"] is not None:
3687
+ raise LookupError(f"The {res['resource']} you are looking for does not exist")
3688
+ else:
3689
+ raise RuntimeError(f"Unknown API route: {response.url}")
3690
+ elif response.status_code == 405:
3691
+ raise RuntimeError(f"Unknown method {response.request.method} for API route: {response.url}")
3692
+ elif response.status_code == 409:
3693
+ res = cast(
3694
+ ConstraintViolationErrorResponse, json.loads(response.read().decode(response.encoding or "utf-8"))
3695
+ )
3696
+ raise RuntimeError(res["constraint"])
3697
+ elif response.status_code == 422:
3698
+ res = cast(InvalidInputErrorResponse, json.loads(response.read().decode(response.encoding or "utf-8")))
3699
+ issues = [f"{issue['loc'][-1]}: {issue['msg']}" for issue in res["validation_issues"]]
3700
+ raise ValueError("Invalid input:\n\t" + "\n\t".join(issues))
3701
+ elif response.status_code == 500:
3702
+ res = cast(InternalServerErrorResponse, json.loads(response.read().decode(response.encoding or "utf-8")))
3703
+ raise RuntimeError(f"Unexpected server error: {res['message']}")
3704
+ elif response.status_code == 503:
3705
+ raise RuntimeError("Orca API is currently unavailable, please try again later")
3706
+ elif response.status_code >= 400:
3707
+ raise RuntimeError(f"Unexpected status code: {response.status_code}")
3708
+
3709
+ @staticmethod
3710
+ def _instrument_request(request: Request) -> None:
3711
+ request.headers["X-Request-ID"] = str(uuid.uuid4())
3712
+
3713
+ def __init__(
3714
+ self,
3715
+ *,
3716
+ api_key: str | None = None,
3717
+ base_url: URL | str = "",
3718
+ headers: HeaderTypes | None = None,
3719
+ transport: BaseTransport | None = None,
3720
+ timeout: TimeoutTypes | None = None,
3721
+ limits: Limits | None = None,
3722
+ max_redirects: int = 20,
3723
+ event_hooks: None | (Mapping[str, list[Callable[..., Any]]]) = None,
3724
+ http1: bool = True,
3725
+ http2: bool = False,
3726
+ proxy: str | URL | Proxy | None = None,
3727
+ log_level: int = logging.WARNING,
3728
+ ) -> None:
3729
+ """
3730
+ Initialize an OrcaAPI httpx client
3731
+
3732
+ Params:
3733
+ api_key: API key to use for authentication, will default to ORCA_API_KEY if not set.
3734
+ base_url: URL of the OrcaAPI, will default to ORCA_API_URL or the cloud API URL if not set.
3735
+ """
3736
+ logging.getLogger("httpx").setLevel(log_level)
3737
+ logging.getLogger("httpcore").setLevel(log_level)
3738
+ super().__init__(
3739
+ headers={"Api-Key": api_key or os.environ.get("ORCA_API_KEY", "")} | dict(Headers(headers or {}).items()),
3740
+ http1=http1,
3741
+ http2=http2,
3742
+ proxy=proxy,
3743
+ timeout=timeout or Timeout(connect=3, read=20, write=10, pool=5),
3744
+ follow_redirects=True,
3745
+ limits=limits or Limits(max_connections=100, max_keepalive_connections=20),
3746
+ max_redirects=max_redirects,
3747
+ event_hooks=event_hooks
3748
+ or {"request": [self._instrument_request], "response": [self._raise_error_for_response]},
3749
+ base_url=base_url or os.environ.get("ORCA_API_URL", "https://api.orcadb.ai/"),
3750
+ transport=transport
3751
+ or RetryTransport(
3752
+ transport=HTTPTransport(),
3753
+ retry=Retry(
3754
+ total=5,
3755
+ backoff_factor=0.5,
3756
+ allowed_methods=["GET", "POST", "PUT", "PATCH", "DELETE"],
3757
+ status_forcelist=[429, 500, 502, 503, 504],
3758
+ ),
3759
+ ),
3760
+ )
3761
+
3762
+ @property
3763
+ def api_key(self) -> str:
3764
+ return self.headers["Api-Key"]
3765
+
3766
+ @api_key.setter
3767
+ def api_key(self, api_key: str) -> None:
3768
+ self.headers.update(Headers({"Api-Key": api_key}))
3769
+
3770
+ client_ctx = ContextVar[Self | None]("orca_client", default=None)
3771
+ default_client: Self | None = None
3772
+
3773
+ @contextmanager
3774
+ def use(self) -> Generator[None, None, None]:
3775
+ """Context manager to inject this client into any OrcaSDK methods"""
3776
+ token = self.client_ctx.set(self)
3777
+ try:
3778
+ yield
3779
+ finally:
3780
+ self.client_ctx.reset(token)
3781
+
3782
+ @classmethod
3783
+ def _resolve_client(cls, client: Self | None = None) -> Self:
3784
+ client = client or cls.client_ctx.get() or cls.default_client
3785
+ if not client:
3786
+ client = cls.default_client = cls()
3787
+ return client