shaped 2.0.2__py3-none-any.whl → 2.0.4__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.
- shaped/__init__.py +47 -42
- shaped/autogen/__init__.py +37 -51
- shaped/autogen/api/engine_api.py +1 -1
- shaped/autogen/api/query_api.py +8 -68
- shaped/autogen/api/table_api.py +1 -1
- shaped/autogen/api/view_api.py +1 -1
- shaped/autogen/api_client.py +4 -4
- shaped/autogen/configuration.py +5 -3
- shaped/autogen/exceptions.py +7 -4
- shaped/autogen/models/__init__.py +19 -26
- shaped/autogen/models/ai_enrichment_view_config.py +1 -1
- shaped/autogen/models/algorithm.py +1 -1
- shaped/autogen/models/amplitude_table_config.py +1 -1
- shaped/autogen/models/ascending.py +29 -17
- shaped/autogen/models/attn_dropout_prob.py +1 -1
- shaped/autogen/models/attribute_journey.py +1 -1
- shaped/autogen/models/attribute_value.py +1 -1
- shaped/autogen/models/autoscaling_config.py +1 -1
- shaped/autogen/models/aws_pinpoint_table_config.py +1 -1
- shaped/autogen/models/batch_size.py +1 -1
- shaped/autogen/models/batch_size1.py +1 -1
- shaped/autogen/models/batch_size2.py +1 -1
- shaped/autogen/models/big_query_table_config.py +1 -1
- shaped/autogen/models/bm25.py +1 -1
- shaped/autogen/models/boosted_reorder_step.py +1 -1
- shaped/autogen/models/canary_rollout.py +1 -1
- shaped/autogen/models/candidate_attributes_retrieve_step.py +1 -14
- shaped/autogen/models/candidate_ids_retrieve_step.py +1 -1
- shaped/autogen/models/candidate_retrieval_strategy.py +1 -1
- shaped/autogen/models/clickhouse_table_config.py +1 -1
- shaped/autogen/models/column_order_retrieve_step.py +1 -1
- shaped/autogen/models/column_ordering.py +1 -1
- shaped/autogen/models/create_table_response.py +1 -1
- shaped/autogen/models/create_view_response.py +1 -1
- shaped/autogen/models/custom_table_config.py +1 -1
- shaped/autogen/models/data_compute_config.py +1 -1
- shaped/autogen/models/data_config.py +1 -1
- shaped/autogen/models/data_config_interaction_table.py +1 -1
- shaped/autogen/models/data_split_config.py +1 -1
- shaped/autogen/models/data_split_strategy.py +1 -1
- shaped/autogen/models/data_tier.py +1 -1
- shaped/autogen/models/default.py +1 -1
- shaped/autogen/models/delete_engine_response.py +1 -1
- shaped/autogen/models/delete_table_response.py +1 -1
- shaped/autogen/models/delete_view_response.py +1 -1
- shaped/autogen/models/deployment_config.py +2 -8
- shaped/autogen/models/distance_function.py +5 -5
- shaped/autogen/models/diversity_reorder_step.py +1 -1
- shaped/autogen/models/dropout_rate.py +1 -1
- shaped/autogen/models/dynamo_db_table_config.py +1 -1
- shaped/autogen/models/dynamo_db_table_config_scan_kwargs_value.py +1 -1
- shaped/autogen/models/embedder_batch_size.py +1 -1
- shaped/autogen/models/embedding_config.py +1 -1
- shaped/autogen/models/embedding_dim.py +1 -1
- shaped/autogen/models/embedding_dims.py +1 -1
- shaped/autogen/models/embedding_size.py +1 -1
- shaped/autogen/models/encoder.py +1 -1
- shaped/autogen/models/encoding_pooling_strategy.py +5 -5
- shaped/autogen/models/engine.py +1 -1
- shaped/autogen/models/engine_config_v2.py +1 -1
- shaped/autogen/models/engine_details_response.py +1 -1
- shaped/autogen/models/engine_schema.py +8 -8
- shaped/autogen/models/engine_schema_user_inner.py +30 -18
- shaped/autogen/models/entity_config.py +1 -1
- shaped/autogen/models/entity_journey.py +28 -19
- shaped/autogen/models/entity_type.py +1 -1
- shaped/autogen/models/evaluation_config.py +1 -1
- shaped/autogen/models/exploration_reorder_step.py +1 -1
- shaped/autogen/models/expression_filter_step.py +1 -1
- shaped/autogen/models/factors.py +1 -1
- shaped/autogen/models/factors1.py +1 -1
- shaped/autogen/models/feature.py +1 -1
- shaped/autogen/models/feature_type.py +1 -1
- shaped/autogen/models/file_table_config.py +1 -1
- shaped/autogen/models/filter_config.py +14 -14
- shaped/autogen/models/filter_dataset.py +47 -23
- shaped/autogen/models/filter_index_type.py +1 -1
- shaped/autogen/models/filter_retrieve_step.py +1 -1
- shaped/autogen/models/filter_step_explanation.py +165 -0
- shaped/autogen/models/filter_table.py +140 -0
- shaped/autogen/models/filter_type.py +134 -0
- shaped/autogen/models/global_filter.py +1 -1
- shaped/autogen/models/hidden_dropout_prob.py +1 -1
- shaped/autogen/models/hidden_size.py +1 -1
- shaped/autogen/models/hidden_size1.py +1 -1
- shaped/autogen/models/http_problem_response.py +1 -1
- shaped/autogen/models/http_validation_error.py +1 -1
- shaped/autogen/models/hugging_face_encoder.py +6 -4
- shaped/autogen/models/iceberg_table_config.py +1 -1
- shaped/autogen/models/index_config.py +1 -1
- shaped/autogen/models/inner_entity_id.py +144 -0
- shaped/autogen/models/inner_size.py +1 -1
- shaped/autogen/models/inner_size1.py +1 -1
- shaped/autogen/models/inner_uid.py +144 -0
- shaped/autogen/models/interaction_config.py +1 -1
- shaped/autogen/models/interaction_pooling_encoder.py +1 -1
- shaped/autogen/models/interaction_round_robin_encoder.py +1 -1
- shaped/autogen/models/item_attribute_pooling_encoder.py +1 -14
- shaped/autogen/models/journey.py +1 -1
- shaped/autogen/models/kafka_table_config.py +1 -1
- shaped/autogen/models/kinesis_table_config.py +1 -1
- shaped/autogen/models/kinesis_table_config_column_schema_value.py +1 -1
- shaped/autogen/models/label.py +1 -1
- shaped/autogen/models/label_type.py +1 -2
- shaped/autogen/models/laplace_smoothing.py +1 -1
- shaped/autogen/models/latency_scaling_policy.py +1 -1
- shaped/autogen/models/learning_rate.py +1 -1
- shaped/autogen/models/learning_rate1.py +1 -1
- shaped/autogen/models/learning_rate2.py +1 -1
- shaped/autogen/models/learning_rate3.py +1 -1
- shaped/autogen/models/lexical_search_mode.py +3 -3
- shaped/autogen/models/list_engines_response.py +1 -1
- shaped/autogen/models/list_tables_response.py +1 -1
- shaped/autogen/models/list_views_response.py +1 -1
- shaped/autogen/models/location_inner.py +138 -0
- shaped/autogen/models/loss_types.py +1 -1
- shaped/autogen/models/lr.py +1 -1
- shaped/autogen/models/lr1.py +1 -1
- shaped/autogen/models/lr2.py +1 -1
- shaped/autogen/models/max_depth.py +1 -1
- shaped/autogen/models/max_leaves.py +1 -1
- shaped/autogen/models/max_seq_length.py +1 -1
- shaped/autogen/models/max_seq_length1.py +1 -1
- shaped/autogen/models/max_seq_length2.py +1 -1
- shaped/autogen/models/mode.py +1 -1
- shaped/autogen/models/mode1.py +20 -18
- shaped/autogen/models/mode2.py +32 -18
- shaped/autogen/models/models_inner.py +308 -0
- shaped/autogen/models/mongo_db_table_config.py +1 -1
- shaped/autogen/models/mssql_table_config.py +1 -1
- shaped/autogen/models/my_sql_table_config.py +1 -1
- shaped/autogen/models/n_epochs.py +1 -1
- shaped/autogen/models/n_epochs1.py +1 -1
- shaped/autogen/models/n_epochs2.py +1 -1
- shaped/autogen/models/n_estimators.py +1 -1
- shaped/autogen/models/n_heads.py +1 -1
- shaped/autogen/models/n_layers.py +1 -1
- shaped/autogen/models/neg_per_positive.py +1 -1
- shaped/autogen/models/negative_samples_count.py +1 -1
- shaped/autogen/models/ngram_tokenizer.py +1 -1
- shaped/autogen/models/no_op_config.py +1 -1
- shaped/autogen/models/num_blocks.py +1 -1
- shaped/autogen/models/num_heads.py +1 -1
- shaped/autogen/models/num_leaves.py +1 -1
- shaped/autogen/models/objective.py +1 -1
- shaped/autogen/models/objective1.py +1 -1
- shaped/autogen/models/online_store_config.py +1 -1
- shaped/autogen/models/pagination_config.py +1 -1
- shaped/autogen/models/parameter_definition.py +1 -1
- shaped/autogen/models/parameters_value.py +1 -1
- shaped/autogen/models/passthrough_score.py +1 -1
- shaped/autogen/models/personal_filter.py +1 -1
- shaped/autogen/models/pipeline_stage_explanation.py +4 -4
- shaped/autogen/models/policy.py +1 -1
- shaped/autogen/models/pool_fn.py +39 -21
- shaped/autogen/models/pooling_function.py +1 -1
- shaped/autogen/models/postgres_table_config.py +1 -1
- shaped/autogen/models/posthog_table_config.py +1 -1
- shaped/autogen/models/prebuilt_filter_step.py +1 -1
- shaped/autogen/models/precomputed_item_embedding.py +1 -1
- shaped/autogen/models/precomputed_user_embedding.py +1 -1
- shaped/autogen/models/query.py +15 -15
- shaped/autogen/models/query1.py +15 -15
- shaped/autogen/models/query_any_of.py +58 -26
- shaped/autogen/models/query_config.py +140 -0
- shaped/autogen/models/query_definition.py +1 -1
- shaped/autogen/models/query_encoder.py +1 -1
- shaped/autogen/models/query_explanation.py +7 -3
- shaped/autogen/models/query_request.py +1 -1
- shaped/autogen/models/query_result.py +1 -1
- shaped/autogen/models/query_table_config.py +1 -1
- shaped/autogen/models/rank_item_attribute_values_query_config.py +1 -1
- shaped/autogen/models/rank_query_config.py +7 -7
- shaped/autogen/models/rank_query_config_filter_inner.py +1 -1
- shaped/autogen/models/rank_query_config_reorder_inner.py +62 -25
- shaped/autogen/models/rank_query_config_retrieve_inner.py +100 -31
- shaped/autogen/models/recreate_rollout.py +1 -1
- shaped/autogen/models/redshift_table_config.py +1 -1
- shaped/autogen/models/reference_table_config.py +1 -1
- shaped/autogen/models/regularization.py +1 -1
- shaped/autogen/models/reorder_inner.py +149 -0
- shaped/autogen/models/reorder_step_explanation.py +207 -0
- shaped/autogen/models/request.py +1 -1
- shaped/autogen/models/request1.py +1 -1
- shaped/autogen/models/requests_per_second_scaling_policy.py +1 -1
- shaped/autogen/models/resource_config.py +100 -0
- shaped/autogen/models/response_get_view_details_views_view_name_get.py +1 -1
- shaped/autogen/models/result.py +1 -14
- shaped/autogen/models/result_embeddings_value.py +1 -1
- shaped/autogen/models/retrieval_scores_value.py +127 -0
- shaped/autogen/models/retrieve_inner.py +196 -0
- shaped/autogen/models/retrieve_step_explanation.py +172 -0
- shaped/autogen/models/retriever.py +1 -1
- shaped/autogen/models/retriever1.py +1 -1
- shaped/autogen/models/rollout_config.py +1 -1
- shaped/autogen/models/rudderstack_table_config.py +1 -1
- shaped/autogen/models/sampling_strategy.py +1 -1
- shaped/autogen/models/saved_query_info_response.py +18 -4
- shaped/autogen/models/saved_query_list_response.py +1 -1
- shaped/autogen/models/saved_query_request.py +1 -1
- shaped/autogen/models/schema_config.py +1 -1
- shaped/autogen/models/score.py +1 -1
- shaped/autogen/models/score_ensemble.py +1 -14
- shaped/autogen/models/score_ensemble_policy_config.py +49 -25
- shaped/autogen/models/score_ensemble_policy_config_policies_inner.py +456 -123
- shaped/autogen/models/score_step_explanation.py +224 -0
- shaped/autogen/models/search_config.py +1 -1
- shaped/autogen/models/segment_table_config.py +1 -1
- shaped/autogen/models/sequence_length.py +1 -1
- shaped/autogen/models/server_config.py +14 -1
- shaped/autogen/models/setup_engine_response.py +1 -1
- shaped/autogen/models/shaped_internal_recsys_policies_als_model_policy_als_model_policy_config.py +9 -3
- shaped/autogen/models/shaped_internal_recsys_policies_beeformer_model_policy_beeformer_model_policy_beeformer_model_policy_config.py +9 -3
- shaped/autogen/models/shaped_internal_recsys_policies_bert_model_policy_bert_model_policy_bert_model_policy_config.py +10 -4
- shaped/autogen/models/shaped_internal_recsys_policies_chronological_model_policy_chronological_model_policy_config.py +46 -27
- shaped/autogen/models/shaped_internal_recsys_policies_elsa_model_policy_elsa_model_policy_elsa_model_policy_config.py +6 -4
- shaped/autogen/models/shaped_internal_recsys_policies_gsasrec_model_policy_gsasrec_model_policy_gsas_rec_model_policy_config.py +9 -3
- shaped/autogen/models/shaped_internal_recsys_policies_item2vec_model_policy_item2_vec_model_policy_config.py +1 -1
- shaped/autogen/models/shaped_internal_recsys_policies_item_content_similarity_model_policy_item_content_similarity_model_policy_config.py +77 -34
- shaped/autogen/models/shaped_internal_recsys_policies_lightgbm_model_policy_lightgbm_model_policy_light_gbm_model_policy_config.py +9 -3
- shaped/autogen/models/shaped_internal_recsys_policies_ngram_model_policy_ngram_model_policy_config.py +1 -1
- shaped/autogen/models/shaped_internal_recsys_policies_popular_model_policy_popular_model_policy_config.py +52 -28
- shaped/autogen/models/shaped_internal_recsys_policies_random_model_policy_random_model_policy_config.py +21 -17
- shaped/autogen/models/shaped_internal_recsys_policies_recently_popular_policy_recently_popular_policy_config.py +36 -23
- shaped/autogen/models/shaped_internal_recsys_policies_rising_popular_policy_rising_popular_policy_config.py +1 -1
- shaped/autogen/models/shaped_internal_recsys_policies_sasrec_model_policy_sasrec_model_policy_sas_rec_model_policy_config.py +9 -3
- shaped/autogen/models/shaped_internal_recsys_policies_svd_model_policy_svd_model_policy_config.py +1 -1
- shaped/autogen/models/shaped_internal_recsys_policies_two_tower_model_policy_two_tower_model_policy_two_tower_model_policy_config.py +9 -3
- shaped/autogen/models/shaped_internal_recsys_policies_user_item_content_similarity_model_policy_user_item_content_similarity_model_policy_config.py +53 -31
- shaped/autogen/models/shaped_internal_recsys_policies_widedeep_model_policy_wide_deep_model_policy_config.py +10 -4
- shaped/autogen/models/shaped_internal_recsys_policies_xgboost_model_policy_xg_boost_model_policy_config.py +12 -6
- shaped/autogen/models/shopify_table_config.py +1 -1
- shaped/autogen/models/similarity_retrieve_step.py +6 -4
- shaped/autogen/models/snowflake_table_config.py +1 -1
- shaped/autogen/models/sql_transform_type.py +1 -1
- shaped/autogen/models/sql_view_config.py +1 -1
- shaped/autogen/models/stemmer_tokenizer.py +1 -1
- shaped/autogen/models/step_explanation.py +1 -1
- shaped/autogen/models/steps_inner.py +179 -0
- shaped/autogen/models/strategy.py +1 -1
- shaped/autogen/models/table.py +1 -1
- shaped/autogen/models/table_deployment_type.py +1 -1
- shaped/autogen/models/table_insert_arguments.py +3 -3
- shaped/autogen/models/table_insert_response.py +1 -1
- shaped/autogen/models/text_encoding.py +29 -17
- shaped/autogen/models/text_search_retrieve_step.py +1 -1
- shaped/autogen/models/time_frequency.py +1 -1
- shaped/autogen/models/time_window.py +1 -1
- shaped/autogen/models/time_window_in_days.py +29 -17
- shaped/autogen/models/tokenizer.py +1 -1
- shaped/autogen/models/trained_model_encoder.py +1 -1
- shaped/autogen/models/training_compute_config.py +4 -4
- shaped/autogen/models/training_config.py +4 -4
- shaped/autogen/models/training_config_models_inner.py +325 -93
- shaped/autogen/models/training_strategy.py +1 -1
- shaped/autogen/models/transform_status.py +41 -0
- shaped/autogen/models/trending_mode.py +4 -4
- shaped/autogen/models/truncate_filter_step.py +1 -1
- shaped/autogen/models/tunable_bool.py +1 -1
- shaped/autogen/models/tunable_float.py +1 -1
- shaped/autogen/models/tunable_int.py +1 -1
- shaped/autogen/models/tunable_int_categorical.py +1 -1
- shaped/autogen/models/tunable_string.py +1 -1
- shaped/autogen/models/tuning_config.py +1 -1
- shaped/autogen/models/type.py +36 -20
- shaped/autogen/models/update_table_response.py +1 -1
- shaped/autogen/models/update_view_response.py +1 -1
- shaped/autogen/models/user_attribute_pooling_encoder.py +1 -1
- shaped/autogen/models/user_inner.py +134 -0
- shaped/autogen/models/val_split.py +1 -1
- shaped/autogen/models/validation_error.py +4 -4
- shaped/autogen/models/validation_error_loc_inner.py +28 -16
- shaped/autogen/models/value_type.py +1 -1
- shaped/autogen/models/vector_search_mode.py +6 -4
- shaped/autogen/models/view.py +4 -4
- shaped/autogen/models/view_details_ai.py +6 -6
- shaped/autogen/models/view_details_ai_schema_value.py +1 -1
- shaped/autogen/models/view_details_sql.py +6 -6
- shaped/autogen/models/view_status.py +8 -8
- shaped/autogen/models/weight_decay.py +1 -1
- shaped/autogen/models/whitespace_tokenizer.py +1 -1
- shaped/autogen/models/window_size.py +1 -1
- shaped/autogen/rest.py +9 -9
- shaped/cli/shaped_cli.py +152 -29
- shaped/client.py +50 -43
- shaped/config_builders.py +110 -100
- shaped/query_builder.py +56 -49
- {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/METADATA +2 -2
- shaped-2.0.4.dist-info/RECORD +296 -0
- {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/WHEEL +1 -1
- shaped-2.0.2.dist-info/RECORD +0 -278
- {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/entry_points.txt +0 -0
- {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/top_level.txt +0 -0
- {shaped-2.0.2.dist-info → shaped-2.0.4.dist-info}/zip-safe +0 -0
|
@@ -13,20 +13,24 @@
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
from __future__ import annotations
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
import json
|
|
18
18
|
import pprint
|
|
19
19
|
import re # noqa: F401
|
|
20
|
-
from
|
|
21
|
-
|
|
20
|
+
from typing import TYPE_CHECKING, Any, Dict, Optional, Set, Union
|
|
21
|
+
|
|
22
|
+
from pydantic import BaseModel, ValidationError, field_validator
|
|
22
23
|
from shaped.autogen.models.boosted_reorder_step import BoostedReorderStep
|
|
23
24
|
from shaped.autogen.models.diversity_reorder_step import DiversityReorderStep
|
|
24
25
|
from shaped.autogen.models.exploration_reorder_step import ExplorationReorderStep
|
|
25
|
-
from
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
from typing_extensions import Self
|
|
27
|
+
|
|
28
|
+
RANKQUERYCONFIGREORDERINNER_ANY_OF_SCHEMAS = [
|
|
29
|
+
"BoostedReorderStep",
|
|
30
|
+
"DiversityReorderStep",
|
|
31
|
+
"ExplorationReorderStep",
|
|
32
|
+
]
|
|
28
33
|
|
|
29
|
-
RANKQUERYCONFIGREORDERINNER_ANY_OF_SCHEMAS = ["BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep"]
|
|
30
34
|
|
|
31
35
|
class RankQueryConfigReorderInner(BaseModel):
|
|
32
36
|
"""
|
|
@@ -40,10 +44,16 @@ class RankQueryConfigReorderInner(BaseModel):
|
|
|
40
44
|
# data type: DiversityReorderStep
|
|
41
45
|
anyof_schema_3_validator: Optional[DiversityReorderStep] = None
|
|
42
46
|
if TYPE_CHECKING:
|
|
43
|
-
actual_instance: Optional[
|
|
47
|
+
actual_instance: Optional[
|
|
48
|
+
Union[BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]
|
|
49
|
+
] = None
|
|
44
50
|
else:
|
|
45
51
|
actual_instance: Any = None
|
|
46
|
-
any_of_schemas: Set[str] = {
|
|
52
|
+
any_of_schemas: Set[str] = {
|
|
53
|
+
"BoostedReorderStep",
|
|
54
|
+
"DiversityReorderStep",
|
|
55
|
+
"ExplorationReorderStep",
|
|
56
|
+
}
|
|
47
57
|
|
|
48
58
|
model_config = {
|
|
49
59
|
"validate_assignment": True,
|
|
@@ -53,38 +63,51 @@ class RankQueryConfigReorderInner(BaseModel):
|
|
|
53
63
|
def __init__(self, *args, **kwargs) -> None:
|
|
54
64
|
if args:
|
|
55
65
|
if len(args) > 1:
|
|
56
|
-
raise ValueError(
|
|
66
|
+
raise ValueError(
|
|
67
|
+
"If a position argument is used, only 1 is allowed to set `actual_instance`"
|
|
68
|
+
)
|
|
57
69
|
if kwargs:
|
|
58
|
-
raise ValueError(
|
|
70
|
+
raise ValueError(
|
|
71
|
+
"If a position argument is used, keyword arguments cannot be used."
|
|
72
|
+
)
|
|
59
73
|
super().__init__(actual_instance=args[0])
|
|
60
74
|
else:
|
|
61
75
|
super().__init__(**kwargs)
|
|
62
76
|
|
|
63
|
-
@field_validator(
|
|
77
|
+
@field_validator("actual_instance")
|
|
64
78
|
def actual_instance_must_validate_anyof(cls, v):
|
|
65
79
|
instance = RankQueryConfigReorderInner.model_construct()
|
|
66
80
|
error_messages = []
|
|
67
81
|
# validate data type: ExplorationReorderStep
|
|
68
82
|
if not isinstance(v, ExplorationReorderStep):
|
|
69
|
-
error_messages.append(
|
|
83
|
+
error_messages.append(
|
|
84
|
+
f"Error! Input type `{type(v)}` is not `ExplorationReorderStep`"
|
|
85
|
+
)
|
|
70
86
|
else:
|
|
71
87
|
return v
|
|
72
88
|
|
|
73
89
|
# validate data type: BoostedReorderStep
|
|
74
90
|
if not isinstance(v, BoostedReorderStep):
|
|
75
|
-
error_messages.append(
|
|
91
|
+
error_messages.append(
|
|
92
|
+
f"Error! Input type `{type(v)}` is not `BoostedReorderStep`"
|
|
93
|
+
)
|
|
76
94
|
else:
|
|
77
95
|
return v
|
|
78
96
|
|
|
79
97
|
# validate data type: DiversityReorderStep
|
|
80
98
|
if not isinstance(v, DiversityReorderStep):
|
|
81
|
-
error_messages.append(
|
|
99
|
+
error_messages.append(
|
|
100
|
+
f"Error! Input type `{type(v)}` is not `DiversityReorderStep`"
|
|
101
|
+
)
|
|
82
102
|
else:
|
|
83
103
|
return v
|
|
84
104
|
|
|
85
105
|
if error_messages:
|
|
86
106
|
# no match
|
|
87
|
-
raise ValueError(
|
|
107
|
+
raise ValueError(
|
|
108
|
+
"No match found when setting the actual_instance in RankQueryConfigReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: "
|
|
109
|
+
+ ", ".join(error_messages)
|
|
110
|
+
)
|
|
88
111
|
else:
|
|
89
112
|
return v
|
|
90
113
|
|
|
@@ -102,23 +125,26 @@ class RankQueryConfigReorderInner(BaseModel):
|
|
|
102
125
|
instance.actual_instance = ExplorationReorderStep.from_json(json_str)
|
|
103
126
|
return instance
|
|
104
127
|
except (ValidationError, ValueError) as e:
|
|
105
|
-
|
|
128
|
+
error_messages.append(str(e))
|
|
106
129
|
# anyof_schema_2_validator: Optional[BoostedReorderStep] = None
|
|
107
130
|
try:
|
|
108
131
|
instance.actual_instance = BoostedReorderStep.from_json(json_str)
|
|
109
132
|
return instance
|
|
110
133
|
except (ValidationError, ValueError) as e:
|
|
111
|
-
|
|
134
|
+
error_messages.append(str(e))
|
|
112
135
|
# anyof_schema_3_validator: Optional[DiversityReorderStep] = None
|
|
113
136
|
try:
|
|
114
137
|
instance.actual_instance = DiversityReorderStep.from_json(json_str)
|
|
115
138
|
return instance
|
|
116
139
|
except (ValidationError, ValueError) as e:
|
|
117
|
-
|
|
140
|
+
error_messages.append(str(e))
|
|
118
141
|
|
|
119
142
|
if error_messages:
|
|
120
143
|
# no match
|
|
121
|
-
raise ValueError(
|
|
144
|
+
raise ValueError(
|
|
145
|
+
"No match found when deserializing the JSON string into RankQueryConfigReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: "
|
|
146
|
+
+ ", ".join(error_messages)
|
|
147
|
+
)
|
|
122
148
|
else:
|
|
123
149
|
return instance
|
|
124
150
|
|
|
@@ -127,17 +153,30 @@ class RankQueryConfigReorderInner(BaseModel):
|
|
|
127
153
|
if self.actual_instance is None:
|
|
128
154
|
return "null"
|
|
129
155
|
|
|
130
|
-
if hasattr(self.actual_instance, "to_json") and callable(
|
|
156
|
+
if hasattr(self.actual_instance, "to_json") and callable(
|
|
157
|
+
self.actual_instance.to_json
|
|
158
|
+
):
|
|
131
159
|
return self.actual_instance.to_json()
|
|
132
160
|
else:
|
|
133
161
|
return json.dumps(self.actual_instance)
|
|
134
162
|
|
|
135
|
-
def to_dict(
|
|
163
|
+
def to_dict(
|
|
164
|
+
self,
|
|
165
|
+
) -> Optional[
|
|
166
|
+
Union[
|
|
167
|
+
Dict[str, Any],
|
|
168
|
+
BoostedReorderStep,
|
|
169
|
+
DiversityReorderStep,
|
|
170
|
+
ExplorationReorderStep,
|
|
171
|
+
]
|
|
172
|
+
]:
|
|
136
173
|
"""Returns the dict representation of the actual instance"""
|
|
137
174
|
if self.actual_instance is None:
|
|
138
175
|
return None
|
|
139
176
|
|
|
140
|
-
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
177
|
+
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
178
|
+
self.actual_instance.to_dict
|
|
179
|
+
):
|
|
141
180
|
return self.actual_instance.to_dict()
|
|
142
181
|
else:
|
|
143
182
|
return self.actual_instance
|
|
@@ -145,5 +184,3 @@ class RankQueryConfigReorderInner(BaseModel):
|
|
|
145
184
|
def to_str(self) -> str:
|
|
146
185
|
"""Returns the string representation of the actual instance"""
|
|
147
186
|
return pprint.pformat(self.model_dump())
|
|
148
|
-
|
|
149
|
-
|
|
@@ -13,26 +13,37 @@
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
from __future__ import annotations
|
|
16
|
+
|
|
16
17
|
import json
|
|
17
18
|
import pprint
|
|
18
|
-
from
|
|
19
|
-
|
|
20
|
-
from
|
|
19
|
+
from typing import Any, Dict, Optional, Set, Union
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, ValidationError, field_validator
|
|
22
|
+
from shaped.autogen.models.candidate_attributes_retrieve_step import (
|
|
23
|
+
CandidateAttributesRetrieveStep,
|
|
24
|
+
)
|
|
21
25
|
from shaped.autogen.models.candidate_ids_retrieve_step import CandidateIdsRetrieveStep
|
|
22
26
|
from shaped.autogen.models.column_order_retrieve_step import ColumnOrderRetrieveStep
|
|
23
27
|
from shaped.autogen.models.filter_retrieve_step import FilterRetrieveStep
|
|
24
28
|
from shaped.autogen.models.similarity_retrieve_step import SimilarityRetrieveStep
|
|
25
29
|
from shaped.autogen.models.text_search_retrieve_step import TextSearchRetrieveStep
|
|
26
|
-
from
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
from typing_extensions import Self
|
|
31
|
+
|
|
32
|
+
RANKQUERYCONFIGRETRIEVEINNER_ONE_OF_SCHEMAS = [
|
|
33
|
+
"CandidateAttributesRetrieveStep",
|
|
34
|
+
"CandidateIdsRetrieveStep",
|
|
35
|
+
"ColumnOrderRetrieveStep",
|
|
36
|
+
"FilterRetrieveStep",
|
|
37
|
+
"SimilarityRetrieveStep",
|
|
38
|
+
"TextSearchRetrieveStep",
|
|
39
|
+
]
|
|
29
40
|
|
|
30
|
-
RANKQUERYCONFIGRETRIEVEINNER_ONE_OF_SCHEMAS = ["CandidateAttributesRetrieveStep", "CandidateIdsRetrieveStep", "ColumnOrderRetrieveStep", "FilterRetrieveStep", "SimilarityRetrieveStep", "TextSearchRetrieveStep"]
|
|
31
41
|
|
|
32
42
|
class RankQueryConfigRetrieveInner(BaseModel):
|
|
33
43
|
"""
|
|
34
44
|
RankQueryConfigRetrieveInner
|
|
35
45
|
"""
|
|
46
|
+
|
|
36
47
|
# data type: ColumnOrderRetrieveStep
|
|
37
48
|
oneof_schema_1_validator: Optional[ColumnOrderRetrieveStep] = None
|
|
38
49
|
# data type: TextSearchRetrieveStep
|
|
@@ -45,69 +56,105 @@ class RankQueryConfigRetrieveInner(BaseModel):
|
|
|
45
56
|
oneof_schema_5_validator: Optional[CandidateIdsRetrieveStep] = None
|
|
46
57
|
# data type: CandidateAttributesRetrieveStep
|
|
47
58
|
oneof_schema_6_validator: Optional[CandidateAttributesRetrieveStep] = None
|
|
48
|
-
actual_instance: Optional[
|
|
49
|
-
|
|
59
|
+
actual_instance: Optional[
|
|
60
|
+
Union[
|
|
61
|
+
CandidateAttributesRetrieveStep,
|
|
62
|
+
CandidateIdsRetrieveStep,
|
|
63
|
+
ColumnOrderRetrieveStep,
|
|
64
|
+
FilterRetrieveStep,
|
|
65
|
+
SimilarityRetrieveStep,
|
|
66
|
+
TextSearchRetrieveStep,
|
|
67
|
+
]
|
|
68
|
+
] = None
|
|
69
|
+
one_of_schemas: Set[str] = {
|
|
70
|
+
"CandidateAttributesRetrieveStep",
|
|
71
|
+
"CandidateIdsRetrieveStep",
|
|
72
|
+
"ColumnOrderRetrieveStep",
|
|
73
|
+
"FilterRetrieveStep",
|
|
74
|
+
"SimilarityRetrieveStep",
|
|
75
|
+
"TextSearchRetrieveStep",
|
|
76
|
+
}
|
|
50
77
|
|
|
51
78
|
model_config = ConfigDict(
|
|
52
79
|
validate_assignment=True,
|
|
53
80
|
protected_namespaces=(),
|
|
54
81
|
)
|
|
55
82
|
|
|
56
|
-
|
|
57
|
-
discriminator_value_class_map: Dict[str, str] = {
|
|
58
|
-
}
|
|
83
|
+
discriminator_value_class_map: Dict[str, str] = {}
|
|
59
84
|
|
|
60
85
|
def __init__(self, *args, **kwargs) -> None:
|
|
61
86
|
if args:
|
|
62
87
|
if len(args) > 1:
|
|
63
|
-
raise ValueError(
|
|
88
|
+
raise ValueError(
|
|
89
|
+
"If a position argument is used, only 1 is allowed to set `actual_instance`"
|
|
90
|
+
)
|
|
64
91
|
if kwargs:
|
|
65
|
-
raise ValueError(
|
|
92
|
+
raise ValueError(
|
|
93
|
+
"If a position argument is used, keyword arguments cannot be used."
|
|
94
|
+
)
|
|
66
95
|
super().__init__(actual_instance=args[0])
|
|
67
96
|
else:
|
|
68
97
|
super().__init__(**kwargs)
|
|
69
98
|
|
|
70
|
-
@field_validator(
|
|
99
|
+
@field_validator("actual_instance")
|
|
71
100
|
def actual_instance_must_validate_oneof(cls, v):
|
|
72
101
|
instance = RankQueryConfigRetrieveInner.model_construct()
|
|
73
102
|
error_messages = []
|
|
74
103
|
match = 0
|
|
75
104
|
# validate data type: ColumnOrderRetrieveStep
|
|
76
105
|
if not isinstance(v, ColumnOrderRetrieveStep):
|
|
77
|
-
error_messages.append(
|
|
106
|
+
error_messages.append(
|
|
107
|
+
f"Error! Input type `{type(v)}` is not `ColumnOrderRetrieveStep`"
|
|
108
|
+
)
|
|
78
109
|
else:
|
|
79
110
|
match += 1
|
|
80
111
|
# validate data type: TextSearchRetrieveStep
|
|
81
112
|
if not isinstance(v, TextSearchRetrieveStep):
|
|
82
|
-
error_messages.append(
|
|
113
|
+
error_messages.append(
|
|
114
|
+
f"Error! Input type `{type(v)}` is not `TextSearchRetrieveStep`"
|
|
115
|
+
)
|
|
83
116
|
else:
|
|
84
117
|
match += 1
|
|
85
118
|
# validate data type: SimilarityRetrieveStep
|
|
86
119
|
if not isinstance(v, SimilarityRetrieveStep):
|
|
87
|
-
error_messages.append(
|
|
120
|
+
error_messages.append(
|
|
121
|
+
f"Error! Input type `{type(v)}` is not `SimilarityRetrieveStep`"
|
|
122
|
+
)
|
|
88
123
|
else:
|
|
89
124
|
match += 1
|
|
90
125
|
# validate data type: FilterRetrieveStep
|
|
91
126
|
if not isinstance(v, FilterRetrieveStep):
|
|
92
|
-
error_messages.append(
|
|
127
|
+
error_messages.append(
|
|
128
|
+
f"Error! Input type `{type(v)}` is not `FilterRetrieveStep`"
|
|
129
|
+
)
|
|
93
130
|
else:
|
|
94
131
|
match += 1
|
|
95
132
|
# validate data type: CandidateIdsRetrieveStep
|
|
96
133
|
if not isinstance(v, CandidateIdsRetrieveStep):
|
|
97
|
-
error_messages.append(
|
|
134
|
+
error_messages.append(
|
|
135
|
+
f"Error! Input type `{type(v)}` is not `CandidateIdsRetrieveStep`"
|
|
136
|
+
)
|
|
98
137
|
else:
|
|
99
138
|
match += 1
|
|
100
139
|
# validate data type: CandidateAttributesRetrieveStep
|
|
101
140
|
if not isinstance(v, CandidateAttributesRetrieveStep):
|
|
102
|
-
error_messages.append(
|
|
141
|
+
error_messages.append(
|
|
142
|
+
f"Error! Input type `{type(v)}` is not `CandidateAttributesRetrieveStep`"
|
|
143
|
+
)
|
|
103
144
|
else:
|
|
104
145
|
match += 1
|
|
105
146
|
if match > 1:
|
|
106
147
|
# more than 1 match
|
|
107
|
-
raise ValueError(
|
|
148
|
+
raise ValueError(
|
|
149
|
+
"Multiple matches found when setting `actual_instance` in RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
|
|
150
|
+
+ ", ".join(error_messages)
|
|
151
|
+
)
|
|
108
152
|
elif match == 0:
|
|
109
153
|
# no match
|
|
110
|
-
raise ValueError(
|
|
154
|
+
raise ValueError(
|
|
155
|
+
"No match found when setting `actual_instance` in RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
|
|
156
|
+
+ ", ".join(error_messages)
|
|
157
|
+
)
|
|
111
158
|
else:
|
|
112
159
|
return v
|
|
113
160
|
|
|
@@ -154,17 +201,25 @@ class RankQueryConfigRetrieveInner(BaseModel):
|
|
|
154
201
|
error_messages.append(str(e))
|
|
155
202
|
# deserialize data into CandidateAttributesRetrieveStep
|
|
156
203
|
try:
|
|
157
|
-
instance.actual_instance = CandidateAttributesRetrieveStep.from_json(
|
|
204
|
+
instance.actual_instance = CandidateAttributesRetrieveStep.from_json(
|
|
205
|
+
json_str
|
|
206
|
+
)
|
|
158
207
|
match += 1
|
|
159
208
|
except (ValidationError, ValueError) as e:
|
|
160
209
|
error_messages.append(str(e))
|
|
161
210
|
|
|
162
211
|
if match > 1:
|
|
163
212
|
# more than 1 match
|
|
164
|
-
raise ValueError(
|
|
213
|
+
raise ValueError(
|
|
214
|
+
"Multiple matches found when deserializing the JSON string into RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
|
|
215
|
+
+ ", ".join(error_messages)
|
|
216
|
+
)
|
|
165
217
|
elif match == 0:
|
|
166
218
|
# no match
|
|
167
|
-
raise ValueError(
|
|
219
|
+
raise ValueError(
|
|
220
|
+
"No match found when deserializing the JSON string into RankQueryConfigRetrieveInner with oneOf schemas: CandidateAttributesRetrieveStep, CandidateIdsRetrieveStep, ColumnOrderRetrieveStep, FilterRetrieveStep, SimilarityRetrieveStep, TextSearchRetrieveStep. Details: "
|
|
221
|
+
+ ", ".join(error_messages)
|
|
222
|
+
)
|
|
168
223
|
else:
|
|
169
224
|
return instance
|
|
170
225
|
|
|
@@ -173,17 +228,33 @@ class RankQueryConfigRetrieveInner(BaseModel):
|
|
|
173
228
|
if self.actual_instance is None:
|
|
174
229
|
return "null"
|
|
175
230
|
|
|
176
|
-
if hasattr(self.actual_instance, "to_json") and callable(
|
|
231
|
+
if hasattr(self.actual_instance, "to_json") and callable(
|
|
232
|
+
self.actual_instance.to_json
|
|
233
|
+
):
|
|
177
234
|
return self.actual_instance.to_json()
|
|
178
235
|
else:
|
|
179
236
|
return json.dumps(self.actual_instance)
|
|
180
237
|
|
|
181
|
-
def to_dict(
|
|
238
|
+
def to_dict(
|
|
239
|
+
self,
|
|
240
|
+
) -> Optional[
|
|
241
|
+
Union[
|
|
242
|
+
Dict[str, Any],
|
|
243
|
+
CandidateAttributesRetrieveStep,
|
|
244
|
+
CandidateIdsRetrieveStep,
|
|
245
|
+
ColumnOrderRetrieveStep,
|
|
246
|
+
FilterRetrieveStep,
|
|
247
|
+
SimilarityRetrieveStep,
|
|
248
|
+
TextSearchRetrieveStep,
|
|
249
|
+
]
|
|
250
|
+
]:
|
|
182
251
|
"""Returns the dict representation of the actual instance"""
|
|
183
252
|
if self.actual_instance is None:
|
|
184
253
|
return None
|
|
185
254
|
|
|
186
|
-
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
255
|
+
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
256
|
+
self.actual_instance.to_dict
|
|
257
|
+
):
|
|
187
258
|
return self.actual_instance.to_dict()
|
|
188
259
|
else:
|
|
189
260
|
# primitive type
|
|
@@ -192,5 +263,3 @@ class RankQueryConfigRetrieveInner(BaseModel):
|
|
|
192
263
|
def to_str(self) -> str:
|
|
193
264
|
"""Returns the string representation of the actual instance"""
|
|
194
265
|
return pprint.pformat(self.model_dump())
|
|
195
|
-
|
|
196
|
-
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.0.
|
|
8
|
+
The version of the OpenAPI document: 2.0.4
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.0.
|
|
8
|
+
The version of the OpenAPI document: 2.0.4
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.0.
|
|
8
|
+
The version of the OpenAPI document: 2.0.4
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
|
|
7
7
|
|
|
8
|
-
The version of the OpenAPI document: 2.0.
|
|
8
|
+
The version of the OpenAPI document: 2.0.4
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
10
|
|
|
11
11
|
Do not edit the class manually.
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Shaped API
|
|
5
|
+
|
|
6
|
+
Welcome to Shaped's API reference docs. These provide a detailed view of the endpoints and CLI commands that Shaped provides and brief explanations of how they should be used. The Shaped API has four main endpoints: **Tables** - Provision and manage batch and real-time data connectors. **Views** - Configure SQL transformations and AI enrichment on your input data. Use SQL to combine multiple data sources or use an LLM to add new categories, extract specific attributes from descriptions, etc. **Engines** - Deploy and manage your relevance engines. The Engine API exposes configuration for indexing logic, input datasets, externam embeddings, and more. **Query** - Execute queries against your engines, to return data based on an input query or rerank an existing list. The Query API exposes the retrieve, filter, score, and ranking steps of the 4-stage ranking architecture. The base URL for each endpoint is: `https://api.shaped.ai/v2`
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.0.4
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
from inspect import getfullargspec
|
|
17
|
+
import json
|
|
18
|
+
import pprint
|
|
19
|
+
import re # noqa: F401
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
|
|
21
|
+
from typing import Optional
|
|
22
|
+
from shaped.autogen.models.boosted_reorder_step import BoostedReorderStep
|
|
23
|
+
from shaped.autogen.models.diversity_reorder_step import DiversityReorderStep
|
|
24
|
+
from shaped.autogen.models.exploration_reorder_step import ExplorationReorderStep
|
|
25
|
+
from typing import Union, Any, List, Set, TYPE_CHECKING, Optional, Dict
|
|
26
|
+
from typing_extensions import Literal, Self
|
|
27
|
+
from pydantic import Field
|
|
28
|
+
|
|
29
|
+
REORDERINNER_ANY_OF_SCHEMAS = ["BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep"]
|
|
30
|
+
|
|
31
|
+
class ReorderInner(BaseModel):
|
|
32
|
+
"""
|
|
33
|
+
ReorderInner
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
# data type: ExplorationReorderStep
|
|
37
|
+
anyof_schema_1_validator: Optional[ExplorationReorderStep] = None
|
|
38
|
+
# data type: BoostedReorderStep
|
|
39
|
+
anyof_schema_2_validator: Optional[BoostedReorderStep] = None
|
|
40
|
+
# data type: DiversityReorderStep
|
|
41
|
+
anyof_schema_3_validator: Optional[DiversityReorderStep] = None
|
|
42
|
+
if TYPE_CHECKING:
|
|
43
|
+
actual_instance: Optional[Union[BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]] = None
|
|
44
|
+
else:
|
|
45
|
+
actual_instance: Any = None
|
|
46
|
+
any_of_schemas: Set[str] = { "BoostedReorderStep", "DiversityReorderStep", "ExplorationReorderStep" }
|
|
47
|
+
|
|
48
|
+
model_config = {
|
|
49
|
+
"validate_assignment": True,
|
|
50
|
+
"protected_namespaces": (),
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
def __init__(self, *args, **kwargs) -> None:
|
|
54
|
+
if args:
|
|
55
|
+
if len(args) > 1:
|
|
56
|
+
raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
|
|
57
|
+
if kwargs:
|
|
58
|
+
raise ValueError("If a position argument is used, keyword arguments cannot be used.")
|
|
59
|
+
super().__init__(actual_instance=args[0])
|
|
60
|
+
else:
|
|
61
|
+
super().__init__(**kwargs)
|
|
62
|
+
|
|
63
|
+
@field_validator('actual_instance')
|
|
64
|
+
def actual_instance_must_validate_anyof(cls, v):
|
|
65
|
+
instance = ReorderInner.model_construct()
|
|
66
|
+
error_messages = []
|
|
67
|
+
# validate data type: ExplorationReorderStep
|
|
68
|
+
if not isinstance(v, ExplorationReorderStep):
|
|
69
|
+
error_messages.append(f"Error! Input type `{type(v)}` is not `ExplorationReorderStep`")
|
|
70
|
+
else:
|
|
71
|
+
return v
|
|
72
|
+
|
|
73
|
+
# validate data type: BoostedReorderStep
|
|
74
|
+
if not isinstance(v, BoostedReorderStep):
|
|
75
|
+
error_messages.append(f"Error! Input type `{type(v)}` is not `BoostedReorderStep`")
|
|
76
|
+
else:
|
|
77
|
+
return v
|
|
78
|
+
|
|
79
|
+
# validate data type: DiversityReorderStep
|
|
80
|
+
if not isinstance(v, DiversityReorderStep):
|
|
81
|
+
error_messages.append(f"Error! Input type `{type(v)}` is not `DiversityReorderStep`")
|
|
82
|
+
else:
|
|
83
|
+
return v
|
|
84
|
+
|
|
85
|
+
if error_messages:
|
|
86
|
+
# no match
|
|
87
|
+
raise ValueError("No match found when setting the actual_instance in ReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: " + ", ".join(error_messages))
|
|
88
|
+
else:
|
|
89
|
+
return v
|
|
90
|
+
|
|
91
|
+
@classmethod
|
|
92
|
+
def from_dict(cls, obj: Dict[str, Any]) -> Self:
|
|
93
|
+
return cls.from_json(json.dumps(obj))
|
|
94
|
+
|
|
95
|
+
@classmethod
|
|
96
|
+
def from_json(cls, json_str: str) -> Self:
|
|
97
|
+
"""Returns the object represented by the json string"""
|
|
98
|
+
instance = cls.model_construct()
|
|
99
|
+
error_messages = []
|
|
100
|
+
# anyof_schema_1_validator: Optional[ExplorationReorderStep] = None
|
|
101
|
+
try:
|
|
102
|
+
instance.actual_instance = ExplorationReorderStep.from_json(json_str)
|
|
103
|
+
return instance
|
|
104
|
+
except (ValidationError, ValueError) as e:
|
|
105
|
+
error_messages.append(str(e))
|
|
106
|
+
# anyof_schema_2_validator: Optional[BoostedReorderStep] = None
|
|
107
|
+
try:
|
|
108
|
+
instance.actual_instance = BoostedReorderStep.from_json(json_str)
|
|
109
|
+
return instance
|
|
110
|
+
except (ValidationError, ValueError) as e:
|
|
111
|
+
error_messages.append(str(e))
|
|
112
|
+
# anyof_schema_3_validator: Optional[DiversityReorderStep] = None
|
|
113
|
+
try:
|
|
114
|
+
instance.actual_instance = DiversityReorderStep.from_json(json_str)
|
|
115
|
+
return instance
|
|
116
|
+
except (ValidationError, ValueError) as e:
|
|
117
|
+
error_messages.append(str(e))
|
|
118
|
+
|
|
119
|
+
if error_messages:
|
|
120
|
+
# no match
|
|
121
|
+
raise ValueError("No match found when deserializing the JSON string into ReorderInner with anyOf schemas: BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep. Details: " + ", ".join(error_messages))
|
|
122
|
+
else:
|
|
123
|
+
return instance
|
|
124
|
+
|
|
125
|
+
def to_json(self) -> str:
|
|
126
|
+
"""Returns the JSON representation of the actual instance"""
|
|
127
|
+
if self.actual_instance is None:
|
|
128
|
+
return "null"
|
|
129
|
+
|
|
130
|
+
if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
|
|
131
|
+
return self.actual_instance.to_json()
|
|
132
|
+
else:
|
|
133
|
+
return json.dumps(self.actual_instance)
|
|
134
|
+
|
|
135
|
+
def to_dict(self) -> Optional[Union[Dict[str, Any], BoostedReorderStep, DiversityReorderStep, ExplorationReorderStep]]:
|
|
136
|
+
"""Returns the dict representation of the actual instance"""
|
|
137
|
+
if self.actual_instance is None:
|
|
138
|
+
return None
|
|
139
|
+
|
|
140
|
+
if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
|
|
141
|
+
return self.actual_instance.to_dict()
|
|
142
|
+
else:
|
|
143
|
+
return self.actual_instance
|
|
144
|
+
|
|
145
|
+
def to_str(self) -> str:
|
|
146
|
+
"""Returns the string representation of the actual instance"""
|
|
147
|
+
return pprint.pformat(self.model_dump())
|
|
148
|
+
|
|
149
|
+
|