orca-sdk 0.0.90__py3-none-any.whl → 0.0.92__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 (29) hide show
  1. orca_sdk/_generated_api_client/api/__init__.py +12 -0
  2. orca_sdk/_generated_api_client/api/classification_model/predict_gpu_classification_model_name_or_id_prediction_post.py +12 -12
  3. orca_sdk/_generated_api_client/api/classification_model/update_model_classification_model_name_or_id_patch.py +183 -0
  4. orca_sdk/_generated_api_client/api/memoryset/batch_delete_memoryset_batch_delete_memoryset_post.py +168 -0
  5. orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +183 -0
  6. orca_sdk/_generated_api_client/models/__init__.py +8 -2
  7. orca_sdk/_generated_api_client/models/{label_prediction_result.py → base_label_prediction_result.py} +24 -9
  8. orca_sdk/_generated_api_client/models/delete_memorysets_request.py +70 -0
  9. orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py +8 -8
  10. orca_sdk/_generated_api_client/models/labeled_memoryset_metadata.py +8 -0
  11. orca_sdk/_generated_api_client/models/labeled_memoryset_update.py +113 -0
  12. orca_sdk/_generated_api_client/models/prediction_request.py +9 -0
  13. orca_sdk/_generated_api_client/models/rac_model_update.py +82 -0
  14. orca_sdk/_shared/__init__.py +1 -0
  15. orca_sdk/_shared/metrics.py +195 -0
  16. orca_sdk/_shared/metrics_test.py +169 -0
  17. orca_sdk/_utils/analysis_ui.py +1 -1
  18. orca_sdk/_utils/analysis_ui_style.css +0 -3
  19. orca_sdk/classification_model.py +191 -23
  20. orca_sdk/classification_model_test.py +75 -22
  21. orca_sdk/conftest.py +13 -1
  22. orca_sdk/embedding_model.py +2 -0
  23. orca_sdk/memoryset.py +13 -0
  24. orca_sdk/memoryset_test.py +27 -6
  25. orca_sdk/telemetry.py +13 -2
  26. orca_sdk/telemetry_test.py +6 -0
  27. {orca_sdk-0.0.90.dist-info → orca_sdk-0.0.92.dist-info}/METADATA +3 -1
  28. {orca_sdk-0.0.90.dist-info → orca_sdk-0.0.92.dist-info}/RECORD +29 -20
  29. {orca_sdk-0.0.90.dist-info → orca_sdk-0.0.92.dist-info}/WHEEL +0 -0
@@ -1,5 +1,6 @@
1
1
  from uuid import uuid4
2
2
 
3
+ import numpy as np
3
4
  import pytest
4
5
  from datasets.arrow_dataset import Dataset
5
6
 
@@ -95,6 +96,17 @@ def test_list_models_unauthorized(unauthorized, model: ClassificationModel):
95
96
  assert ClassificationModel.all() == []
96
97
 
97
98
 
99
+ def test_update_model(model: ClassificationModel):
100
+ model.update_metadata(description="New description")
101
+ assert model.description == "New description"
102
+
103
+
104
+ def test_update_model_no_description(model: ClassificationModel):
105
+ assert model.description is not None
106
+ model.update_metadata(description=None)
107
+ assert model.description is None
108
+
109
+
98
110
  def test_delete_model(memoryset: LabeledMemoryset):
99
111
  ClassificationModel.create("model_to_delete", LabeledMemoryset.open(memoryset.name))
100
112
  assert ClassificationModel.open("model_to_delete")
@@ -127,28 +139,47 @@ def test_delete_memoryset_before_model_constraint_violation(hf_dataset):
127
139
  LabeledMemoryset.drop(memoryset.id)
128
140
 
129
141
 
130
- def test_evaluate(model):
131
- eval_datasource = Datasource.from_list(
132
- "eval_datasource",
133
- [
134
- {"text": "chicken noodle soup is the best", "label": 1},
135
- {"text": "cats are cute", "label": 0},
136
- {"text": "soup is great for the winter", "label": 0},
137
- {"text": "i love cats", "label": 1},
138
- ],
139
- )
140
- result = model.evaluate(eval_datasource, value_column="text")
141
- assert result is not None
142
- assert isinstance(result, dict)
143
- assert isinstance(result["accuracy"], float)
144
- assert isinstance(result["f1_score"], float)
145
- assert isinstance(result["loss"], float)
146
- assert len(result["precision_recall_curve"]["thresholds"]) == 4
147
- assert len(result["precision_recall_curve"]["precisions"]) == 4
148
- assert len(result["precision_recall_curve"]["recalls"]) == 4
149
- assert len(result["roc_curve"]["thresholds"]) == 4
150
- assert len(result["roc_curve"]["false_positive_rates"]) == 4
151
- assert len(result["roc_curve"]["true_positive_rates"]) == 4
142
+ def test_evaluate_combined(model):
143
+ data = [
144
+ {"text": "chicken noodle soup is the best", "label": 1},
145
+ {"text": "cats are cute", "label": 0},
146
+ {"text": "soup is great for the winter", "label": 0},
147
+ {"text": "i love cats", "label": 1},
148
+ ]
149
+
150
+ eval_datasource = Datasource.from_list("eval_datasource", data)
151
+ result_datasource = model.evaluate(eval_datasource, value_column="text")
152
+
153
+ eval_dataset = Dataset.from_list(data)
154
+ result_dataset = model.evaluate(eval_dataset, value_column="text")
155
+
156
+ for result in [result_datasource, result_dataset]:
157
+ assert result is not None
158
+ assert isinstance(result, dict)
159
+ assert isinstance(result["accuracy"], float)
160
+ assert isinstance(result["f1_score"], float)
161
+ assert isinstance(result["loss"], float)
162
+ assert np.allclose(result["accuracy"], 0.5)
163
+ assert np.allclose(result["f1_score"], 0.5)
164
+
165
+ assert isinstance(result["precision_recall_curve"]["thresholds"], list)
166
+ assert isinstance(result["precision_recall_curve"]["precisions"], list)
167
+ assert isinstance(result["precision_recall_curve"]["recalls"], list)
168
+ assert isinstance(result["roc_curve"]["thresholds"], list)
169
+ assert isinstance(result["roc_curve"]["false_positive_rates"], list)
170
+ assert isinstance(result["roc_curve"]["true_positive_rates"], list)
171
+
172
+ assert np.allclose(result["roc_curve"]["thresholds"], [0.0, 0.8155114054679871, 0.834095299243927, 1.0])
173
+ assert np.allclose(result["roc_curve"]["false_positive_rates"], [1.0, 0.5, 0.0, 0.0])
174
+ assert np.allclose(result["roc_curve"]["true_positive_rates"], [1.0, 0.5, 0.5, 0.0])
175
+ assert np.allclose(result["roc_curve"]["auc"], 0.625)
176
+
177
+ assert np.allclose(
178
+ result["precision_recall_curve"]["thresholds"], [0.0, 0.0, 0.8155114054679871, 0.834095299243927]
179
+ )
180
+ assert np.allclose(result["precision_recall_curve"]["precisions"], [0.5, 0.5, 1.0, 1.0])
181
+ assert np.allclose(result["precision_recall_curve"]["recalls"], [1.0, 0.5, 0.5, 0.0])
182
+ assert np.allclose(result["precision_recall_curve"]["auc"], 0.75)
152
183
 
153
184
 
154
185
  def test_evaluate_with_telemetry(model):
@@ -168,6 +199,28 @@ def test_evaluate_with_telemetry(model):
168
199
  def test_predict(model: ClassificationModel, label_names: list[str]):
169
200
  predictions = model.predict(["Do you love soup?", "Are cats cute?"])
170
201
  assert len(predictions) == 2
202
+ assert predictions[0].prediction_id is not None
203
+ assert predictions[1].prediction_id is not None
204
+ assert predictions[0].label == 0
205
+ assert predictions[0].label_name == label_names[0]
206
+ assert 0 <= predictions[0].confidence <= 1
207
+ assert predictions[1].label == 1
208
+ assert predictions[1].label_name == label_names[1]
209
+ assert 0 <= predictions[1].confidence <= 1
210
+
211
+ assert predictions[0].logits is not None
212
+ assert predictions[1].logits is not None
213
+ assert len(predictions[0].logits) == 2
214
+ assert len(predictions[1].logits) == 2
215
+ assert predictions[0].logits[0] > predictions[0].logits[1]
216
+ assert predictions[1].logits[0] < predictions[1].logits[1]
217
+
218
+
219
+ def test_predict_disable_telemetry(model: ClassificationModel, label_names: list[str]):
220
+ predictions = model.predict(["Do you love soup?", "Are cats cute?"], disable_telemetry=True)
221
+ assert len(predictions) == 2
222
+ assert predictions[0].prediction_id is None
223
+ assert predictions[1].prediction_id is None
171
224
  assert predictions[0].label == 0
172
225
  assert predictions[0].label_name == label_names[0]
173
226
  assert 0 <= predictions[0].confidence <= 1
orca_sdk/conftest.py CHANGED
@@ -75,6 +75,16 @@ SAMPLE_DATA = [
75
75
  {"text": "i love cats", "label": 1, "key": "val4", "score": 0.4, "source_id": "s4"},
76
76
  {"text": "everyone loves cats", "label": 1, "key": "val5", "score": 0.5, "source_id": "s5"},
77
77
  {"text": "soup is great for the winter", "label": 0, "key": "val6", "score": 0.6, "source_id": "s6"},
78
+ {"text": "hot soup on a rainy day!", "label": 0, "key": "val7", "score": 0.7, "source_id": "s7"},
79
+ {"text": "cats sleep all day", "label": 1, "key": "val8", "score": 0.8, "source_id": "s8"},
80
+ {"text": "homemade soup recipes", "label": 0, "key": "val9", "score": 0.9, "source_id": "s9"},
81
+ {"text": "cats purr when happy", "label": 1, "key": "val10", "score": 1.0, "source_id": "s10"},
82
+ {"text": "chicken noodle soup is classic", "label": 0, "key": "val11", "score": 1.1, "source_id": "s11"},
83
+ {"text": "kittens are baby cats", "label": 1, "key": "val12", "score": 1.2, "source_id": "s12"},
84
+ {"text": "soup can be served cold too", "label": 0, "key": "val13", "score": 1.3, "source_id": "s13"},
85
+ {"text": "cats have nine lives", "label": 1, "key": "val14", "score": 1.4, "source_id": "s14"},
86
+ {"text": "tomato soup with grilled cheese", "label": 0, "key": "val15", "score": 1.5, "source_id": "s15"},
87
+ {"text": "cats are independent animals", "label": 1, "key": "val16", "score": 1.6, "source_id": "s16"},
78
88
  ]
79
89
 
80
90
 
@@ -113,4 +123,6 @@ def memoryset(datasource) -> LabeledMemoryset:
113
123
 
114
124
  @pytest.fixture(scope="session")
115
125
  def model(memoryset) -> ClassificationModel:
116
- return ClassificationModel.create("test_model", memoryset, num_classes=2, memory_lookup_count=3)
126
+ return ClassificationModel.create(
127
+ "test_model", memoryset, num_classes=2, memory_lookup_count=3, description="test_description"
128
+ )
@@ -100,6 +100,8 @@ class PretrainedEmbeddingModel(_EmbeddingModel, metaclass=_PretrainedEmbeddingMo
100
100
  - **`CDE_SMALL`**: Context-aware CDE small model from Hugging Face ([jxm/cde-small-v1](https://huggingface.co/jxm/cde-small-v1))
101
101
  - **`CLIP_BASE`**: Multi-modal CLIP model from Hugging Face ([sentence-transformers/clip-ViT-L-14](https://huggingface.co/sentence-transformers/clip-ViT-L-14))
102
102
  - **`GTE_BASE`**: Alibaba's GTE model from Hugging Face ([Alibaba-NLP/gte-base-en-v1.5](https://huggingface.co/Alibaba-NLP/gte-base-en-v1.5))
103
+ - **`DISTILBERT`**: DistilBERT embedding model from Hugging Face ([distilbert-base-uncased](https://huggingface.co/distilbert-base-uncased))
104
+ - **`GTE_SMALL`**: GTE-Small embedding model from Hugging Face ([Supabase/gte-small](https://huggingface.co/Supabase/gte-small))
103
105
 
104
106
  Examples:
105
107
  >>> PretrainedEmbeddingModel.CDE_SMALL
orca_sdk/memoryset.py CHANGED
@@ -31,6 +31,7 @@ from ._generated_api_client.api import (
31
31
  query_memoryset,
32
32
  update_memories_gpu,
33
33
  update_memory_gpu,
34
+ update_memoryset,
34
35
  )
35
36
  from ._generated_api_client.models import (
36
37
  CloneLabeledMemorysetRequest,
@@ -51,6 +52,7 @@ from ._generated_api_client.models import (
51
52
  )
52
53
  from ._generated_api_client.models import (
53
54
  LabeledMemorysetMetadata,
55
+ LabeledMemorysetUpdate,
54
56
  LabeledMemoryUpdate,
55
57
  LabeledMemoryUpdateMetadataType0,
56
58
  LabeledMemoryWithFeedbackMetrics,
@@ -797,6 +799,17 @@ class LabeledMemoryset:
797
799
  if if_not_exists == "error":
798
800
  raise
799
801
 
802
+ def update_metadata(self, *, description: str | None = UNSET, label_names: list[str] | None = None):
803
+ """
804
+ Update the metadata of the memoryset
805
+
806
+ Params:
807
+ description: Value to set for the description, defaults to `[UNSET]` if not provided.
808
+ label_names: Value to replace existing label names with, defaults to None if not provided.
809
+ """
810
+ update_memoryset(self.id, body=LabeledMemorysetUpdate(description=description, label_names=label_names))
811
+ self.refresh()
812
+
800
813
  def clone(
801
814
  self,
802
815
  name: str,
@@ -144,6 +144,17 @@ def test_drop_memoryset_unauthorized(unauthorized, memoryset):
144
144
  LabeledMemoryset.drop(memoryset.name)
145
145
 
146
146
 
147
+ def test_update_memoryset_metadata(memoryset: LabeledMemoryset):
148
+ memoryset.update_metadata(description="New description")
149
+ assert memoryset.description == "New description"
150
+
151
+
152
+ def test_update_memoryset_no_description(memoryset: LabeledMemoryset):
153
+ assert memoryset.description is not None
154
+ memoryset.update_metadata(description=None)
155
+ assert memoryset.description is None
156
+
157
+
147
158
  def test_search(memoryset: LabeledMemoryset):
148
159
  memory_lookups = memoryset.search(["i love soup", "cats are cute"])
149
160
  assert len(memory_lookups) == 2
@@ -196,7 +207,7 @@ def test_get_memories_by_id(memoryset: LabeledMemoryset, hf_dataset: Dataset):
196
207
 
197
208
  def test_query_memoryset(memoryset: LabeledMemoryset):
198
209
  memories = memoryset.query(filters=[("label", "==", 1)])
199
- assert len(memories) == 3
210
+ assert len(memories) == 8
200
211
  assert all(memory.label == 1 for memory in memories)
201
212
  assert len(memoryset.query(limit=2)) == 2
202
213
  assert len(memoryset.query(filters=[("metadata.key", "==", "val1")])) == 1
@@ -207,13 +218,20 @@ def test_query_memoryset_with_feedback_metrics(model: ClassificationModel):
207
218
  feedback_name = f"correct_{random.randint(0, 1000000)}"
208
219
  prediction.record_feedback(category=feedback_name, value=prediction.label == 0)
209
220
  memories = prediction.memoryset.query(filters=[("label", "==", 0)], with_feedback_metrics=True)
210
- assert len(memories) == 3
221
+
222
+ # Get the memory_ids that were actually used in the prediction
223
+ used_memory_ids = {memory.memory_id for memory in prediction.memory_lookups}
224
+
225
+ assert len(memories) == 8
211
226
  assert all(memory.label == 0 for memory in memories)
212
227
  for memory in memories:
213
228
  assert memory.feedback_metrics is not None
214
- assert memory.feedback_metrics[feedback_name] is not None
215
- assert memory.feedback_metrics[feedback_name]["avg"] == 1.0
216
- assert memory.feedback_metrics[feedback_name]["count"] == 1
229
+ if memory.memory_id in used_memory_ids:
230
+ assert feedback_name in memory.feedback_metrics
231
+ assert memory.feedback_metrics[feedback_name]["avg"] == 1.0
232
+ assert memory.feedback_metrics[feedback_name]["count"] == 1
233
+ else:
234
+ assert feedback_name not in memory.feedback_metrics or memory.feedback_metrics[feedback_name]["count"] == 0
217
235
  assert isinstance(memory.lookup_count, int)
218
236
 
219
237
 
@@ -237,12 +255,15 @@ def test_query_memoryset_with_feedback_metrics_sort(model: ClassificationModel):
237
255
  prediction.record_feedback(category="positive", value=1.0)
238
256
  prediction2 = model.predict("Do you like cats?")
239
257
  prediction2.record_feedback(category="positive", value=-1.0)
258
+
240
259
  memories = prediction.memoryset.query(
241
260
  filters=[("feedback_metrics.positive.avg", ">=", -1.0)],
242
261
  sort=[("feedback_metrics.positive.avg", "desc")],
243
262
  with_feedback_metrics=True,
244
263
  )
245
- assert len(memories) == prediction.memoryset.length
264
+ assert (
265
+ len(memories) == 6
266
+ ) # there are only 6 out of 16 memories that have a positive feedback metric. Look at SAMPLE_DATA in conftest.py
246
267
  assert memories[0].feedback_metrics["positive"]["avg"] == 1.0
247
268
  assert memories[-1].feedback_metrics["positive"]["avg"] == -1.0
248
269
 
orca_sdk/telemetry.py CHANGED
@@ -128,17 +128,18 @@ class LabelPrediction:
128
128
  explanation: Explanation why the model made the prediction generated by a reasoning agent
129
129
  """
130
130
 
131
- prediction_id: str
131
+ prediction_id: str | None
132
132
  label: int
133
133
  label_name: str | None
134
134
  confidence: float
135
135
  anomaly_score: float | None
136
136
  memoryset: LabeledMemoryset
137
137
  model: ClassificationModel
138
+ logits: list[float] | None
138
139
 
139
140
  def __init__(
140
141
  self,
141
- prediction_id: str,
142
+ prediction_id: str | None,
142
143
  *,
143
144
  label: int,
144
145
  label_name: str | None,
@@ -147,6 +148,7 @@ class LabelPrediction:
147
148
  memoryset: LabeledMemoryset | str,
148
149
  model: ClassificationModel | str,
149
150
  telemetry: LabelPredictionWithMemoriesAndFeedback | None = None,
151
+ logits: list[float] | None = None,
150
152
  ):
151
153
  # for internal use only, do not document
152
154
  from .classification_model import ClassificationModel
@@ -159,6 +161,7 @@ class LabelPrediction:
159
161
  self.memoryset = LabeledMemoryset.open(memoryset) if isinstance(memoryset, str) else memoryset
160
162
  self.model = ClassificationModel.open(model) if isinstance(model, str) else model
161
163
  self.__telemetry = telemetry if telemetry else None
164
+ self.logits = logits
162
165
 
163
166
  def __repr__(self):
164
167
  return (
@@ -327,6 +330,8 @@ class LabelPrediction:
327
330
 
328
331
  def refresh(self):
329
332
  """Refresh the prediction data from the OrcaCloud"""
333
+ if self.prediction_id is None:
334
+ raise ValueError("Cannot refresh prediction with no prediction ID")
330
335
  self.__dict__.update(LabelPrediction.get(self.prediction_id).__dict__)
331
336
 
332
337
  def inspect(self):
@@ -351,6 +356,9 @@ class LabelPrediction:
351
356
  Remove expected label and tags:
352
357
  >>> prediction.update(expected_label=None, tags=None)
353
358
  """
359
+ if self.prediction_id is None:
360
+ raise ValueError("Cannot update prediction with no prediction ID")
361
+
354
362
  update_prediction(
355
363
  prediction_id=self.prediction_id,
356
364
  body=UpdatePredictionRequest(
@@ -431,6 +439,9 @@ class LabelPrediction:
431
439
  Raises:
432
440
  ValueError: If the category is not found.
433
441
  """
442
+ if self.prediction_id is None:
443
+ raise ValueError("Cannot delete feedback with no prediction ID")
444
+
434
445
  record_prediction_feedback(
435
446
  body=[PredictionFeedbackRequest(prediction_id=self.prediction_id, category_name=category, value=None)]
436
447
  )
@@ -7,6 +7,9 @@ from .telemetry import FeedbackCategory, LabelPrediction
7
7
 
8
8
  def test_get_prediction(model: ClassificationModel):
9
9
  predictions = model.predict(["Do you love soup?", "Are cats cute?"])
10
+ assert len(predictions) == 2
11
+ assert predictions[0].prediction_id is not None
12
+ assert predictions[1].prediction_id is not None
10
13
  prediction_with_telemetry = LabelPrediction.get(predictions[0].prediction_id)
11
14
  assert prediction_with_telemetry is not None
12
15
  assert prediction_with_telemetry.label == 0
@@ -15,6 +18,9 @@ def test_get_prediction(model: ClassificationModel):
15
18
 
16
19
  def test_get_predictions(model: ClassificationModel):
17
20
  predictions = model.predict(["Do you love soup?", "Are cats cute?"])
21
+ assert len(predictions) == 2
22
+ assert predictions[0].prediction_id is not None
23
+ assert predictions[1].prediction_id is not None
18
24
  prediction_with_telemetry = LabelPrediction.get([predictions[0].prediction_id, predictions[1].prediction_id])
19
25
  assert len(prediction_with_telemetry) == 2
20
26
  assert prediction_with_telemetry[0].label == 0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: orca_sdk
3
- Version: 0.0.90
3
+ Version: 0.0.92
4
4
  Summary: SDK for interacting with Orca Services
5
5
  License: Apache-2.0
6
6
  Author: Orca DB Inc.
@@ -20,7 +20,9 @@ Requires-Dist: pandas (>=2.2.3,<3.0.0)
20
20
  Requires-Dist: pyarrow (>=18.0.0,<19.0.0)
21
21
  Requires-Dist: python-dateutil (>=2.8.0,<3.0.0)
22
22
  Requires-Dist: python-dotenv (>=1.1.0,<2.0.0)
23
+ Requires-Dist: scikit-learn (>=1.6.1,<2.0.0)
23
24
  Requires-Dist: torch (>=2.5.1,<3.0.0)
25
+ Requires-Dist: transformers (>=4.51.3,<5.0.0)
24
26
  Description-Content-Type: text/markdown
25
27
 
26
28
  <!--
@@ -1,6 +1,6 @@
1
1
  orca_sdk/__init__.py,sha256=n0csZZlmu18cSj9aelY0SGIMoM4ymz0Wx00RK2GN8jQ,783
2
2
  orca_sdk/_generated_api_client/__init__.py,sha256=2-BPUe-gQ4yMDdxcfBZ1PEHKn-te41oFdKgrzK29JV0,69
3
- orca_sdk/_generated_api_client/api/__init__.py,sha256=ZRDDuxlvospBaHw1terN5R0rn0oCqYKuF3oZlm2EeTU,8739
3
+ orca_sdk/_generated_api_client/api/__init__.py,sha256=4oVjtFRCqyyenbFtaOOIyKZ8q9wQ0drWrsTu4Iy9VKE,9123
4
4
  orca_sdk/_generated_api_client/api/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  orca_sdk/_generated_api_client/api/auth/check_authentication_auth_get.py,sha256=lARAAY0SCTCBUPRo9r31yGoJZ2RklwaqD6kQBnsXfsY,3900
6
6
  orca_sdk/_generated_api_client/api/auth/create_api_key_auth_api_key_post.py,sha256=HeSjn9M8vplZdoeZE8jYyHq_s_chx4ElwF6FZptI_f4,4570
@@ -16,7 +16,8 @@ orca_sdk/_generated_api_client/api/classification_model/get_evaluation_classific
16
16
  orca_sdk/_generated_api_client/api/classification_model/get_model_classification_model_name_or_id_get.py,sha256=uBHruAml_-OMc4Kbea5IRflSFaQ7-tsoS39An3emWPg,4197
17
17
  orca_sdk/_generated_api_client/api/classification_model/list_evaluations_classification_model_model_name_or_id_evaluation_get.py,sha256=KXMubRx5bb4u34YFPns1J16pLrBcjMhfHBQb_JafDtk,4642
18
18
  orca_sdk/_generated_api_client/api/classification_model/list_models_classification_model_get.py,sha256=_FtzkjWfI779k-0XR5IbIjcJJgASoqK-BEiJ1bOJ-HQ,3958
19
- orca_sdk/_generated_api_client/api/classification_model/predict_gpu_classification_model_name_or_id_prediction_post.py,sha256=lp51nIxkS92H1POTYVo0iJA1Qtzcpw9Va9GaNiXvrzw,5260
19
+ orca_sdk/_generated_api_client/api/classification_model/predict_gpu_classification_model_name_or_id_prediction_post.py,sha256=ziaD5QyfJ8HNx3FMbkDGnS30-MIxyHw8eej-rpjpFAM,5313
20
+ orca_sdk/_generated_api_client/api/classification_model/update_model_classification_model_name_or_id_patch.py,sha256=QXE5-veE5qItZro2wsI6dlYc8vUVzfdAV14T0Vn6VpA,4813
20
21
  orca_sdk/_generated_api_client/api/datasource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
22
  orca_sdk/_generated_api_client/api/datasource/create_datasource_datasource_post.py,sha256=jyPUm6NwkFJwjOxbW2JcdRsyCWaXGI9jlz0HGKypdhs,4593
22
23
  orca_sdk/_generated_api_client/api/datasource/create_embedding_evaluation_datasource_name_or_id_embedding_evaluation_post.py,sha256=WToK2pv4E6FVKxxaX8tTqTpzdwuraZ4b9cuhD2Ky5JY,5158
@@ -36,6 +37,7 @@ orca_sdk/_generated_api_client/api/finetuned_embedding_model/get_finetuned_embed
36
37
  orca_sdk/_generated_api_client/api/finetuned_embedding_model/list_finetuned_embedding_models_finetuned_embedding_model_get.py,sha256=YkmX6bCKOgbp2omu17xdYbjJILW5evAGIcfkS3vrF0Q,4239
37
38
  orca_sdk/_generated_api_client/api/memoryset/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
39
  orca_sdk/_generated_api_client/api/memoryset/analyze_memoryset_memoryset_name_or_id_analysis_post.py,sha256=xPnr62oA91KGK4GuwO_aUt7VPYop92eXHXnFGhDyxBo,5057
40
+ orca_sdk/_generated_api_client/api/memoryset/batch_delete_memoryset_batch_delete_memoryset_post.py,sha256=4PS0cTGRQD7c5wK2QGi9GyT75c_W-8QPivUlysI0_0c,4384
39
41
  orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py,sha256=Uq12BYSjSwNVCXDzykZqCxm8cDA8JNnx9f5YEOFMY1Q,4995
40
42
  orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py,sha256=n9v5_7UA8xM3_1_rN6Ga-s_2o6BvWwcd4tvDqJYeMAU,4654
41
43
  orca_sdk/_generated_api_client/api/memoryset/delete_memories_memoryset_name_or_id_memories_delete_post.py,sha256=s0-iV9ak8Jw_K3H9ZCUQ4YKrRpRYxFFJHUeTXrxI7p0,4688
@@ -53,6 +55,7 @@ orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryse
53
55
  orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py,sha256=AZuWJjzVX4Q5rEhuByGMdd3eIlkijUHTyB4NsevCg3U,5110
54
56
  orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py,sha256=830keCUt7CaGsd0TlxPK_TuhiMTVQKhFobRpJGVzq9I,5284
55
57
  orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py,sha256=cbfnljmpDMto1dRcrhZDxLJRXYeCMvaZjas9mzA51w8,5144
58
+ orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py,sha256=VxXtTAl_NDMJYOEOnAEZw8yqhP0w-ADtXGmYbsnfAdk,5010
56
59
  orca_sdk/_generated_api_client/api/pretrained_embedding_model/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
60
  orca_sdk/_generated_api_client/api/pretrained_embedding_model/embed_with_pretrained_model_gpu_pretrained_embedding_model_model_name_embedding_post.py,sha256=tympCL-Lr_9DE5MzwD5qafLMsJ7Vbh6iSnS6IXu-qM4,5643
58
61
  orca_sdk/_generated_api_client/api/pretrained_embedding_model/get_pretrained_embedding_model_pretrained_embedding_model_model_name_get.py,sha256=k5nJ3FeiQHxjsoUBIvlHmZkIuOX5wONjSQZ3ZtjoX9s,5128
@@ -74,10 +77,11 @@ orca_sdk/_generated_api_client/api/telemetry/record_prediction_feedback_telemetr
74
77
  orca_sdk/_generated_api_client/api/telemetry/update_prediction_telemetry_prediction_prediction_id_patch.py,sha256=l94sgnNg4IkhigmFmx3gpeTA6pl-WwdFZmsNCWX2hw0,4779
75
78
  orca_sdk/_generated_api_client/client.py,sha256=fPYjw_Y3Q2xbosRZAHb5hlOuV4KqIfHgFtEnJx1Yce8,8430
76
79
  orca_sdk/_generated_api_client/errors.py,sha256=jgL5oFlxjCNjjxWNpaFtFMqNxrG8TK6jpk5bZDvWeRM,1853
77
- orca_sdk/_generated_api_client/models/__init__.py,sha256=iN3d4XUWtbVPELHAZcHlSfFu-NjYb3OiK_dMNt89gW0,10454
80
+ orca_sdk/_generated_api_client/models/__init__.py,sha256=3fjbYdRtS5POw4Ce2FfBdnUqaVU4YRhj2iCy4wOJbvQ,10719
78
81
  orca_sdk/_generated_api_client/models/analyze_neighbor_labels_result.py,sha256=n5xhKNRx_QaAmXgveWSwLRlAjTHkuEGiH0-Vr1H6RsY,4256
79
82
  orca_sdk/_generated_api_client/models/api_key_metadata.py,sha256=jQrSe_X5hCgFYh8PwX-X0M6VINVGVhLBlKmv4qN5otA,3789
80
83
  orca_sdk/_generated_api_client/models/api_key_metadata_scope_item.py,sha256=umhWzrAt0ZEI9B7pLpnOEsc5Kc-dxeJdzHX7iHyjt4I,182
84
+ orca_sdk/_generated_api_client/models/base_label_prediction_result.py,sha256=wJBkJcUdI588tOXimOZ6lBIFGPAaStBrOC84m4-8CIw,3828
81
85
  orca_sdk/_generated_api_client/models/base_model.py,sha256=0UY9I_q-b6kOG0LYcw_C192PKRfmejYX9rZa7POCrTc,1563
82
86
  orca_sdk/_generated_api_client/models/body_create_datasource_datasource_post.py,sha256=w5Ni3zFPMTf8XYsH-EZmlokx7vV0vpQiSnbXlktoQBY,6713
83
87
  orca_sdk/_generated_api_client/models/classification_evaluation_result.py,sha256=mdSZjv7qy6OreEjwNTV_VpfoeuZHdrnlCG8sr0elhoo,4715
@@ -94,6 +98,7 @@ orca_sdk/_generated_api_client/models/create_labeled_memoryset_request.py,sha256
94
98
  orca_sdk/_generated_api_client/models/create_rac_model_request.py,sha256=Tk8krUbG6Tmfmcc3MKY0EwD8a85XzgO2lAC-IBYGBV8,8001
95
99
  orca_sdk/_generated_api_client/models/datasource_metadata.py,sha256=uS2jW-27_d1rKCcXg0aiyQGk1SSmCsQ0BY1d4b4lwT8,4210
96
100
  orca_sdk/_generated_api_client/models/delete_memories_request.py,sha256=uWObb--wIB1c7qWyrLur0-k1nvBHzAfA1imNTwOE0AU,1964
101
+ orca_sdk/_generated_api_client/models/delete_memorysets_request.py,sha256=Pv5vdnSYQ1D30pHD6y8o2UpJ2QsrOn29VXHXen5_Wb8,2004
97
102
  orca_sdk/_generated_api_client/models/embed_request.py,sha256=mi02ubEUwhRVrX3y_LOj25Q_Uq-fC4RgKI2rd7SyqSI,4062
98
103
  orca_sdk/_generated_api_client/models/embedding_evaluation_request.py,sha256=YLQo4SU8EG5preClJKxPnO8x9w1BqghLVe4jypURjoY,6351
99
104
  orca_sdk/_generated_api_client/models/embedding_evaluation_response.py,sha256=-0WG4ve2dt3TNfZcHWCNf2CHrTZKfvM6UkkkZqzXUm4,4428
@@ -116,8 +121,7 @@ orca_sdk/_generated_api_client/models/internal_server_error_response.py,sha256=R
116
121
  orca_sdk/_generated_api_client/models/label_class_metrics.py,sha256=Q3vWLw8F_IdwAwhunLp0f_l7PvP1gZN1XGCZQRJtbAY,3144
117
122
  orca_sdk/_generated_api_client/models/label_prediction_memory_lookup.py,sha256=DEwdX5532kHRpsKJe3wOgUWUTZOdeaJV30XvsI8dyOI,6005
118
123
  orca_sdk/_generated_api_client/models/label_prediction_memory_lookup_metadata.py,sha256=bsXtXEf25ch5qAdpnXWSi2qzCkQPZ4xhKcHWMxlgOhQ,2338
119
- orca_sdk/_generated_api_client/models/label_prediction_result.py,sha256=9KjonURhsmImFD1Gpi3fitjIdZ3-9S55ObvCdCk9NSg,3338
120
- orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py,sha256=fa0djMjPuJkEwRlRvmLiVHEJHraNfNxoANC0ACwC-ZQ,9004
124
+ orca_sdk/_generated_api_client/models/label_prediction_with_memories_and_feedback.py,sha256=ZxmUTIY02_eZz5EeO6xwehFyS4yYzt_Nw3v0pEbTclQ,9004
121
125
  orca_sdk/_generated_api_client/models/labeled_memory.py,sha256=BYG1PqvL3FXKQCuBTg3pLwIgA0Uv8KU5YoxvdR2zZxg,5205
122
126
  orca_sdk/_generated_api_client/models/labeled_memory_insert.py,sha256=O3rgrloH3eu9YPzP7X1AKRfq6wxx9Eznl_prpRiMVVM,3768
123
127
  orca_sdk/_generated_api_client/models/labeled_memory_insert_metadata.py,sha256=b9T8i61YUIkNpbJzLwUztfUGNqwRzYJ51RfFpukNS5I,2295
@@ -130,7 +134,8 @@ orca_sdk/_generated_api_client/models/labeled_memory_update_metadata_type_0.py,s
130
134
  orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics.py,sha256=pr2cM9z2F4iAMW6N38xGCYD_fr8R5co70-p0TVRN94w,6307
131
135
  orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_feedback_metrics.py,sha256=qSUl04WibCHV-1yoytEW2TI5in2cf1HCerpOJ8wej3w,2272
132
136
  orca_sdk/_generated_api_client/models/labeled_memory_with_feedback_metrics_metadata.py,sha256=wYnU5KuMTlUwIxpbrCe4obx40h_-FJExxoCOMd0-Qik,2366
133
- orca_sdk/_generated_api_client/models/labeled_memoryset_metadata.py,sha256=x-o5h1zymo9Wn-ae4Wh1d1eafDs7PUcN4kjztGA6lXg,7326
137
+ orca_sdk/_generated_api_client/models/labeled_memoryset_metadata.py,sha256=1GiEJSXBA6VnUoLYSNk2f5Zxyj8bi_kWvUGOUzHNKyQ,7669
138
+ orca_sdk/_generated_api_client/models/labeled_memoryset_update.py,sha256=xd5obMpcK1zZiU-q4xQUbrWnkaIi176gcjZTBoAMlpQ,3586
134
139
  orca_sdk/_generated_api_client/models/list_memories_request.py,sha256=ZPp2FR8-tNMc9eAmErAHEpLf2xrvI_6NtGldSQfAfe4,3091
135
140
  orca_sdk/_generated_api_client/models/list_predictions_request.py,sha256=I20mJhJhx-sIeFeK1WNbmaTI07U2lhS840pURBZdYGo,9976
136
141
  orca_sdk/_generated_api_client/models/lookup_request.py,sha256=RjYYAwUCRlb3vsXycBKed3Jj5LFcO-FGvfoo9IKIJMM,2156
@@ -161,13 +166,14 @@ orca_sdk/_generated_api_client/models/prediction_feedback.py,sha256=wigdEfcKnuGr
161
166
  orca_sdk/_generated_api_client/models/prediction_feedback_category.py,sha256=qlaU7wRFtgNQt-hsTwZvt0uPtFJepv0v4TPFP19N00E,3031
162
167
  orca_sdk/_generated_api_client/models/prediction_feedback_request.py,sha256=uhtjJ5y4H4tTAQGqzYY5RzzSsntXsb2EP3dxzjnfIYE,3812
163
168
  orca_sdk/_generated_api_client/models/prediction_feedback_result.py,sha256=uFqV0S9opm6fkcMo1cVS4rXTXHY259YvacRUKtfbGl0,3317
164
- orca_sdk/_generated_api_client/models/prediction_request.py,sha256=SOsgkkHBEOitdkTRvS7aeIUkmLcxSbVZEWpZHia0kw4,5929
169
+ orca_sdk/_generated_api_client/models/prediction_request.py,sha256=aUJaAzeOIXLyMklVHRqGIuq5hTgxHrJVB8DdHicum8w,6315
165
170
  orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_0.py,sha256=Q9RNooVV_he9I9J20ugXylFQPYIuBLfVX2d9XJha6VI,226
166
171
  orca_sdk/_generated_api_client/models/prediction_sort_item_item_type_1.py,sha256=iW6iIk_mpkkPFaxDcyLfkRQ75vrAMlEap_7hp4263pE,166
167
172
  orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py,sha256=XMHvBdeGpbSn7ZPJaBVT3QeNa2lVD1zioyj9X957wmo,2928
168
173
  orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py,sha256=LZ1TBDL7zXL2J8rk7xpa1itt3tKQQiPDovrKSDvHgI4,273
169
174
  orca_sdk/_generated_api_client/models/rac_head_type.py,sha256=mMeQ0g9ZuUCa-oCx9emSDlq05YCf7uh1RcgDeKSucxM,184
170
175
  orca_sdk/_generated_api_client/models/rac_model_metadata.py,sha256=cmXA7E5VcqRNCTUDfKYhtWKsVsbo0xLKKqpfR9HSRrU,6067
176
+ orca_sdk/_generated_api_client/models/rac_model_update.py,sha256=2axwQxsSGp5ch_BEY4P5jh6Czy5oFMtsSm19EZLMIPI,2428
171
177
  orca_sdk/_generated_api_client/models/roc_curve.py,sha256=l18eUqhOubf8ape6n3OH0N8ih3iqyv0JG4_Xl2LEeT8,2705
172
178
  orca_sdk/_generated_api_client/models/service_unavailable_error_response.py,sha256=NdUNAuf1MbdoIvvNd2PYUPMGg5YdZG3AaaEXL6LU7JU,2330
173
179
  orca_sdk/_generated_api_client/models/task.py,sha256=zdd8du5YfnHBAdp6tCKT-qjhpGRmc_i4LgmNEFZLyE4,5623
@@ -184,9 +190,12 @@ orca_sdk/_generated_api_client/models/unauthorized_error_response.py,sha256=Sr-p
184
190
  orca_sdk/_generated_api_client/models/update_prediction_request.py,sha256=HMPq_K0MlQY7beWn73LEhgjUNcBEjqGC8oFlB9t9em0,3573
185
191
  orca_sdk/_generated_api_client/py.typed,sha256=8ZJUsxZiuOy1oJeVhsTWQhTG_6pTVHVXk5hJL79ebTk,25
186
192
  orca_sdk/_generated_api_client/types.py,sha256=j7-uA7wWwN1cq0d7ULccN4vDm-1IzgnrxSyVktxvABM,1399
193
+ orca_sdk/_shared/__init__.py,sha256=aXGbM6K8IN5V_7bPeTQZE2CZedV1i1IkynS7swq8D7k,89
194
+ orca_sdk/_shared/metrics.py,sha256=FNGOSfZke3AVCf-j7FdYcq7nmH68RJ0SqD0r_LsLjeY,7565
195
+ orca_sdk/_shared/metrics_test.py,sha256=Udv_JsHbYFYtP2W7iFHgnafOciD03te25qvrX9PUaQ8,5522
187
196
  orca_sdk/_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
188
- orca_sdk/_utils/analysis_ui.py,sha256=DE_fO1XE1KGEqhZRgmXrwVKi-ZRVSkgD80FqrkSsV_s,9262
189
- orca_sdk/_utils/analysis_ui_style.css,sha256=OhbSsOaz1d-v8CIxKDsFO0hVVk2Afx6WOAz2KzA8EwQ,874
197
+ orca_sdk/_utils/analysis_ui.py,sha256=2ADUOxbLTcY0sYOpHeReTr13sQ7Yu4kZQ66RDeUuWZw,9216
198
+ orca_sdk/_utils/analysis_ui_style.css,sha256=q_ba_-_KtgztepHg829zLzypaxKayl7ySC1-oYDzV3k,836
190
199
  orca_sdk/_utils/auth.py,sha256=9nLgcuw5B9BCkThN8Qhyq0TeJAyaRSK4bLbOsZCDIqg,2793
191
200
  orca_sdk/_utils/auth_test.py,sha256=ygVWv1Ex53LaxIP7p2hzPHl8l9qYyBD5IGmEFJMps6s,1056
192
201
  orca_sdk/_utils/common.py,sha256=wUm2pNDWytEecC5WiDWd02-yCZw3Akx0bIutG4lHsFA,805
@@ -197,19 +206,19 @@ orca_sdk/_utils/prediction_result_ui.py,sha256=dudc21ka2Bqdtr_8wQaMVFxLGvrsZxWUZ
197
206
  orca_sdk/_utils/task.py,sha256=WOfFuRCoh6QHVDDYrGeq3Hi6NVihQQZJii0cBCONOWk,2400
198
207
  orca_sdk/_utils/value_parser.py,sha256=c3qMABCCDQcIjn9N1orYYnlRwDW9JWdGwW_2TDZPLdI,1286
199
208
  orca_sdk/_utils/value_parser_test.py,sha256=OybsiC-Obi32RRi9NIuwrVBRAnlyPMV1xVAaevSrb7M,1079
200
- orca_sdk/classification_model.py,sha256=unVu-76Fa7fY_ehZv6PBdzibhDzC5pcjJpLF5Is3kU0,20861
201
- orca_sdk/classification_model_test.py,sha256=6yEQM6dMmNY-RkdpVu2aVLX_YfW0nPfSx9mUg32qni4,10763
202
- orca_sdk/conftest.py,sha256=zHu6mwlDh2P5seVR864Ij2166PNjetjTaDsHZigFGts,3581
209
+ orca_sdk/classification_model.py,sha256=j3b277NGeF2kDehwPN7s95KkEyjafvH52ip9t-dRFPk,26439
210
+ orca_sdk/classification_model_test.py,sha256=gbqyjjnwVZB_Z7IHLIVJ7U3jY-xdKag9hIXULDelVqQ,13272
211
+ orca_sdk/conftest.py,sha256=_7O6yVccU-_zteUTCX3j7j7ZfyKNBD7nYL-G8ln6qXY,4661
203
212
  orca_sdk/credentials.py,sha256=gq_4w_o-igCCLNR6TY1x4RzMYysKUCsXJvdi6nem-A0,3558
204
213
  orca_sdk/credentials_test.py,sha256=ETTyDZ9MEpb_X6yiRcgYGWNKCB2QZ5CLYB_unRGg1b8,1028
205
214
  orca_sdk/datasource.py,sha256=zdkA32FYY8XuWHMUBjgMDFtuEspdtl0-iTOMOHic90w,13733
206
215
  orca_sdk/datasource_test.py,sha256=5zRew9Wi05cPJj-xSF0PwRZ8oDaaO5MhqJojlfqT5p4,3158
207
- orca_sdk/embedding_model.py,sha256=EtVoK3GEPp53h6nLohdOdHeGbmOoPB9ZBT1Vx561PrQ,13909
216
+ orca_sdk/embedding_model.py,sha256=Hw8NlwzWVK5ts8SF0lHIs7hL38hCTreEiIyoqHY-OFA,14187
208
217
  orca_sdk/embedding_model_test.py,sha256=j6uGu9ZJSafDV7uFiJiG8SZVGvPQBgxxDcg7i1xbWho,6914
209
- orca_sdk/memoryset.py,sha256=NX31cPfdG_a7A9aw0Op_1T1FGwDvpV33XKgDEwGHOPI,55479
210
- orca_sdk/memoryset_test.py,sha256=7X_b6HNq28kZdyvMxYUtiajrWoXm0Z0B4qoUWpx3cFU,14296
211
- orca_sdk/telemetry.py,sha256=Nz8fSDR6EUeNfGpe50I98REyNnqR9vJulBMfd9skIE0,15921
212
- orca_sdk/telemetry_test.py,sha256=p76MHP2LEMHQ4ssCbd3ImPyt_CoULiwi13FoOvkAV1w,4785
213
- orca_sdk-0.0.90.dist-info/METADATA,sha256=jTJ2GTd2n_hnWybPOZIaWCmmXGQgUVgNc0v4YuWDMQ0,3138
214
- orca_sdk-0.0.90.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
215
- orca_sdk-0.0.90.dist-info/RECORD,,
218
+ orca_sdk/memoryset.py,sha256=xvaNn3YwG3fzk3MZhk3LeX_K5yRKP-yRf79bIAUBR-Y,56058
219
+ orca_sdk/memoryset_test.py,sha256=w8-2RXFePg1pqC67uMpHSevjnW4P0GbNpqRjJXAmIa0,15122
220
+ orca_sdk/telemetry.py,sha256=U53NI7_D1IpWqdV8NYuUrwvhpX0CF_PJvRRvOiFekno,16393
221
+ orca_sdk/telemetry_test.py,sha256=7JfS0k7r9STMCkasCjXWL3KmbrdmVjVnFeYPCdT8jqQ,5059
222
+ orca_sdk-0.0.92.dist-info/METADATA,sha256=W1Ee5mRfJQH03lS5XQAztQC1cE4gupmRJaibugGAcrs,3229
223
+ orca_sdk-0.0.92.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
224
+ orca_sdk-0.0.92.dist-info/RECORD,,