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
|
@@ -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.
|
|
@@ -19,6 +19,8 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
|
+
from shaped.autogen.models.inner_entity_id import InnerEntityId
|
|
23
|
+
from shaped.autogen.models.retrieval_scores_value import RetrievalScoresValue
|
|
22
24
|
from typing import Optional, Set
|
|
23
25
|
from typing_extensions import Self
|
|
24
26
|
|
|
@@ -27,18 +29,17 @@ class EntityJourney(BaseModel):
|
|
|
27
29
|
Tracks a single entity's journey through the query pipeline. Shows which retrievers found it, scores at each stage, filtering/reordering impact, and final position. Used in RankQueryConfig queries for both items and users.
|
|
28
30
|
""" # noqa: E501
|
|
29
31
|
entity_id: StrictStr = Field(description="External entity identifier (item_id or user_id as a string). This is the original ID format from your dataset.")
|
|
30
|
-
inner_entity_id: Optional[
|
|
32
|
+
inner_entity_id: Optional[InnerEntityId] = None
|
|
31
33
|
retrieved_by: Optional[List[StrictStr]] = Field(default=None, description="List of retrieval step names that found this entity. Shows which retrievers contributed this entity to the candidate set.")
|
|
32
|
-
retrieval_scores: Optional[Dict[str,
|
|
34
|
+
retrieval_scores: Optional[Dict[str, Optional[RetrievalScoresValue]]] = Field(default=None, description="Scores from each retrieval step. Dictionary mapping step names to their scores for this entity.")
|
|
33
35
|
retrieval_rank: Optional[Dict[str, StrictInt]] = Field(default=None, description="Rank position from each retrieval step. Dictionary mapping step names to their rank positions for this entity.")
|
|
34
36
|
filter_results: Optional[Dict[str, StrictBool]] = Field(default=None, description="Results from each filter step. Dictionary mapping filter step names to whether this entity passed (true) or failed (false) the filter.")
|
|
35
37
|
filtered_out_by: Optional[StrictStr] = None
|
|
36
38
|
score: Optional[Union[StrictFloat, StrictInt]] = None
|
|
37
39
|
score_rank: Optional[StrictInt] = None
|
|
38
|
-
reorder_changes: Optional[List[
|
|
40
|
+
reorder_changes: Optional[List[Dict[str, Any]]] = None
|
|
39
41
|
final_position: Optional[StrictInt] = None
|
|
40
42
|
final_score: Optional[Union[StrictFloat, StrictInt]] = None
|
|
41
|
-
additional_properties: Dict[str, Any] = {}
|
|
42
43
|
__properties: ClassVar[List[str]] = ["entity_id", "inner_entity_id", "retrieved_by", "retrieval_scores", "retrieval_rank", "filter_results", "filtered_out_by", "score", "score_rank", "reorder_changes", "final_position", "final_score"]
|
|
43
44
|
|
|
44
45
|
model_config = ConfigDict(
|
|
@@ -71,10 +72,8 @@ class EntityJourney(BaseModel):
|
|
|
71
72
|
* `None` is only added to the output dict for nullable fields that
|
|
72
73
|
were set at model initialization. Other fields with value `None`
|
|
73
74
|
are ignored.
|
|
74
|
-
* Fields in `self.additional_properties` are added to the output dict.
|
|
75
75
|
"""
|
|
76
76
|
excluded_fields: Set[str] = set([
|
|
77
|
-
"additional_properties",
|
|
78
77
|
])
|
|
79
78
|
|
|
80
79
|
_dict = self.model_dump(
|
|
@@ -82,11 +81,16 @@ class EntityJourney(BaseModel):
|
|
|
82
81
|
exclude=excluded_fields,
|
|
83
82
|
exclude_none=True,
|
|
84
83
|
)
|
|
85
|
-
#
|
|
86
|
-
if self.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
# override the default output from pydantic by calling `to_dict()` of inner_entity_id
|
|
85
|
+
if self.inner_entity_id:
|
|
86
|
+
_dict['inner_entity_id'] = self.inner_entity_id.to_dict()
|
|
87
|
+
# override the default output from pydantic by calling `to_dict()` of each value in retrieval_scores (dict)
|
|
88
|
+
_field_dict = {}
|
|
89
|
+
if self.retrieval_scores:
|
|
90
|
+
for _key_retrieval_scores in self.retrieval_scores:
|
|
91
|
+
if self.retrieval_scores[_key_retrieval_scores]:
|
|
92
|
+
_field_dict[_key_retrieval_scores] = self.retrieval_scores[_key_retrieval_scores].to_dict()
|
|
93
|
+
_dict['retrieval_scores'] = _field_dict
|
|
90
94
|
# set to None if inner_entity_id (nullable) is None
|
|
91
95
|
# and model_fields_set contains the field
|
|
92
96
|
if self.inner_entity_id is None and "inner_entity_id" in self.model_fields_set:
|
|
@@ -107,6 +111,11 @@ class EntityJourney(BaseModel):
|
|
|
107
111
|
if self.score_rank is None and "score_rank" in self.model_fields_set:
|
|
108
112
|
_dict['score_rank'] = None
|
|
109
113
|
|
|
114
|
+
# set to None if reorder_changes (nullable) is None
|
|
115
|
+
# and model_fields_set contains the field
|
|
116
|
+
if self.reorder_changes is None and "reorder_changes" in self.model_fields_set:
|
|
117
|
+
_dict['reorder_changes'] = None
|
|
118
|
+
|
|
110
119
|
# set to None if final_position (nullable) is None
|
|
111
120
|
# and model_fields_set contains the field
|
|
112
121
|
if self.final_position is None and "final_position" in self.model_fields_set:
|
|
@@ -130,9 +139,14 @@ class EntityJourney(BaseModel):
|
|
|
130
139
|
|
|
131
140
|
_obj = cls.model_validate({
|
|
132
141
|
"entity_id": obj.get("entity_id"),
|
|
133
|
-
"inner_entity_id": obj.get("inner_entity_id"),
|
|
142
|
+
"inner_entity_id": InnerEntityId.from_dict(obj["inner_entity_id"]) if obj.get("inner_entity_id") is not None else None,
|
|
134
143
|
"retrieved_by": obj.get("retrieved_by"),
|
|
135
|
-
"retrieval_scores":
|
|
144
|
+
"retrieval_scores": dict(
|
|
145
|
+
(_k, RetrievalScoresValue.from_dict(_v))
|
|
146
|
+
for _k, _v in obj["retrieval_scores"].items()
|
|
147
|
+
)
|
|
148
|
+
if obj.get("retrieval_scores") is not None
|
|
149
|
+
else None,
|
|
136
150
|
"retrieval_rank": obj.get("retrieval_rank"),
|
|
137
151
|
"filter_results": obj.get("filter_results"),
|
|
138
152
|
"filtered_out_by": obj.get("filtered_out_by"),
|
|
@@ -142,11 +156,6 @@ class EntityJourney(BaseModel):
|
|
|
142
156
|
"final_position": obj.get("final_position"),
|
|
143
157
|
"final_score": obj.get("final_score")
|
|
144
158
|
})
|
|
145
|
-
# store additional fields in additional_properties
|
|
146
|
-
for _key in obj.keys():
|
|
147
|
-
if _key not in cls.__properties:
|
|
148
|
-
_obj.additional_properties[_key] = obj.get(_key)
|
|
149
|
-
|
|
150
159
|
return _obj
|
|
151
160
|
|
|
152
161
|
|
|
@@ -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.
|
shaped/autogen/models/factors.py
CHANGED
|
@@ -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.
|
shaped/autogen/models/feature.py
CHANGED
|
@@ -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.
|
|
@@ -19,8 +19,8 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
21
|
from typing import Any, ClassVar, Dict, List
|
|
22
|
-
from shaped.autogen.models.
|
|
23
|
-
from shaped.autogen.models.
|
|
22
|
+
from shaped.autogen.models.filter_table import FilterTable
|
|
23
|
+
from shaped.autogen.models.filter_type import FilterType
|
|
24
24
|
from typing import Optional, Set
|
|
25
25
|
from typing_extensions import Self
|
|
26
26
|
|
|
@@ -29,9 +29,9 @@ class FilterConfig(BaseModel):
|
|
|
29
29
|
FilterConfig
|
|
30
30
|
""" # noqa: E501
|
|
31
31
|
name: StrictStr = Field(description="Unique identifier for the filter.")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
__properties: ClassVar[List[str]] = ["name", "
|
|
32
|
+
filter_table: FilterTable
|
|
33
|
+
filter_type: FilterType
|
|
34
|
+
__properties: ClassVar[List[str]] = ["name", "filter_table", "filter_type"]
|
|
35
35
|
|
|
36
36
|
model_config = ConfigDict(
|
|
37
37
|
populate_by_name=True,
|
|
@@ -72,12 +72,12 @@ class FilterConfig(BaseModel):
|
|
|
72
72
|
exclude=excluded_fields,
|
|
73
73
|
exclude_none=True,
|
|
74
74
|
)
|
|
75
|
-
# override the default output from pydantic by calling `to_dict()` of
|
|
76
|
-
if self.
|
|
77
|
-
_dict['
|
|
78
|
-
# override the default output from pydantic by calling `to_dict()` of
|
|
79
|
-
if self.
|
|
80
|
-
_dict['
|
|
75
|
+
# override the default output from pydantic by calling `to_dict()` of filter_table
|
|
76
|
+
if self.filter_table:
|
|
77
|
+
_dict['filter_table'] = self.filter_table.to_dict()
|
|
78
|
+
# override the default output from pydantic by calling `to_dict()` of filter_type
|
|
79
|
+
if self.filter_type:
|
|
80
|
+
_dict['filter_type'] = self.filter_type.to_dict()
|
|
81
81
|
return _dict
|
|
82
82
|
|
|
83
83
|
@classmethod
|
|
@@ -91,8 +91,8 @@ class FilterConfig(BaseModel):
|
|
|
91
91
|
|
|
92
92
|
_obj = cls.model_validate({
|
|
93
93
|
"name": obj.get("name"),
|
|
94
|
-
"
|
|
95
|
-
"
|
|
94
|
+
"filter_table": FilterTable.from_dict(obj["filter_table"]) if obj.get("filter_table") is not None else None,
|
|
95
|
+
"filter_type": FilterType.from_dict(obj["filter_type"]) if obj.get("filter_type") is not None else None
|
|
96
96
|
})
|
|
97
97
|
return _obj
|
|
98
98
|
|
|
@@ -13,69 +13,83 @@
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
from __future__ import annotations
|
|
16
|
+
|
|
16
17
|
import json
|
|
17
18
|
import pprint
|
|
18
|
-
from
|
|
19
|
-
|
|
19
|
+
from typing import Any, Dict, Optional, Set, Union
|
|
20
|
+
|
|
21
|
+
from pydantic import BaseModel, ConfigDict, ValidationError, field_validator
|
|
20
22
|
from shaped.autogen.models.query_table_config import QueryTableConfig
|
|
21
23
|
from shaped.autogen.models.reference_table_config import ReferenceTableConfig
|
|
22
|
-
from
|
|
23
|
-
from typing import Union, List, Set, Optional, Dict
|
|
24
|
-
from typing_extensions import Literal, Self
|
|
24
|
+
from typing_extensions import Self
|
|
25
25
|
|
|
26
26
|
FILTERDATASET_ONE_OF_SCHEMAS = ["QueryTableConfig", "ReferenceTableConfig"]
|
|
27
27
|
|
|
28
|
+
|
|
28
29
|
class FilterDataset(BaseModel):
|
|
29
30
|
"""
|
|
30
31
|
Dataset configuration for the filter source data.
|
|
31
32
|
"""
|
|
33
|
+
|
|
32
34
|
# data type: QueryTableConfig
|
|
33
35
|
oneof_schema_1_validator: Optional[QueryTableConfig] = None
|
|
34
36
|
# data type: ReferenceTableConfig
|
|
35
37
|
oneof_schema_2_validator: Optional[ReferenceTableConfig] = None
|
|
36
38
|
actual_instance: Optional[Union[QueryTableConfig, ReferenceTableConfig]] = None
|
|
37
|
-
one_of_schemas: Set[str] = {
|
|
39
|
+
one_of_schemas: Set[str] = {"QueryTableConfig", "ReferenceTableConfig"}
|
|
38
40
|
|
|
39
41
|
model_config = ConfigDict(
|
|
40
42
|
validate_assignment=True,
|
|
41
43
|
protected_namespaces=(),
|
|
42
44
|
)
|
|
43
45
|
|
|
44
|
-
|
|
45
|
-
discriminator_value_class_map: Dict[str, str] = {
|
|
46
|
-
}
|
|
46
|
+
discriminator_value_class_map: Dict[str, str] = {}
|
|
47
47
|
|
|
48
48
|
def __init__(self, *args, **kwargs) -> None:
|
|
49
49
|
if args:
|
|
50
50
|
if len(args) > 1:
|
|
51
|
-
raise ValueError(
|
|
51
|
+
raise ValueError(
|
|
52
|
+
"If a position argument is used, only 1 is allowed to set `actual_instance`"
|
|
53
|
+
)
|
|
52
54
|
if kwargs:
|
|
53
|
-
raise ValueError(
|
|
55
|
+
raise ValueError(
|
|
56
|
+
"If a position argument is used, keyword arguments cannot be used."
|
|
57
|
+
)
|
|
54
58
|
super().__init__(actual_instance=args[0])
|
|
55
59
|
else:
|
|
56
60
|
super().__init__(**kwargs)
|
|
57
61
|
|
|
58
|
-
@field_validator(
|
|
62
|
+
@field_validator("actual_instance")
|
|
59
63
|
def actual_instance_must_validate_oneof(cls, v):
|
|
60
64
|
instance = FilterDataset.model_construct()
|
|
61
65
|
error_messages = []
|
|
62
66
|
match = 0
|
|
63
67
|
# validate data type: QueryTableConfig
|
|
64
68
|
if not isinstance(v, QueryTableConfig):
|
|
65
|
-
error_messages.append(
|
|
69
|
+
error_messages.append(
|
|
70
|
+
f"Error! Input type `{type(v)}` is not `QueryTableConfig`"
|
|
71
|
+
)
|
|
66
72
|
else:
|
|
67
73
|
match += 1
|
|
68
74
|
# validate data type: ReferenceTableConfig
|
|
69
75
|
if not isinstance(v, ReferenceTableConfig):
|
|
70
|
-
error_messages.append(
|
|
76
|
+
error_messages.append(
|
|
77
|
+
f"Error! Input type `{type(v)}` is not `ReferenceTableConfig`"
|
|
78
|
+
)
|
|
71
79
|
else:
|
|
72
80
|
match += 1
|
|
73
81
|
if match > 1:
|
|
74
82
|
# more than 1 match
|
|
75
|
-
raise ValueError(
|
|
83
|
+
raise ValueError(
|
|
84
|
+
"Multiple matches found when setting `actual_instance` in FilterDataset with oneOf schemas: QueryTableConfig, ReferenceTableConfig. Details: "
|
|
85
|
+
+ ", ".join(error_messages)
|
|
86
|
+
)
|
|
76
87
|
elif match == 0:
|
|
77
88
|
# no match
|
|
78
|
-
raise ValueError(
|
|
89
|
+
raise ValueError(
|
|
90
|
+
"No match found when setting `actual_instance` in FilterDataset with oneOf schemas: QueryTableConfig, ReferenceTableConfig. Details: "
|
|
91
|
+
+ ", ".join(error_messages)
|
|
92
|
+
)
|
|
79
93
|
else:
|
|
80
94
|
return v
|
|
81
95
|
|
|
@@ -105,10 +119,16 @@ class FilterDataset(BaseModel):
|
|
|
105
119
|
|
|
106
120
|
if match > 1:
|
|
107
121
|
# more than 1 match
|
|
108
|
-
raise ValueError(
|
|
122
|
+
raise ValueError(
|
|
123
|
+
"Multiple matches found when deserializing the JSON string into FilterDataset with oneOf schemas: QueryTableConfig, ReferenceTableConfig. Details: "
|
|
124
|
+
+ ", ".join(error_messages)
|
|
125
|
+
)
|
|
109
126
|
elif match == 0:
|
|
110
127
|
# no match
|
|
111
|
-
raise ValueError(
|
|
128
|
+
raise ValueError(
|
|
129
|
+
"No match found when deserializing the JSON string into FilterDataset with oneOf schemas: QueryTableConfig, ReferenceTableConfig. Details: "
|
|
130
|
+
+ ", ".join(error_messages)
|
|
131
|
+
)
|
|
112
132
|
else:
|
|
113
133
|
return instance
|
|
114
134
|
|
|
@@ -117,17 +137,23 @@ class FilterDataset(BaseModel):
|
|
|
117
137
|
if self.actual_instance is None:
|
|
118
138
|
return "null"
|
|
119
139
|
|
|
120
|
-
if hasattr(self.actual_instance, "to_json") and callable(
|
|
140
|
+
if hasattr(self.actual_instance, "to_json") and callable(
|
|
141
|
+
self.actual_instance.to_json
|
|
142
|
+
):
|
|
121
143
|
return self.actual_instance.to_json()
|
|
122
144
|
else:
|
|
123
145
|
return json.dumps(self.actual_instance)
|
|
124
146
|
|
|
125
|
-
def to_dict(
|
|
147
|
+
def to_dict(
|
|
148
|
+
self,
|
|
149
|
+
) -> Optional[Union[Dict[str, Any], QueryTableConfig, ReferenceTableConfig]]:
|
|
126
150
|
"""Returns the dict representation of the actual instance"""
|
|
127
151
|
if self.actual_instance is None:
|
|
128
152
|
return None
|
|
129
153
|
|
|
130
|
-
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
154
|
+
if hasattr(self.actual_instance, "to_dict") and callable(
|
|
155
|
+
self.actual_instance.to_dict
|
|
156
|
+
):
|
|
131
157
|
return self.actual_instance.to_dict()
|
|
132
158
|
else:
|
|
133
159
|
# primitive type
|
|
@@ -136,5 +162,3 @@ class FilterDataset(BaseModel):
|
|
|
136
162
|
def to_str(self) -> str:
|
|
137
163
|
"""Returns the string representation of the actual instance"""
|
|
138
164
|
return pprint.pformat(self.model_dump())
|
|
139
|
-
|
|
140
|
-
|
|
@@ -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,165 @@
|
|
|
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
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
|
|
25
|
+
class FilterStepExplanation(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Explanation for a filter step.
|
|
28
|
+
""" # noqa: E501
|
|
29
|
+
step_name: Optional[StrictStr] = None
|
|
30
|
+
step_type: Optional[StrictStr] = Field(default='', description="Type of step. Examples: 'column_order', 'similarity', 'text_search', 'prebuilt', 'expression', 'score_ensemble', 'diversity', etc.")
|
|
31
|
+
input_count: Optional[StrictInt] = None
|
|
32
|
+
output_count: Optional[StrictInt] = None
|
|
33
|
+
filtered_count: Optional[StrictInt] = None
|
|
34
|
+
execution_time_ms: Optional[Union[StrictFloat, StrictInt]] = None
|
|
35
|
+
metadata: Optional[Dict[str, Any]] = Field(default=None, description="Additional step-specific metadata. Contains implementation details specific to the step type.")
|
|
36
|
+
filter_type: Optional[StrictStr] = None
|
|
37
|
+
filter_name: Optional[StrictStr] = None
|
|
38
|
+
expression: Optional[StrictStr] = None
|
|
39
|
+
items_filtered: Optional[StrictInt] = None
|
|
40
|
+
additional_properties: Dict[str, Any] = {}
|
|
41
|
+
__properties: ClassVar[List[str]] = ["step_name", "step_type", "input_count", "output_count", "filtered_count", "execution_time_ms", "metadata", "filter_type", "filter_name", "expression", "items_filtered"]
|
|
42
|
+
|
|
43
|
+
model_config = ConfigDict(
|
|
44
|
+
populate_by_name=True,
|
|
45
|
+
validate_assignment=True,
|
|
46
|
+
protected_namespaces=(),
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def to_str(self) -> str:
|
|
51
|
+
"""Returns the string representation of the model using alias"""
|
|
52
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
53
|
+
|
|
54
|
+
def to_json(self) -> str:
|
|
55
|
+
"""Returns the JSON representation of the model using alias"""
|
|
56
|
+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
|
|
57
|
+
return json.dumps(self.to_dict())
|
|
58
|
+
|
|
59
|
+
@classmethod
|
|
60
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
61
|
+
"""Create an instance of FilterStepExplanation from a JSON string"""
|
|
62
|
+
return cls.from_dict(json.loads(json_str))
|
|
63
|
+
|
|
64
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
65
|
+
"""Return the dictionary representation of the model using alias.
|
|
66
|
+
|
|
67
|
+
This has the following differences from calling pydantic's
|
|
68
|
+
`self.model_dump(by_alias=True)`:
|
|
69
|
+
|
|
70
|
+
* `None` is only added to the output dict for nullable fields that
|
|
71
|
+
were set at model initialization. Other fields with value `None`
|
|
72
|
+
are ignored.
|
|
73
|
+
* Fields in `self.additional_properties` are added to the output dict.
|
|
74
|
+
"""
|
|
75
|
+
excluded_fields: Set[str] = set([
|
|
76
|
+
"additional_properties",
|
|
77
|
+
])
|
|
78
|
+
|
|
79
|
+
_dict = self.model_dump(
|
|
80
|
+
by_alias=True,
|
|
81
|
+
exclude=excluded_fields,
|
|
82
|
+
exclude_none=True,
|
|
83
|
+
)
|
|
84
|
+
# puts key-value pairs in additional_properties in the top level
|
|
85
|
+
if self.additional_properties is not None:
|
|
86
|
+
for _key, _value in self.additional_properties.items():
|
|
87
|
+
_dict[_key] = _value
|
|
88
|
+
|
|
89
|
+
# set to None if step_name (nullable) is None
|
|
90
|
+
# and model_fields_set contains the field
|
|
91
|
+
if self.step_name is None and "step_name" in self.model_fields_set:
|
|
92
|
+
_dict['step_name'] = None
|
|
93
|
+
|
|
94
|
+
# set to None if input_count (nullable) is None
|
|
95
|
+
# and model_fields_set contains the field
|
|
96
|
+
if self.input_count is None and "input_count" in self.model_fields_set:
|
|
97
|
+
_dict['input_count'] = None
|
|
98
|
+
|
|
99
|
+
# set to None if output_count (nullable) is None
|
|
100
|
+
# and model_fields_set contains the field
|
|
101
|
+
if self.output_count is None and "output_count" in self.model_fields_set:
|
|
102
|
+
_dict['output_count'] = None
|
|
103
|
+
|
|
104
|
+
# set to None if filtered_count (nullable) is None
|
|
105
|
+
# and model_fields_set contains the field
|
|
106
|
+
if self.filtered_count is None and "filtered_count" in self.model_fields_set:
|
|
107
|
+
_dict['filtered_count'] = None
|
|
108
|
+
|
|
109
|
+
# set to None if execution_time_ms (nullable) is None
|
|
110
|
+
# and model_fields_set contains the field
|
|
111
|
+
if self.execution_time_ms is None and "execution_time_ms" in self.model_fields_set:
|
|
112
|
+
_dict['execution_time_ms'] = None
|
|
113
|
+
|
|
114
|
+
# set to None if filter_type (nullable) is None
|
|
115
|
+
# and model_fields_set contains the field
|
|
116
|
+
if self.filter_type is None and "filter_type" in self.model_fields_set:
|
|
117
|
+
_dict['filter_type'] = None
|
|
118
|
+
|
|
119
|
+
# set to None if filter_name (nullable) is None
|
|
120
|
+
# and model_fields_set contains the field
|
|
121
|
+
if self.filter_name is None and "filter_name" in self.model_fields_set:
|
|
122
|
+
_dict['filter_name'] = None
|
|
123
|
+
|
|
124
|
+
# set to None if expression (nullable) is None
|
|
125
|
+
# and model_fields_set contains the field
|
|
126
|
+
if self.expression is None and "expression" in self.model_fields_set:
|
|
127
|
+
_dict['expression'] = None
|
|
128
|
+
|
|
129
|
+
# set to None if items_filtered (nullable) is None
|
|
130
|
+
# and model_fields_set contains the field
|
|
131
|
+
if self.items_filtered is None and "items_filtered" in self.model_fields_set:
|
|
132
|
+
_dict['items_filtered'] = None
|
|
133
|
+
|
|
134
|
+
return _dict
|
|
135
|
+
|
|
136
|
+
@classmethod
|
|
137
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
138
|
+
"""Create an instance of FilterStepExplanation from a dict"""
|
|
139
|
+
if obj is None:
|
|
140
|
+
return None
|
|
141
|
+
|
|
142
|
+
if not isinstance(obj, dict):
|
|
143
|
+
return cls.model_validate(obj)
|
|
144
|
+
|
|
145
|
+
_obj = cls.model_validate({
|
|
146
|
+
"step_name": obj.get("step_name"),
|
|
147
|
+
"step_type": obj.get("step_type") if obj.get("step_type") is not None else '',
|
|
148
|
+
"input_count": obj.get("input_count"),
|
|
149
|
+
"output_count": obj.get("output_count"),
|
|
150
|
+
"filtered_count": obj.get("filtered_count"),
|
|
151
|
+
"execution_time_ms": obj.get("execution_time_ms"),
|
|
152
|
+
"metadata": obj.get("metadata"),
|
|
153
|
+
"filter_type": obj.get("filter_type"),
|
|
154
|
+
"filter_name": obj.get("filter_name"),
|
|
155
|
+
"expression": obj.get("expression"),
|
|
156
|
+
"items_filtered": obj.get("items_filtered")
|
|
157
|
+
})
|
|
158
|
+
# store additional fields in additional_properties
|
|
159
|
+
for _key in obj.keys():
|
|
160
|
+
if _key not in cls.__properties:
|
|
161
|
+
_obj.additional_properties[_key] = obj.get(_key)
|
|
162
|
+
|
|
163
|
+
return _obj
|
|
164
|
+
|
|
165
|
+
|