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