orca-sdk 0.0.93__py3-none-any.whl → 0.0.95__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. orca_sdk/__init__.py +13 -4
  2. orca_sdk/_generated_api_client/api/__init__.py +84 -34
  3. orca_sdk/_generated_api_client/api/classification_model/create_classification_model_classification_model_post.py +170 -0
  4. orca_sdk/_generated_api_client/api/classification_model/{get_model_classification_model_name_or_id_get.py → delete_classification_model_classification_model_name_or_id_delete.py} +20 -20
  5. orca_sdk/_generated_api_client/api/classification_model/{delete_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py → delete_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_delete.py} +4 -4
  6. orca_sdk/_generated_api_client/api/classification_model/{create_evaluation_classification_model_model_name_or_id_evaluation_post.py → evaluate_classification_model_classification_model_model_name_or_id_evaluation_post.py} +14 -14
  7. orca_sdk/_generated_api_client/api/classification_model/get_classification_model_classification_model_name_or_id_get.py +156 -0
  8. orca_sdk/_generated_api_client/api/classification_model/{get_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py → get_classification_model_evaluation_classification_model_model_name_or_id_evaluation_task_id_get.py} +16 -16
  9. orca_sdk/_generated_api_client/api/classification_model/{list_evaluations_classification_model_model_name_or_id_evaluation_get.py → list_classification_model_evaluations_classification_model_model_name_or_id_evaluation_get.py} +16 -16
  10. orca_sdk/_generated_api_client/api/classification_model/list_classification_models_classification_model_get.py +127 -0
  11. orca_sdk/_generated_api_client/api/classification_model/{predict_gpu_classification_model_name_or_id_prediction_post.py → predict_label_gpu_classification_model_name_or_id_prediction_post.py} +14 -14
  12. orca_sdk/_generated_api_client/api/classification_model/update_classification_model_classification_model_name_or_id_patch.py +183 -0
  13. orca_sdk/_generated_api_client/api/datasource/download_datasource_datasource_name_or_id_download_get.py +172 -0
  14. orca_sdk/_generated_api_client/api/memoryset/clone_memoryset_memoryset_name_or_id_clone_post.py +22 -22
  15. orca_sdk/_generated_api_client/api/memoryset/create_memoryset_memoryset_post.py +22 -22
  16. orca_sdk/_generated_api_client/api/memoryset/get_memories_memoryset_name_or_id_memories_get_post.py +38 -16
  17. orca_sdk/_generated_api_client/api/memoryset/get_memory_memoryset_name_or_id_memory_memory_id_get.py +29 -12
  18. orca_sdk/_generated_api_client/api/memoryset/get_memoryset_memoryset_name_or_id_get.py +12 -12
  19. orca_sdk/_generated_api_client/api/memoryset/insert_memories_gpu_memoryset_name_or_id_memory_post.py +17 -14
  20. orca_sdk/_generated_api_client/api/memoryset/list_memorysets_memoryset_get.py +72 -19
  21. orca_sdk/_generated_api_client/api/memoryset/memoryset_lookup_gpu_memoryset_name_or_id_lookup_post.py +31 -12
  22. orca_sdk/_generated_api_client/api/memoryset/potential_duplicate_groups_memoryset_name_or_id_potential_duplicate_groups_get.py +49 -20
  23. orca_sdk/_generated_api_client/api/memoryset/query_memoryset_memoryset_name_or_id_memories_post.py +38 -16
  24. orca_sdk/_generated_api_client/api/memoryset/update_memories_gpu_memoryset_name_or_id_memories_patch.py +54 -29
  25. orca_sdk/_generated_api_client/api/memoryset/update_memory_gpu_memoryset_name_or_id_memory_patch.py +44 -26
  26. orca_sdk/_generated_api_client/api/memoryset/update_memoryset_memoryset_name_or_id_patch.py +22 -22
  27. orca_sdk/_generated_api_client/api/predictive_model/__init__.py +0 -0
  28. orca_sdk/_generated_api_client/api/predictive_model/list_predictive_models_predictive_model_get.py +150 -0
  29. orca_sdk/_generated_api_client/api/regression_model/__init__.py +0 -0
  30. orca_sdk/_generated_api_client/api/{classification_model/create_model_classification_model_post.py → regression_model/create_regression_model_regression_model_post.py} +27 -27
  31. orca_sdk/_generated_api_client/api/regression_model/delete_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_delete.py +168 -0
  32. orca_sdk/_generated_api_client/api/{classification_model/delete_model_classification_model_name_or_id_delete.py → regression_model/delete_regression_model_regression_model_name_or_id_delete.py} +5 -5
  33. orca_sdk/_generated_api_client/api/regression_model/evaluate_regression_model_regression_model_model_name_or_id_evaluation_post.py +183 -0
  34. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_evaluation_regression_model_model_name_or_id_evaluation_task_id_get.py +170 -0
  35. orca_sdk/_generated_api_client/api/regression_model/get_regression_model_regression_model_name_or_id_get.py +156 -0
  36. orca_sdk/_generated_api_client/api/regression_model/list_regression_model_evaluations_regression_model_model_name_or_id_evaluation_get.py +161 -0
  37. orca_sdk/_generated_api_client/api/{classification_model/list_models_classification_model_get.py → regression_model/list_regression_models_regression_model_get.py} +17 -17
  38. orca_sdk/_generated_api_client/api/regression_model/predict_score_gpu_regression_model_name_or_id_prediction_post.py +190 -0
  39. orca_sdk/_generated_api_client/api/{classification_model/update_model_classification_model_name_or_id_patch.py → regression_model/update_regression_model_regression_model_name_or_id_patch.py} +27 -27
  40. orca_sdk/_generated_api_client/api/task/get_task_task_task_id_get.py +156 -0
  41. orca_sdk/_generated_api_client/api/task/list_tasks_task_get.py +60 -10
  42. orca_sdk/_generated_api_client/api/telemetry/count_predictions_telemetry_prediction_count_post.py +10 -10
  43. orca_sdk/_generated_api_client/api/telemetry/get_prediction_telemetry_prediction_prediction_id_get.py +35 -12
  44. orca_sdk/_generated_api_client/api/telemetry/list_memories_with_feedback_telemetry_memories_post.py +20 -12
  45. orca_sdk/_generated_api_client/api/telemetry/list_predictions_telemetry_prediction_post.py +35 -12
  46. orca_sdk/_generated_api_client/models/__init__.py +90 -24
  47. orca_sdk/_generated_api_client/models/base_score_prediction_result.py +108 -0
  48. orca_sdk/_generated_api_client/models/{evaluation_request.py → classification_evaluation_request.py} +13 -45
  49. orca_sdk/_generated_api_client/models/{classification_evaluation_result.py → classification_metrics.py} +106 -56
  50. orca_sdk/_generated_api_client/models/{rac_model_metadata.py → classification_model_metadata.py} +51 -43
  51. orca_sdk/_generated_api_client/models/{prediction_request.py → classification_prediction_request.py} +31 -6
  52. orca_sdk/_generated_api_client/models/{clone_labeled_memoryset_request.py → clone_memoryset_request.py} +5 -5
  53. orca_sdk/_generated_api_client/models/column_info.py +31 -0
  54. orca_sdk/_generated_api_client/models/count_predictions_request.py +195 -0
  55. orca_sdk/_generated_api_client/models/{create_rac_model_request.py → create_classification_model_request.py} +25 -57
  56. orca_sdk/_generated_api_client/models/{create_labeled_memoryset_request.py → create_memoryset_request.py} +73 -56
  57. orca_sdk/_generated_api_client/models/create_memoryset_request_index_params.py +66 -0
  58. orca_sdk/_generated_api_client/models/create_memoryset_request_index_type.py +13 -0
  59. orca_sdk/_generated_api_client/models/create_regression_model_request.py +137 -0
  60. orca_sdk/_generated_api_client/models/embedding_evaluation_payload.py +187 -0
  61. orca_sdk/_generated_api_client/models/embedding_evaluation_response.py +10 -0
  62. orca_sdk/_generated_api_client/models/evaluation_response.py +22 -9
  63. orca_sdk/_generated_api_client/models/evaluation_response_classification_metrics.py +140 -0
  64. orca_sdk/_generated_api_client/models/evaluation_response_regression_metrics.py +140 -0
  65. orca_sdk/_generated_api_client/models/http_validation_error.py +86 -0
  66. orca_sdk/_generated_api_client/models/list_predictions_request.py +62 -0
  67. orca_sdk/_generated_api_client/models/memory_type.py +9 -0
  68. orca_sdk/_generated_api_client/models/memoryset_analysis_configs.py +0 -20
  69. orca_sdk/_generated_api_client/models/{labeled_memoryset_metadata.py → memoryset_metadata.py} +73 -13
  70. orca_sdk/_generated_api_client/models/memoryset_metadata_index_params.py +55 -0
  71. orca_sdk/_generated_api_client/models/memoryset_metadata_index_type.py +13 -0
  72. orca_sdk/_generated_api_client/models/{labeled_memoryset_update.py → memoryset_update.py} +19 -31
  73. orca_sdk/_generated_api_client/models/not_found_error_response_resource_type_0.py +1 -0
  74. orca_sdk/_generated_api_client/models/{paginated_labeled_memory_with_feedback_metrics.py → paginated_union_labeled_memory_with_feedback_metrics_scored_memory_with_feedback_metrics.py} +37 -10
  75. orca_sdk/_generated_api_client/models/{precision_recall_curve.py → pr_curve.py} +5 -13
  76. orca_sdk/_generated_api_client/models/{rac_model_update.py → predictive_model_update.py} +14 -5
  77. orca_sdk/_generated_api_client/models/pretrained_embedding_model_metadata.py +11 -1
  78. orca_sdk/_generated_api_client/models/pretrained_embedding_model_name.py +5 -0
  79. orca_sdk/_generated_api_client/models/rar_head_type.py +8 -0
  80. orca_sdk/_generated_api_client/models/regression_evaluation_request.py +148 -0
  81. orca_sdk/_generated_api_client/models/regression_metrics.py +172 -0
  82. orca_sdk/_generated_api_client/models/regression_model_metadata.py +177 -0
  83. orca_sdk/_generated_api_client/models/regression_prediction_request.py +195 -0
  84. orca_sdk/_generated_api_client/models/roc_curve.py +0 -8
  85. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup.py +196 -0
  86. orca_sdk/_generated_api_client/models/score_prediction_memory_lookup_metadata.py +68 -0
  87. orca_sdk/_generated_api_client/models/score_prediction_with_memories_and_feedback.py +252 -0
  88. orca_sdk/_generated_api_client/models/scored_memory.py +172 -0
  89. orca_sdk/_generated_api_client/models/scored_memory_insert.py +128 -0
  90. orca_sdk/_generated_api_client/models/scored_memory_insert_metadata.py +68 -0
  91. orca_sdk/_generated_api_client/models/scored_memory_lookup.py +180 -0
  92. orca_sdk/_generated_api_client/models/scored_memory_lookup_metadata.py +68 -0
  93. orca_sdk/_generated_api_client/models/scored_memory_metadata.py +68 -0
  94. orca_sdk/_generated_api_client/models/scored_memory_update.py +171 -0
  95. orca_sdk/_generated_api_client/models/scored_memory_update_metadata_type_0.py +68 -0
  96. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics.py +193 -0
  97. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_feedback_metrics.py +68 -0
  98. orca_sdk/_generated_api_client/models/scored_memory_with_feedback_metrics_metadata.py +68 -0
  99. orca_sdk/_generated_api_client/models/update_prediction_request.py +20 -0
  100. orca_sdk/_generated_api_client/models/validation_error.py +99 -0
  101. orca_sdk/_shared/__init__.py +9 -1
  102. orca_sdk/_shared/metrics.py +257 -87
  103. orca_sdk/_shared/metrics_test.py +136 -77
  104. orca_sdk/_utils/data_parsing.py +0 -3
  105. orca_sdk/_utils/data_parsing_test.py +0 -3
  106. orca_sdk/_utils/prediction_result_ui.py +55 -23
  107. orca_sdk/classification_model.py +184 -174
  108. orca_sdk/classification_model_test.py +178 -142
  109. orca_sdk/conftest.py +77 -26
  110. orca_sdk/datasource.py +34 -0
  111. orca_sdk/datasource_test.py +9 -1
  112. orca_sdk/embedding_model.py +136 -14
  113. orca_sdk/embedding_model_test.py +10 -6
  114. orca_sdk/job.py +329 -0
  115. orca_sdk/job_test.py +48 -0
  116. orca_sdk/memoryset.py +882 -161
  117. orca_sdk/memoryset_test.py +58 -23
  118. orca_sdk/regression_model.py +647 -0
  119. orca_sdk/regression_model_test.py +338 -0
  120. orca_sdk/telemetry.py +225 -106
  121. orca_sdk/telemetry_test.py +34 -30
  122. {orca_sdk-0.0.93.dist-info → orca_sdk-0.0.95.dist-info}/METADATA +2 -4
  123. {orca_sdk-0.0.93.dist-info → orca_sdk-0.0.95.dist-info}/RECORD +124 -74
  124. orca_sdk/_utils/task.py +0 -73
  125. {orca_sdk-0.0.93.dist-info → orca_sdk-0.0.95.dist-info}/WHEEL +0 -0
@@ -0,0 +1,172 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ import datetime
14
+ from typing import TYPE_CHECKING, Any, List, Type, TypeVar, Union, cast
15
+
16
+ from attrs import define as _attrs_define
17
+ from attrs import field as _attrs_field
18
+ from dateutil.parser import isoparse
19
+
20
+ if TYPE_CHECKING:
21
+ from ..models.memory_metrics import MemoryMetrics
22
+ from ..models.scored_memory_metadata import ScoredMemoryMetadata
23
+
24
+
25
+ T = TypeVar("T", bound="ScoredMemory")
26
+
27
+
28
+ @_attrs_define
29
+ class ScoredMemory:
30
+ """A scored memory is a single item stored in the database with a score.
31
+
32
+ Attributes:
33
+ value (str):
34
+ embedding (List[float]):
35
+ source_id (Union[None, str]):
36
+ metadata (ScoredMemoryMetadata):
37
+ memory_id (str):
38
+ memory_version (int):
39
+ created_at (datetime.datetime):
40
+ updated_at (datetime.datetime):
41
+ edited_at (datetime.datetime):
42
+ metrics (MemoryMetrics):
43
+ score (float):
44
+ """
45
+
46
+ value: str
47
+ embedding: List[float]
48
+ source_id: Union[None, str]
49
+ metadata: "ScoredMemoryMetadata"
50
+ memory_id: str
51
+ memory_version: int
52
+ created_at: datetime.datetime
53
+ updated_at: datetime.datetime
54
+ edited_at: datetime.datetime
55
+ metrics: "MemoryMetrics"
56
+ score: float
57
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
58
+
59
+ def to_dict(self) -> dict[str, Any]:
60
+ value: str
61
+ value = self.value
62
+
63
+ embedding = self.embedding
64
+
65
+ source_id: Union[None, str]
66
+ source_id = self.source_id
67
+
68
+ metadata = self.metadata.to_dict()
69
+
70
+ memory_id = self.memory_id
71
+
72
+ memory_version = self.memory_version
73
+
74
+ created_at = self.created_at.isoformat()
75
+
76
+ updated_at = self.updated_at.isoformat()
77
+
78
+ edited_at = self.edited_at.isoformat()
79
+
80
+ metrics = self.metrics.to_dict()
81
+
82
+ score = self.score
83
+
84
+ field_dict: dict[str, Any] = {}
85
+ field_dict.update(self.additional_properties)
86
+ field_dict.update(
87
+ {
88
+ "value": value,
89
+ "embedding": embedding,
90
+ "source_id": source_id,
91
+ "metadata": metadata,
92
+ "memory_id": memory_id,
93
+ "memory_version": memory_version,
94
+ "created_at": created_at,
95
+ "updated_at": updated_at,
96
+ "edited_at": edited_at,
97
+ "metrics": metrics,
98
+ "score": score,
99
+ }
100
+ )
101
+
102
+ return field_dict
103
+
104
+ @classmethod
105
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
106
+ from ..models.memory_metrics import MemoryMetrics
107
+ from ..models.scored_memory_metadata import ScoredMemoryMetadata
108
+
109
+ d = src_dict.copy()
110
+
111
+ def _parse_value(data: object) -> str:
112
+ return cast(str, data)
113
+
114
+ value = _parse_value(d.pop("value"))
115
+
116
+ embedding = cast(List[float], d.pop("embedding"))
117
+
118
+ def _parse_source_id(data: object) -> Union[None, str]:
119
+ if data is None:
120
+ return data
121
+ return cast(Union[None, str], data)
122
+
123
+ source_id = _parse_source_id(d.pop("source_id"))
124
+
125
+ metadata = ScoredMemoryMetadata.from_dict(d.pop("metadata"))
126
+
127
+ memory_id = d.pop("memory_id")
128
+
129
+ memory_version = d.pop("memory_version")
130
+
131
+ created_at = isoparse(d.pop("created_at"))
132
+
133
+ updated_at = isoparse(d.pop("updated_at"))
134
+
135
+ edited_at = isoparse(d.pop("edited_at"))
136
+
137
+ metrics = MemoryMetrics.from_dict(d.pop("metrics"))
138
+
139
+ score = d.pop("score")
140
+
141
+ scored_memory = cls(
142
+ value=value,
143
+ embedding=embedding,
144
+ source_id=source_id,
145
+ metadata=metadata,
146
+ memory_id=memory_id,
147
+ memory_version=memory_version,
148
+ created_at=created_at,
149
+ updated_at=updated_at,
150
+ edited_at=edited_at,
151
+ metrics=metrics,
152
+ score=score,
153
+ )
154
+
155
+ scored_memory.additional_properties = d
156
+ return scored_memory
157
+
158
+ @property
159
+ def additional_keys(self) -> list[str]:
160
+ return list(self.additional_properties.keys())
161
+
162
+ def __getitem__(self, key: str) -> Any:
163
+ return self.additional_properties[key]
164
+
165
+ def __setitem__(self, key: str, value: Any) -> None:
166
+ self.additional_properties[key] = value
167
+
168
+ def __delitem__(self, key: str) -> None:
169
+ del self.additional_properties[key]
170
+
171
+ def __contains__(self, key: str) -> bool:
172
+ return key in self.additional_properties
@@ -0,0 +1,128 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import TYPE_CHECKING, Any, Dict, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+
17
+ from ..types import UNSET, Unset
18
+
19
+ if TYPE_CHECKING:
20
+ from ..models.scored_memory_insert_metadata import ScoredMemoryInsertMetadata
21
+
22
+
23
+ T = TypeVar("T", bound="ScoredMemoryInsert")
24
+
25
+
26
+ @_attrs_define
27
+ class ScoredMemoryInsert:
28
+ """Model of fields required for inserting a scored memory.
29
+
30
+ Attributes:
31
+ value (str):
32
+ score (float):
33
+ memory_id (Union[None, Unset, str]):
34
+ metadata (Union[Unset, ScoredMemoryInsertMetadata]):
35
+ source_id (Union[None, Unset, str]):
36
+ """
37
+
38
+ value: str
39
+ score: float
40
+ memory_id: Union[None, Unset, str] = UNSET
41
+ metadata: Union[Unset, "ScoredMemoryInsertMetadata"] = UNSET
42
+ source_id: Union[None, Unset, str] = UNSET
43
+
44
+ def to_dict(self) -> dict[str, Any]:
45
+ value: str
46
+ value = self.value
47
+
48
+ score = self.score
49
+
50
+ memory_id: Union[None, Unset, str]
51
+ if isinstance(self.memory_id, Unset):
52
+ memory_id = UNSET
53
+ else:
54
+ memory_id = self.memory_id
55
+
56
+ metadata: Union[Unset, Dict[str, Any]] = UNSET
57
+ if not isinstance(self.metadata, Unset):
58
+ metadata = self.metadata.to_dict()
59
+
60
+ source_id: Union[None, Unset, str]
61
+ if isinstance(self.source_id, Unset):
62
+ source_id = UNSET
63
+ else:
64
+ source_id = self.source_id
65
+
66
+ field_dict: dict[str, Any] = {}
67
+ field_dict.update(
68
+ {
69
+ "value": value,
70
+ "score": score,
71
+ }
72
+ )
73
+ if memory_id is not UNSET:
74
+ field_dict["memory_id"] = memory_id
75
+ if metadata is not UNSET:
76
+ field_dict["metadata"] = metadata
77
+ if source_id is not UNSET:
78
+ field_dict["source_id"] = source_id
79
+
80
+ return field_dict
81
+
82
+ @classmethod
83
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
84
+ from ..models.scored_memory_insert_metadata import ScoredMemoryInsertMetadata
85
+
86
+ d = src_dict.copy()
87
+
88
+ def _parse_value(data: object) -> str:
89
+ return cast(str, data)
90
+
91
+ value = _parse_value(d.pop("value"))
92
+
93
+ score = d.pop("score")
94
+
95
+ def _parse_memory_id(data: object) -> Union[None, Unset, str]:
96
+ if data is None:
97
+ return data
98
+ if isinstance(data, Unset):
99
+ return data
100
+ return cast(Union[None, Unset, str], data)
101
+
102
+ memory_id = _parse_memory_id(d.pop("memory_id", UNSET))
103
+
104
+ _metadata = d.pop("metadata", UNSET)
105
+ metadata: Union[Unset, ScoredMemoryInsertMetadata]
106
+ if isinstance(_metadata, Unset):
107
+ metadata = UNSET
108
+ else:
109
+ metadata = ScoredMemoryInsertMetadata.from_dict(_metadata)
110
+
111
+ def _parse_source_id(data: object) -> Union[None, Unset, str]:
112
+ if data is None:
113
+ return data
114
+ if isinstance(data, Unset):
115
+ return data
116
+ return cast(Union[None, Unset, str], data)
117
+
118
+ source_id = _parse_source_id(d.pop("source_id", UNSET))
119
+
120
+ scored_memory_insert = cls(
121
+ value=value,
122
+ score=score,
123
+ memory_id=memory_id,
124
+ metadata=metadata,
125
+ source_id=source_id,
126
+ )
127
+
128
+ return scored_memory_insert
@@ -0,0 +1,68 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import Any, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+ from attrs import field as _attrs_field
17
+
18
+ T = TypeVar("T", bound="ScoredMemoryInsertMetadata")
19
+
20
+
21
+ @_attrs_define
22
+ class ScoredMemoryInsertMetadata:
23
+ """ """
24
+
25
+ additional_properties: dict[str, Union[None, bool, float, int, str]] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ field_dict: dict[str, Any] = {}
29
+ for prop_name, prop in self.additional_properties.items():
30
+ field_dict[prop_name] = prop
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
36
+ d = src_dict.copy()
37
+ scored_memory_insert_metadata = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+
42
+ def _parse_additional_property(data: object) -> Union[None, bool, float, int, str]:
43
+ if data is None:
44
+ return data
45
+ return cast(Union[None, bool, float, int, str], data)
46
+
47
+ additional_property = _parse_additional_property(prop_dict)
48
+
49
+ additional_properties[prop_name] = additional_property
50
+
51
+ scored_memory_insert_metadata.additional_properties = additional_properties
52
+ return scored_memory_insert_metadata
53
+
54
+ @property
55
+ def additional_keys(self) -> list[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Union[None, bool, float, int, str]:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Union[None, bool, float, int, str]) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties
@@ -0,0 +1,180 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ import datetime
14
+ from typing import TYPE_CHECKING, Any, List, Type, TypeVar, Union, cast
15
+
16
+ from attrs import define as _attrs_define
17
+ from attrs import field as _attrs_field
18
+ from dateutil.parser import isoparse
19
+
20
+ if TYPE_CHECKING:
21
+ from ..models.memory_metrics import MemoryMetrics
22
+ from ..models.scored_memory_lookup_metadata import ScoredMemoryLookupMetadata
23
+
24
+
25
+ T = TypeVar("T", bound="ScoredMemoryLookup")
26
+
27
+
28
+ @_attrs_define
29
+ class ScoredMemoryLookup:
30
+ """Single scored memory lookup result.
31
+
32
+ Attributes:
33
+ value (str):
34
+ embedding (List[float]):
35
+ source_id (Union[None, str]):
36
+ metadata (ScoredMemoryLookupMetadata):
37
+ memory_id (str):
38
+ memory_version (int):
39
+ created_at (datetime.datetime):
40
+ updated_at (datetime.datetime):
41
+ edited_at (datetime.datetime):
42
+ metrics (MemoryMetrics):
43
+ lookup_score (float):
44
+ score (float):
45
+ """
46
+
47
+ value: str
48
+ embedding: List[float]
49
+ source_id: Union[None, str]
50
+ metadata: "ScoredMemoryLookupMetadata"
51
+ memory_id: str
52
+ memory_version: int
53
+ created_at: datetime.datetime
54
+ updated_at: datetime.datetime
55
+ edited_at: datetime.datetime
56
+ metrics: "MemoryMetrics"
57
+ lookup_score: float
58
+ score: float
59
+ additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
60
+
61
+ def to_dict(self) -> dict[str, Any]:
62
+ value: str
63
+ value = self.value
64
+
65
+ embedding = self.embedding
66
+
67
+ source_id: Union[None, str]
68
+ source_id = self.source_id
69
+
70
+ metadata = self.metadata.to_dict()
71
+
72
+ memory_id = self.memory_id
73
+
74
+ memory_version = self.memory_version
75
+
76
+ created_at = self.created_at.isoformat()
77
+
78
+ updated_at = self.updated_at.isoformat()
79
+
80
+ edited_at = self.edited_at.isoformat()
81
+
82
+ metrics = self.metrics.to_dict()
83
+
84
+ lookup_score = self.lookup_score
85
+
86
+ score = self.score
87
+
88
+ field_dict: dict[str, Any] = {}
89
+ field_dict.update(self.additional_properties)
90
+ field_dict.update(
91
+ {
92
+ "value": value,
93
+ "embedding": embedding,
94
+ "source_id": source_id,
95
+ "metadata": metadata,
96
+ "memory_id": memory_id,
97
+ "memory_version": memory_version,
98
+ "created_at": created_at,
99
+ "updated_at": updated_at,
100
+ "edited_at": edited_at,
101
+ "metrics": metrics,
102
+ "lookup_score": lookup_score,
103
+ "score": score,
104
+ }
105
+ )
106
+
107
+ return field_dict
108
+
109
+ @classmethod
110
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
111
+ from ..models.memory_metrics import MemoryMetrics
112
+ from ..models.scored_memory_lookup_metadata import ScoredMemoryLookupMetadata
113
+
114
+ d = src_dict.copy()
115
+
116
+ def _parse_value(data: object) -> str:
117
+ return cast(str, data)
118
+
119
+ value = _parse_value(d.pop("value"))
120
+
121
+ embedding = cast(List[float], d.pop("embedding"))
122
+
123
+ def _parse_source_id(data: object) -> Union[None, str]:
124
+ if data is None:
125
+ return data
126
+ return cast(Union[None, str], data)
127
+
128
+ source_id = _parse_source_id(d.pop("source_id"))
129
+
130
+ metadata = ScoredMemoryLookupMetadata.from_dict(d.pop("metadata"))
131
+
132
+ memory_id = d.pop("memory_id")
133
+
134
+ memory_version = d.pop("memory_version")
135
+
136
+ created_at = isoparse(d.pop("created_at"))
137
+
138
+ updated_at = isoparse(d.pop("updated_at"))
139
+
140
+ edited_at = isoparse(d.pop("edited_at"))
141
+
142
+ metrics = MemoryMetrics.from_dict(d.pop("metrics"))
143
+
144
+ lookup_score = d.pop("lookup_score")
145
+
146
+ score = d.pop("score")
147
+
148
+ scored_memory_lookup = cls(
149
+ value=value,
150
+ embedding=embedding,
151
+ source_id=source_id,
152
+ metadata=metadata,
153
+ memory_id=memory_id,
154
+ memory_version=memory_version,
155
+ created_at=created_at,
156
+ updated_at=updated_at,
157
+ edited_at=edited_at,
158
+ metrics=metrics,
159
+ lookup_score=lookup_score,
160
+ score=score,
161
+ )
162
+
163
+ scored_memory_lookup.additional_properties = d
164
+ return scored_memory_lookup
165
+
166
+ @property
167
+ def additional_keys(self) -> list[str]:
168
+ return list(self.additional_properties.keys())
169
+
170
+ def __getitem__(self, key: str) -> Any:
171
+ return self.additional_properties[key]
172
+
173
+ def __setitem__(self, key: str, value: Any) -> None:
174
+ self.additional_properties[key] = value
175
+
176
+ def __delitem__(self, key: str) -> None:
177
+ del self.additional_properties[key]
178
+
179
+ def __contains__(self, key: str) -> bool:
180
+ return key in self.additional_properties
@@ -0,0 +1,68 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import Any, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+ from attrs import field as _attrs_field
17
+
18
+ T = TypeVar("T", bound="ScoredMemoryLookupMetadata")
19
+
20
+
21
+ @_attrs_define
22
+ class ScoredMemoryLookupMetadata:
23
+ """ """
24
+
25
+ additional_properties: dict[str, Union[None, bool, float, int, str]] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ field_dict: dict[str, Any] = {}
29
+ for prop_name, prop in self.additional_properties.items():
30
+ field_dict[prop_name] = prop
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
36
+ d = src_dict.copy()
37
+ scored_memory_lookup_metadata = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+
42
+ def _parse_additional_property(data: object) -> Union[None, bool, float, int, str]:
43
+ if data is None:
44
+ return data
45
+ return cast(Union[None, bool, float, int, str], data)
46
+
47
+ additional_property = _parse_additional_property(prop_dict)
48
+
49
+ additional_properties[prop_name] = additional_property
50
+
51
+ scored_memory_lookup_metadata.additional_properties = additional_properties
52
+ return scored_memory_lookup_metadata
53
+
54
+ @property
55
+ def additional_keys(self) -> list[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Union[None, bool, float, int, str]:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Union[None, bool, float, int, str]) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties
@@ -0,0 +1,68 @@
1
+ """
2
+ This file is generated by the openapi-python-client tool via the generate_api_client.py script
3
+
4
+ It is a customized template from the openapi-python-client tool's default template:
5
+ https://github.com/openapi-generators/openapi-python-client/blob/861ef5622f10fc96d240dc9becb0edf94e61446c/openapi_python_client/templates/model.py.jinja
6
+
7
+ The main change is:
8
+ - Fix typing issues
9
+ """
10
+
11
+ # flake8: noqa: C901
12
+
13
+ from typing import Any, Type, TypeVar, Union, cast
14
+
15
+ from attrs import define as _attrs_define
16
+ from attrs import field as _attrs_field
17
+
18
+ T = TypeVar("T", bound="ScoredMemoryMetadata")
19
+
20
+
21
+ @_attrs_define
22
+ class ScoredMemoryMetadata:
23
+ """ """
24
+
25
+ additional_properties: dict[str, Union[None, bool, float, int, str]] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> dict[str, Any]:
28
+ field_dict: dict[str, Any] = {}
29
+ for prop_name, prop in self.additional_properties.items():
30
+ field_dict[prop_name] = prop
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: dict[str, Any]) -> T:
36
+ d = src_dict.copy()
37
+ scored_memory_metadata = cls()
38
+
39
+ additional_properties = {}
40
+ for prop_name, prop_dict in d.items():
41
+
42
+ def _parse_additional_property(data: object) -> Union[None, bool, float, int, str]:
43
+ if data is None:
44
+ return data
45
+ return cast(Union[None, bool, float, int, str], data)
46
+
47
+ additional_property = _parse_additional_property(prop_dict)
48
+
49
+ additional_properties[prop_name] = additional_property
50
+
51
+ scored_memory_metadata.additional_properties = additional_properties
52
+ return scored_memory_metadata
53
+
54
+ @property
55
+ def additional_keys(self) -> list[str]:
56
+ return list(self.additional_properties.keys())
57
+
58
+ def __getitem__(self, key: str) -> Union[None, bool, float, int, str]:
59
+ return self.additional_properties[key]
60
+
61
+ def __setitem__(self, key: str, value: Union[None, bool, float, int, str]) -> None:
62
+ self.additional_properties[key] = value
63
+
64
+ def __delitem__(self, key: str) -> None:
65
+ del self.additional_properties[key]
66
+
67
+ def __contains__(self, key: str) -> bool:
68
+ return key in self.additional_properties