rapidata 2.23.2__py3-none-any.whl → 3.0.1__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.
Potentially problematic release.
This version of rapidata might be problematic. Click here for more details.
- rapidata/__init__.py +31 -14
- rapidata/api_client/__init__.py +84 -312
- rapidata/api_client/api/__init__.py +12 -3
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +3044 -0
- rapidata/api_client/api/benchmark_api.py +4307 -0
- rapidata/api_client/api/campaign_api.py +232 -207
- rapidata/api_client/api/client_api.py +166 -145
- rapidata/api_client/api/coco_api.py +0 -571
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +2216 -0
- rapidata/api_client/api/datapoint_api.py +8 -797
- rapidata/api_client/api/dataset_api.py +276 -2858
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -281
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +83 -1171
- rapidata/api_client/api/job_api.py +4200 -0
- rapidata/api_client/api/job_definition_api.py +319 -0
- rapidata/api_client/api/job_revision_api.py +335 -0
- rapidata/api_client/api/leaderboard_api.py +2855 -0
- rapidata/api_client/api/newsletter_api.py +30 -317
- rapidata/api_client/api/order_api.py +758 -5487
- rapidata/api_client/api/participant_api.py +2181 -0
- rapidata/api_client/api/pipeline_api.py +24 -1783
- rapidata/api_client/api/prompt_api.py +320 -0
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +300 -0
- rapidata/api_client/api/simple_workflow_api.py +11 -10
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +1389 -0
- rapidata/api_client/api/validation_set_api.py +510 -3230
- rapidata/api_client/api/workflow_api.py +32 -825
- rapidata/api_client/api_client.py +2 -2
- rapidata/api_client/configuration.py +16 -29
- rapidata/api_client/exceptions.py +2 -2
- rapidata/api_client/models/__init__.py +65 -291
- rapidata/api_client/models/ab_test_selection_a_inner.py +27 -13
- rapidata/api_client/models/add_campaign_model.py +8 -3
- rapidata/api_client/models/add_rapid_to_audience_model.py +144 -0
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +49 -28
- rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
- rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
- rapidata/api_client/models/add_validation_rapid_model_truth.py +32 -12
- rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
- rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
- rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
- rapidata/api_client/models/add_validation_text_rapid_model.py +4 -6
- rapidata/api_client/models/age_user_filter_model.py +2 -2
- rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
- rapidata/api_client/models/aggregated_orders_model.py +98 -0
- rapidata/api_client/models/aggregator_type.py +4 -2
- rapidata/api_client/models/and_filter.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/and_user_filter_model.py +106 -0
- rapidata/api_client/models/and_user_filter_model_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +106 -0
- rapidata/api_client/models/asset_metadata_asset.py +170 -0
- rapidata/api_client/models/asset_metadata_model.py +96 -0
- rapidata/api_client/models/asset_metadata_model_asset.py +170 -0
- rapidata/api_client/models/asset_type.py +40 -0
- rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
- rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
- rapidata/api_client/models/audience_job_state.py +38 -0
- rapidata/api_client/models/audience_status.py +39 -0
- rapidata/api_client/models/benchmark_query_result.py +98 -0
- rapidata/api_client/models/benchmark_query_result_paged_result.py +105 -0
- rapidata/api_client/models/boost_leaderboard_model.py +89 -0
- rapidata/api_client/models/boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +97 -0
- rapidata/api_client/models/boost_query_result_boost_mode.py +37 -0
- rapidata/api_client/models/boost_query_result_boost_status.py +39 -0
- rapidata/api_client/models/boost_status.py +39 -0
- rapidata/api_client/models/boosting_profile.py +91 -0
- rapidata/api_client/models/box_shape.py +4 -33
- rapidata/api_client/models/campaign_filter.py +98 -0
- rapidata/api_client/models/campaign_query_result.py +15 -13
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +89 -0
- rapidata/api_client/models/classification_metadata.py +12 -1
- rapidata/api_client/models/classify_payload.py +14 -15
- rapidata/api_client/models/classify_payload_category.py +89 -0
- rapidata/api_client/models/client_model.py +181 -0
- rapidata/api_client/models/clients_query_result.py +5 -5
- rapidata/api_client/models/clone_order_model.py +6 -8
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_result.py +1 -10
- rapidata/api_client/models/compare_workflow_config.py +34 -23
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_metadata_value.py +75 -17
- rapidata/api_client/models/compare_workflow_config_model.py +15 -5
- rapidata/api_client/models/compare_workflow_model.py +34 -6
- rapidata/api_client/models/compare_workflow_model1.py +20 -9
- rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
- rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
- rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
- rapidata/api_client/models/comparison_operator.py +2 -2
- rapidata/api_client/models/conditional_validation_selection.py +8 -11
- rapidata/api_client/models/conditional_validation_selection_validation_chance.py +103 -0
- rapidata/api_client/models/confidence_interval.py +89 -0
- rapidata/api_client/models/count_metadata.py +12 -1
- rapidata/api_client/models/country_filter.py +98 -0
- rapidata/api_client/models/create_audience_request.py +122 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_model.py +87 -0
- rapidata/api_client/models/create_benchmark_participant_result.py +89 -0
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +87 -0
- rapidata/api_client/models/create_bridge_token_result.py +2 -2
- rapidata/api_client/models/create_client_model.py +6 -13
- rapidata/api_client/models/create_complex_order_model.py +9 -9
- rapidata/api_client/models/create_complex_order_result.py +6 -4
- rapidata/api_client/models/create_customer_client_result.py +89 -0
- rapidata/api_client/models/create_datapoint_from_files_model_metadata_inner.py +25 -11
- rapidata/api_client/models/create_datapoint_model.py +124 -0
- rapidata/api_client/models/create_datapoint_model_asset.py +154 -0
- rapidata/api_client/models/create_datapoint_model_context_asset.py +160 -0
- rapidata/api_client/models/create_datapoint_model_metadata_inner.py +154 -0
- rapidata/api_client/models/create_datapoint_result.py +6 -18
- rapidata/api_client/models/create_dataset_endpoint_input.py +87 -0
- rapidata/api_client/models/create_dataset_endpoint_output.py +87 -0
- rapidata/api_client/models/create_demographic_rapid_model.py +45 -7
- rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
- rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
- rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
- rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_endpoint_input.py +100 -0
- rapidata/api_client/models/create_job_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
- rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
- rapidata/api_client/models/create_leaderboard_model.py +147 -0
- rapidata/api_client/models/create_leaderboard_participant_model.py +87 -0
- rapidata/api_client/models/create_leaderboard_participant_result.py +89 -0
- rapidata/api_client/models/create_leaderboard_result.py +99 -0
- rapidata/api_client/models/create_order_definition_model.py +119 -0
- rapidata/api_client/models/create_order_definition_result.py +87 -0
- rapidata/api_client/models/create_order_definition_revision_model.py +117 -0
- rapidata/api_client/models/create_order_definition_revision_result.py +87 -0
- rapidata/api_client/models/create_order_model.py +30 -103
- rapidata/api_client/models/create_order_model_referee.py +12 -12
- rapidata/api_client/models/create_order_model_workflow.py +35 -21
- rapidata/api_client/models/create_order_result.py +6 -4
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +93 -0
- rapidata/api_client/models/create_sample_model_asset.py +154 -0
- rapidata/api_client/models/create_sample_model_obsolete.py +87 -0
- rapidata/api_client/models/create_simple_pipeline_model_pipeline_steps_inner.py +8 -22
- rapidata/api_client/models/create_unsupported_order_model.py +6 -6
- rapidata/api_client/models/create_validation_set_model.py +5 -5
- rapidata/api_client/models/datapoint_metadata_model.py +3 -3
- rapidata/api_client/models/datapoint_model.py +3 -3
- rapidata/api_client/models/datapoint_model_paged_result.py +105 -0
- rapidata/api_client/models/datapoint_state.py +2 -2
- rapidata/api_client/models/dataset_dataset_id_datapoints_post_request_metadata_inner.py +182 -0
- rapidata/api_client/models/definition_type.py +49 -0
- rapidata/api_client/models/demographic_filter.py +100 -0
- rapidata/api_client/models/dynamic_client_registration_request.py +160 -0
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- rapidata/api_client/models/effort_capped_selection.py +106 -0
- rapidata/api_client/models/elo_config.py +2 -2
- rapidata/api_client/models/elo_config_model.py +6 -6
- rapidata/api_client/models/entity_tag_header_value.py +93 -0
- rapidata/api_client/models/evaluation_workflow_config.py +13 -3
- rapidata/api_client/models/evaluation_workflow_model.py +16 -6
- rapidata/api_client/models/existing_asset_input.py +109 -0
- rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
- rapidata/api_client/models/feature_flag.py +2 -2
- rapidata/api_client/models/feature_flag_model.py +6 -6
- rapidata/api_client/models/feedback_model.py +7 -7
- rapidata/api_client/models/file_asset.py +15 -12
- rapidata/api_client/models/file_asset_input.py +104 -0
- rapidata/api_client/models/file_asset_input1.py +104 -0
- rapidata/api_client/models/file_asset_input1_file.py +168 -0
- rapidata/api_client/models/file_asset_input2.py +104 -0
- rapidata/api_client/models/file_asset_input3.py +104 -0
- rapidata/api_client/models/file_asset_input_file.py +168 -0
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +37 -51
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +39 -0
- rapidata/api_client/models/file_type_metadata.py +110 -0
- rapidata/api_client/models/file_type_metadata_model.py +97 -0
- rapidata/api_client/models/filter.py +7 -25
- rapidata/api_client/models/filter_operator.py +3 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +135 -0
- rapidata/api_client/models/free_text_payload.py +10 -3
- rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
- rapidata/api_client/models/gender_user_filter_model.py +2 -2
- rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
- rapidata/api_client/models/get_asset_metadata_result.py +100 -0
- rapidata/api_client/models/get_audience_by_id_result.py +118 -0
- rapidata/api_client/models/get_audience_user_state_metrics_result.py +87 -0
- rapidata/api_client/models/get_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_query.py +96 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result.py +94 -0
- rapidata/api_client/models/get_benchmark_by_id_query_result_paged_result.py +105 -0
- rapidata/api_client/models/get_benchmark_by_id_result.py +98 -0
- rapidata/api_client/models/get_boost_result.py +97 -0
- rapidata/api_client/models/get_boost_result_boost_mode.py +37 -0
- rapidata/api_client/models/get_boost_result_boost_status.py +39 -0
- rapidata/api_client/models/get_compare_ab_summary_result.py +5 -5
- rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
- rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
- rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
- rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
- rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
- rapidata/api_client/models/get_dataset_progress_result.py +2 -2
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
- rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
- rapidata/api_client/models/get_file_metadata_result.py +100 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
- rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
- rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +135 -0
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +91 -0
- rapidata/api_client/models/get_pipeline_by_id_result.py +5 -5
- rapidata/api_client/models/get_public_orders_result.py +2 -2
- rapidata/api_client/models/get_public_responses_result.py +95 -0
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +6 -12
- rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
- rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
- rapidata/api_client/models/get_responses_result.py +5 -5
- rapidata/api_client/models/get_responses_result_response.py +103 -0
- rapidata/api_client/models/get_sample_by_id_result.py +125 -0
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +96 -0
- rapidata/api_client/models/get_validation_rapids_result.py +33 -33
- rapidata/api_client/models/get_validation_rapids_result_truth.py +25 -11
- rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
- rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
- rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
- rapidata/api_client/models/get_workflow_progress_result.py +5 -11
- rapidata/api_client/models/get_workflow_results_result.py +34 -23
- rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
- rapidata/api_client/models/google_one_tap_login_model.py +4 -4
- rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
- rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
- rapidata/api_client/models/i_artifact_model.py +182 -0
- rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
- rapidata/api_client/models/i_asset.py +170 -0
- rapidata/api_client/models/i_asset_file_asset.py +111 -0
- rapidata/api_client/models/i_asset_input.py +156 -0
- rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
- rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_model.py +170 -0
- rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
- rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
- rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_multi_asset.py +121 -0
- rapidata/api_client/models/i_asset_null_asset.py +109 -0
- rapidata/api_client/models/i_asset_text_asset.py +111 -0
- rapidata/api_client/models/i_audience_filter.py +184 -0
- rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
- rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
- rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter.py +296 -0
- rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
- rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
- rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
- rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
- rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
- rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
- rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
- rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_model.py +126 -0
- rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
- rapidata/api_client/models/i_metadata.py +252 -0
- rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_input.py +126 -0
- rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
- rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_model.py +252 -0
- rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
- rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
- rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
- rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
- rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
- rapidata/api_client/models/i_order_workflow_model.py +168 -0
- rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
- rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
- rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
- rapidata/api_client/models/i_pair_maker_config.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
- rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
- rapidata/api_client/models/i_pair_maker_information.py +126 -0
- rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
- rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
- rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
- rapidata/api_client/models/i_pipeline_model.py +126 -0
- rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
- rapidata/api_client/models/i_pipeline_step_model.py +168 -0
- rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
- rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint.py +252 -0
- rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
- rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
- rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_payload.py +252 -0
- rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
- rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
- rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
- rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
- rapidata/api_client/models/i_rapid_result.py +266 -0
- rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
- rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
- rapidata/api_client/models/i_referee_config.py +154 -0
- rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
- rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
- rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
- rapidata/api_client/models/i_referee_info.py +154 -0
- rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
- rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
- rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/i_referee_model.py +140 -0
- rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
- rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
- rapidata/api_client/models/i_selection.py +240 -0
- rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
- rapidata/api_client/models/i_selection_capped_selection.py +108 -0
- rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
- rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
- rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
- rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
- rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
- rapidata/api_client/models/i_selection_static_selection.py +96 -0
- rapidata/api_client/models/i_selection_validation_selection.py +98 -0
- rapidata/api_client/models/i_user_filter_model.py +296 -0
- rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
- rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
- rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
- rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
- rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
- rapidata/api_client/models/i_validation_metadata_input.py +140 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_validation_truth.py +280 -0
- rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
- rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
- rapidata/api_client/models/i_validation_truth_model.py +294 -0
- rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
- rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
- rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
- rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
- rapidata/api_client/models/i_workflow_config.py +168 -0
- rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
- rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
- rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
- rapidata/api_client/models/i_workflow_model.py +168 -0
- rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
- rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
- rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
- rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
- rapidata/api_client/models/image_dimension_metadata.py +12 -1
- rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
- rapidata/api_client/models/inspect_report_result.py +2 -2
- rapidata/api_client/models/job_definition_revision_state.py +38 -0
- rapidata/api_client/models/json_web_key.py +224 -0
- rapidata/api_client/models/json_web_key_set.py +95 -0
- rapidata/api_client/models/labeling_selection.py +11 -13
- rapidata/api_client/models/language_filter.py +98 -0
- rapidata/api_client/models/leaderboard_query_result.py +135 -0
- rapidata/api_client/models/leaderboard_query_result_paged_result.py +105 -0
- rapidata/api_client/models/leaderboards_query_result.py +135 -0
- rapidata/api_client/models/line_result.py +3 -3
- rapidata/api_client/models/line_result_line.py +97 -0
- rapidata/api_client/models/line_result_line_point.py +89 -0
- rapidata/api_client/models/local_file_wrapper.py +120 -0
- rapidata/api_client/models/locate_coordinate.py +4 -13
- rapidata/api_client/models/location_metadata.py +12 -1
- rapidata/api_client/models/logic_operator.py +2 -2
- rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/multi_asset.py +17 -12
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +130 -0
- rapidata/api_client/models/multi_asset_input1.py +110 -0
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input2.py +110 -0
- rapidata/api_client/models/multi_asset_input3.py +110 -0
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +198 -0
- rapidata/api_client/models/multi_asset_input_assets_inner.py +156 -0
- rapidata/api_client/models/multi_asset_model.py +3 -3
- rapidata/api_client/models/multi_compare_truth.py +96 -0
- rapidata/api_client/models/naive_referee_info.py +96 -0
- rapidata/api_client/models/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- rapidata/api_client/models/never_ending_referee_info.py +94 -0
- rapidata/api_client/models/new_user_filter.py +96 -0
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- rapidata/api_client/models/not_filter.py +117 -0
- rapidata/api_client/models/not_user_filter_model.py +3 -3
- rapidata/api_client/models/null_asset.py +14 -9
- rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
- rapidata/api_client/models/option_of_aggregator_type.py +49 -0
- rapidata/api_client/models/or_filter.py +121 -0
- rapidata/api_client/models/or_user_filter_model.py +3 -3
- rapidata/api_client/models/order_model.py +15 -14
- rapidata/api_client/models/order_state.py +2 -2
- rapidata/api_client/models/original_filename_metadata.py +12 -1
- rapidata/api_client/models/page_info.py +2 -7
- rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
- rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
- rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
- rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
- rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
- rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
- rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
- rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
- rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
- rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
- rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
- rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_order_model.py +103 -0
- rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
- rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
- rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
- rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
- rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
- rapidata/api_client/models/paged_result_order_model.py +105 -0
- rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
- rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
- rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
- rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
- rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
- rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
- rapidata/api_client/models/paged_result_rapid_model.py +105 -0
- rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
- rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
- rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
- rapidata/api_client/models/participant_by_benchmark.py +94 -0
- rapidata/api_client/models/participant_by_benchmark_paged_result.py +105 -0
- rapidata/api_client/models/participant_by_leaderboard.py +113 -0
- rapidata/api_client/models/participant_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/participant_status.py +38 -0
- rapidata/api_client/models/pipeline_id_workflow_config_put_request.py +140 -0
- rapidata/api_client/models/polygon_result.py +3 -3
- rapidata/api_client/models/polygon_result_coordinate.py +89 -0
- rapidata/api_client/models/polygon_result_shape.py +95 -0
- rapidata/api_client/models/potential_validation_rapid.py +103 -0
- rapidata/api_client/models/potential_validation_rapid_paged_result.py +105 -0
- rapidata/api_client/models/potential_validation_rapid_truth.py +280 -0
- rapidata/api_client/models/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +92 -0
- rapidata/api_client/models/probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +154 -0
- rapidata/api_client/models/prompt_by_benchmark_result.py +112 -0
- rapidata/api_client/models/prompt_by_benchmark_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_by_leaderboard_result.py +90 -0
- rapidata/api_client/models/prompt_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/prompt_metadata.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +2 -2
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +129 -0
- rapidata/api_client/models/public_order_model.py +2 -2
- rapidata/api_client/models/public_rapid_response.py +112 -0
- rapidata/api_client/models/query_audiences_result.py +118 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_job_definitions_result.py +97 -0
- rapidata/api_client/models/query_job_revisions_result.py +95 -0
- rapidata/api_client/models/query_jobs_result.py +103 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
- rapidata/api_client/models/query_validation_model.py +97 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
- rapidata/api_client/models/rapid_issue.py +2 -2
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +157 -0
- rapidata/api_client/models/rapid_model_paged_result.py +105 -0
- rapidata/api_client/models/rapid_model_referee.py +154 -0
- rapidata/api_client/models/rapid_result_model.py +7 -7
- rapidata/api_client/models/rapid_skipped_model.py +5 -5
- rapidata/api_client/models/rapid_state.py +3 -2
- rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
- rapidata/api_client/models/reference_asset_input.py +100 -0
- rapidata/api_client/models/report_model.py +9 -15
- rapidata/api_client/models/response_count_filter.py +103 -0
- rapidata/api_client/models/response_count_user_filter_model.py +2 -8
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +5 -14
- rapidata/api_client/models/run_status.py +39 -0
- rapidata/api_client/models/runs_by_leaderboard_result.py +104 -0
- rapidata/api_client/models/runs_by_leaderboard_result_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_identifier.py +125 -0
- rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_participant.py +121 -0
- rapidata/api_client/models/sample_by_participant_paged_result.py +105 -0
- rapidata/api_client/models/scrub_range.py +2 -2
- rapidata/api_client/models/send_survey_model.py +87 -0
- rapidata/api_client/models/simple_workflow_config.py +15 -7
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +11 -3
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +4 -11
- rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
- rapidata/api_client/models/sort_criterion.py +5 -11
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/source_url_metadata.py +12 -1
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard_paged_result.py +105 -0
- rapidata/api_client/models/standing_status.py +38 -0
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +95 -0
- rapidata/api_client/models/start_preliminary_download_result.py +87 -0
- rapidata/api_client/models/sticky_state.py +3 -2
- rapidata/api_client/models/stream_file_wrapper.py +138 -0
- rapidata/api_client/models/streams_metadata.py +113 -0
- rapidata/api_client/models/streams_metadata_model.py +100 -0
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_coco_model.py +1 -3
- rapidata/api_client/models/submit_order_model.py +92 -0
- rapidata/api_client/models/submit_participant_result.py +89 -0
- rapidata/api_client/models/submit_prompt_model.py +107 -0
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +202 -0
- rapidata/api_client/models/tags_by_benchmark_result.py +87 -0
- rapidata/api_client/models/text_asset.py +15 -10
- rapidata/api_client/models/text_asset_input.py +120 -0
- rapidata/api_client/models/text_metadata.py +18 -2
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +7 -2
- rapidata/api_client/models/transcription_metadata.py +9 -1
- rapidata/api_client/models/transcription_metadata_input.py +2 -2
- rapidata/api_client/models/transcription_word.py +2 -2
- rapidata/api_client/models/translated_string.py +2 -2
- rapidata/api_client/models/unlock_order_result.py +2 -2
- rapidata/api_client/models/update_access_model.py +1 -1
- rapidata/api_client/models/update_audience_request.py +113 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +87 -0
- rapidata/api_client/models/update_campaign_model.py +11 -11
- rapidata/api_client/models/update_dataset_name_model.py +5 -5
- rapidata/api_client/models/update_dimensions_model.py +3 -3
- rapidata/api_client/models/update_job_definition_endpoint_input.py +92 -0
- rapidata/api_client/models/update_job_endpoint_input.py +92 -0
- rapidata/api_client/models/update_leaderboard_model.py +106 -0
- rapidata/api_client/models/update_leaderboard_name_model.py +87 -0
- rapidata/api_client/models/update_leaderboard_response_config_model.py +89 -0
- rapidata/api_client/models/update_order_name_model.py +5 -5
- rapidata/api_client/models/update_participant_model.py +92 -0
- rapidata/api_client/models/update_participant_name_model.py +87 -0
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +87 -0
- rapidata/api_client/models/update_should_alert_model.py +87 -0
- rapidata/api_client/models/update_validation_rapid_model.py +28 -12
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/update_validation_rapid_model_truth.py +26 -12
- rapidata/api_client/models/update_validation_set_model.py +120 -0
- rapidata/api_client/models/upload_asset_result.py +102 -0
- rapidata/api_client/models/upload_file_from_url_result.py +87 -0
- rapidata/api_client/models/upload_file_result.py +87 -0
- rapidata/api_client/models/upload_files_from_s3_bucket_model.py +12 -2
- rapidata/api_client/models/upload_text_sources_to_dataset_model.py +3 -3
- rapidata/api_client/models/url_asset_input.py +100 -0
- rapidata/api_client/models/user_action_restriction.py +37 -0
- rapidata/api_client/models/user_action_restriction_filter.py +101 -0
- rapidata/api_client/models/user_score_filter.py +102 -0
- rapidata/api_client/models/user_state.py +38 -0
- rapidata/api_client/models/user_state_filter.py +101 -0
- rapidata/api_client/models/validation_chance.py +20 -3
- rapidata/api_client/models/validation_problem_details.py +117 -0
- rapidata/api_client/models/validation_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/validation_set_validation_set_id_rapid_post_payload_parameter.py +252 -0
- rapidata/api_client/models/validation_set_validation_set_id_rapid_post_truth_parameter.py +280 -0
- rapidata/api_client/models/validation_set_zip_post_request_blueprint.py +252 -0
- rapidata/api_client/models/video_duration_metadata.py +109 -0
- rapidata/api_client/models/video_duration_metadata_model.py +96 -0
- rapidata/api_client/models/vote_matrix_result.py +91 -0
- rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
- rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
- rapidata/api_client/models/workflow_state.py +2 -2
- rapidata/api_client/models/zip_entry_file_wrapper.py +151 -0
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +469 -309
- rapidata/rapidata_client/__init__.py +23 -22
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/audience/__init__.py +2 -0
- rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
- rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
- rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
- rapidata/rapidata_client/benchmark/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +34 -0
- rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +257 -0
- rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/participant/_participant.py +146 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +592 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +216 -0
- rapidata/rapidata_client/config/__init__.py +4 -0
- rapidata/rapidata_client/config/logger.py +135 -0
- rapidata/rapidata_client/config/logging_config.py +55 -0
- rapidata/rapidata_client/config/managed_print.py +6 -0
- rapidata/rapidata_client/config/order_config.py +14 -0
- rapidata/rapidata_client/config/rapidata_config.py +36 -0
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +8 -0
- rapidata/rapidata_client/datapoints/_asset_uploader.py +194 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
- rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
- rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
- rapidata/rapidata_client/datapoints/_single_flight_cache.py +82 -0
- rapidata/rapidata_client/datapoints/assets/__init__.py +0 -0
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -1
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +16 -0
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +14 -0
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +16 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/_select_words_metadata.py +4 -5
- rapidata/rapidata_client/dataset/__init__.py +1 -0
- rapidata/rapidata_client/dataset/_rapidata_dataset.py +55 -0
- rapidata/rapidata_client/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +27 -0
- rapidata/rapidata_client/filter/__init__.py +3 -0
- rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
- rapidata/rapidata_client/filter/_base_filter.py +58 -2
- rapidata/rapidata_client/filter/age_filter.py +26 -10
- rapidata/rapidata_client/filter/and_filter.py +55 -0
- rapidata/rapidata_client/filter/campaign_filter.py +21 -10
- rapidata/rapidata_client/filter/country_filter.py +46 -12
- rapidata/rapidata_client/filter/custom_filter.py +25 -12
- rapidata/rapidata_client/filter/device_filter.py +38 -0
- rapidata/rapidata_client/filter/gender_filter.py +25 -10
- rapidata/rapidata_client/filter/language_filter.py +51 -21
- rapidata/rapidata_client/filter/models/age_group.py +14 -12
- rapidata/rapidata_client/filter/models/device_type.py +20 -0
- rapidata/rapidata_client/filter/models/gender.py +12 -8
- rapidata/rapidata_client/filter/new_user_filter.py +14 -4
- rapidata/rapidata_client/filter/not_filter.py +35 -11
- rapidata/rapidata_client/filter/or_filter.py +36 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +30 -25
- rapidata/rapidata_client/filter/response_count_filter.py +51 -20
- rapidata/rapidata_client/filter/user_score_filter.py +62 -24
- rapidata/rapidata_client/job/__init__.py +3 -0
- rapidata/rapidata_client/job/job_definition.py +110 -0
- rapidata/rapidata_client/job/job_manager.py +758 -0
- rapidata/rapidata_client/job/rapidata_job.py +326 -0
- rapidata/rapidata_client/order/__init__.py +2 -0
- rapidata/rapidata_client/order/_rapidata_order_builder.py +286 -193
- rapidata/rapidata_client/order/rapidata_order.py +329 -153
- rapidata/rapidata_client/order/rapidata_order_manager.py +722 -420
- rapidata/rapidata_client/rapidata_client.py +130 -26
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +14 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +32 -17
- rapidata/rapidata_client/referee/_naive_referee.py +24 -3
- rapidata/rapidata_client/results/__init__.py +3 -0
- rapidata/rapidata_client/{order → results}/rapidata_results.py +98 -67
- rapidata/rapidata_client/selection/__init__.py +2 -1
- rapidata/rapidata_client/selection/_base_selection.py +9 -2
- rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
- rapidata/rapidata_client/selection/capped_selection.py +23 -16
- rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
- rapidata/rapidata_client/selection/demographic_selection.py +21 -6
- rapidata/rapidata_client/selection/effort_selection.py +49 -0
- rapidata/rapidata_client/selection/labeling_selection.py +36 -12
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +10 -7
- rapidata/rapidata_client/selection/rapidata_selections.py +31 -21
- rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
- rapidata/rapidata_client/selection/static_selection.py +20 -9
- rapidata/rapidata_client/selection/validation_selection.py +20 -4
- rapidata/rapidata_client/settings/__init__.py +4 -1
- rapidata/rapidata_client/settings/_rapidata_setting.py +22 -3
- rapidata/rapidata_client/settings/alert_on_fast_response.py +8 -5
- rapidata/rapidata_client/settings/allow_neither_both.py +17 -0
- rapidata/rapidata_client/settings/custom_setting.py +3 -2
- rapidata/rapidata_client/settings/free_text_minimum_characters.py +9 -4
- rapidata/rapidata_client/settings/models/translation_behaviour_options.py +3 -2
- rapidata/rapidata_client/settings/mute_video.py +15 -0
- rapidata/rapidata_client/settings/no_shuffle.py +4 -2
- rapidata/rapidata_client/settings/play_video_until_the_end.py +7 -4
- rapidata/rapidata_client/settings/rapidata_settings.py +28 -16
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/utils/__init__.py +3 -0
- rapidata/rapidata_client/utils/threaded_uploader.py +153 -0
- rapidata/rapidata_client/validation/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
- rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +29 -104
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +371 -214
- rapidata/rapidata_client/validation/validation_set_manager.py +529 -227
- rapidata/rapidata_client/workflow/__init__.py +2 -2
- rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
- rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
- rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
- rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
- rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
- rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
- rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +18 -18
- rapidata/service/openapi_service.py +128 -28
- rapidata/types/__init__.py +149 -0
- rapidata-3.0.1.dist-info/METADATA +32 -0
- rapidata-3.0.1.dist-info/RECORD +1089 -0
- {rapidata-2.23.2.dist-info → rapidata-3.0.1.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- rapidata/rapidata_client/assets/__init__.py +0 -10
- rapidata/rapidata_client/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/assets/_media_asset.py +0 -306
- rapidata/rapidata_client/assets/_multi_asset.py +0 -66
- rapidata/rapidata_client/assets/_sessions.py +0 -35
- rapidata/rapidata_client/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/assets/data_type_enum.py +0 -7
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/logging/__init__.py +0 -2
- rapidata/rapidata_client/logging/logger.py +0 -47
- rapidata/rapidata_client/logging/output_manager.py +0 -16
- rapidata/rapidata_client/metadata/_private_text_metadata.py +0 -17
- rapidata/rapidata_client/metadata/_prompt_metadata.py +0 -18
- rapidata/rapidata_client/metadata/_public_text_metadata.py +0 -17
- rapidata/rapidata_client/order/_rapidata_dataset.py +0 -443
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -51
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.23.2.dist-info/METADATA +0 -34
- rapidata-2.23.2.dist-info/RECORD +0 -523
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.23.2.dist-info → rapidata-3.0.1.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,23 +1,43 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import time
|
|
4
|
+
import urllib.parse
|
|
5
|
+
import webbrowser
|
|
6
|
+
from colorama import Fore
|
|
7
|
+
from typing import Literal, TYPE_CHECKING
|
|
1
8
|
from rapidata.api_client import QueryModel
|
|
2
|
-
from rapidata.rapidata_client.validation.rapidata_validation_set import
|
|
3
|
-
|
|
9
|
+
from rapidata.rapidata_client.validation.rapidata_validation_set import (
|
|
10
|
+
RapidataValidationSet,
|
|
11
|
+
)
|
|
12
|
+
from rapidata.api_client.models.create_validation_set_model import (
|
|
13
|
+
CreateValidationSetModel,
|
|
14
|
+
)
|
|
4
15
|
from rapidata.service.openapi_service import OpenAPIService
|
|
5
|
-
from rapidata.rapidata_client.assets.data_type_enum import RapidataDataTypes
|
|
6
16
|
from rapidata.rapidata_client.validation.rapids.rapids_manager import RapidsManager
|
|
7
|
-
from rapidata.rapidata_client.validation.rapids.rapids import Rapid
|
|
8
|
-
from rapidata.rapidata_client.metadata import PromptMetadata
|
|
9
17
|
|
|
10
18
|
from rapidata.api_client.models.page_info import PageInfo
|
|
11
19
|
from rapidata.api_client.models.root_filter import RootFilter
|
|
12
20
|
from rapidata.api_client.models.filter import Filter
|
|
13
21
|
from rapidata.api_client.models.sort_criterion import SortCriterion
|
|
14
|
-
from rapidata.api_client.
|
|
15
|
-
from
|
|
22
|
+
from rapidata.api_client.models.sort_direction import SortDirection
|
|
23
|
+
from rapidata.api_client.models.filter_operator import FilterOperator
|
|
16
24
|
|
|
17
25
|
from rapidata.rapidata_client.validation.rapids.box import Box
|
|
18
26
|
|
|
19
|
-
from rapidata.rapidata_client.
|
|
27
|
+
from rapidata.rapidata_client.config import (
|
|
28
|
+
logger,
|
|
29
|
+
managed_print,
|
|
30
|
+
rapidata_config,
|
|
31
|
+
tracer,
|
|
32
|
+
)
|
|
20
33
|
from tqdm import tqdm
|
|
34
|
+
from rapidata.rapidata_client.validation.rapids.rapids import Rapid
|
|
35
|
+
|
|
36
|
+
if TYPE_CHECKING:
|
|
37
|
+
from rapidata.rapidata_client.workflow import Workflow
|
|
38
|
+
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
39
|
+
from rapidata.rapidata_client.settings._rapidata_setting import RapidataSetting
|
|
40
|
+
from typing import Sequence
|
|
21
41
|
|
|
22
42
|
|
|
23
43
|
class ValidationSetManager:
|
|
@@ -27,24 +47,35 @@ class ValidationSetManager:
|
|
|
27
47
|
Attributes:
|
|
28
48
|
rapid (RapidsManager): The RapidsManager instance.
|
|
29
49
|
"""
|
|
50
|
+
|
|
30
51
|
def __init__(self, openapi_service: OpenAPIService) -> None:
|
|
31
|
-
self.
|
|
32
|
-
self.rapid = RapidsManager()
|
|
52
|
+
self._openapi_service = openapi_service
|
|
53
|
+
self.rapid = RapidsManager(openapi_service)
|
|
33
54
|
logger.debug("ValidationSetManager initialized")
|
|
34
55
|
|
|
35
|
-
def
|
|
56
|
+
def _get_total_and_labeled_rapids_count(
|
|
57
|
+
self, validation_set_id: str
|
|
58
|
+
) -> tuple[int, int]:
|
|
59
|
+
uploaded_rapids = self._openapi_service.validation_api.validation_set_validation_set_id_rapids_get(
|
|
60
|
+
validation_set_id=validation_set_id
|
|
61
|
+
).items
|
|
62
|
+
return len(uploaded_rapids), sum(1 for rapid in uploaded_rapids if rapid.truth)
|
|
63
|
+
|
|
64
|
+
def create_classification_set(
|
|
65
|
+
self,
|
|
36
66
|
name: str,
|
|
37
67
|
instruction: str,
|
|
38
68
|
answer_options: list[str],
|
|
39
69
|
datapoints: list[str],
|
|
40
70
|
truths: list[list[str]],
|
|
41
|
-
data_type:
|
|
71
|
+
data_type: Literal["media", "text"] = "media",
|
|
42
72
|
contexts: list[str] | None = None,
|
|
73
|
+
media_contexts: list[str] | None = None,
|
|
43
74
|
explanations: list[str | None] | None = None,
|
|
44
75
|
dimensions: list[str] = [],
|
|
45
76
|
) -> RapidataValidationSet:
|
|
46
77
|
"""Create a classification validation set.
|
|
47
|
-
|
|
78
|
+
|
|
48
79
|
Args:
|
|
49
80
|
name (str): The name of the validation set. (will not be shown to the labeler)
|
|
50
81
|
instruction (str): The instruction by which the labeler will answer.
|
|
@@ -55,10 +86,13 @@ class ValidationSetManager:
|
|
|
55
86
|
options: ["yes", "no", "maybe"]
|
|
56
87
|
datapoints: ["datapoint1", "datapoint2"]
|
|
57
88
|
truths: [["yes"], ["no", "maybe"]] -> first datapoint correct answer is "yes", second datapoint is "no" or "maybe"
|
|
58
|
-
data_type (str, optional): The type of data. Defaults to
|
|
89
|
+
data_type (str, optional): The type of data. Defaults to "media" (any form of image, video or audio). Other option: "text".
|
|
59
90
|
contexts (list[str], optional): The contexts for each datapoint. Defaults to None.\n
|
|
60
91
|
If provided has to be the same length as datapoints and will be shown in addition to the instruction and answer options. (Therefore will be different for each datapoint)
|
|
61
92
|
Will be match up with the datapoints using the list index.
|
|
93
|
+
media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
|
|
94
|
+
If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
|
|
95
|
+
Will be matched up with the datapoints using the list index.
|
|
62
96
|
explanations (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
|
|
63
97
|
dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
|
|
64
98
|
|
|
@@ -70,44 +104,61 @@ class ValidationSetManager:
|
|
|
70
104
|
```
|
|
71
105
|
This would mean: first datapoint correct answer is "yes", second datapoint is "no" or "maybe"
|
|
72
106
|
"""
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
107
|
+
with tracer.start_as_current_span(
|
|
108
|
+
"ValidationSetManager.create_classification_set"
|
|
109
|
+
):
|
|
110
|
+
if not datapoints:
|
|
111
|
+
raise ValueError("Datapoints cannot be empty")
|
|
112
|
+
|
|
113
|
+
if len(datapoints) != len(truths):
|
|
114
|
+
raise ValueError("The number of datapoints and truths must be equal")
|
|
115
|
+
|
|
116
|
+
if not all([isinstance(truth, (list, tuple)) for truth in truths]):
|
|
117
|
+
raise ValueError("Truths must be a list of lists or tuples")
|
|
118
|
+
|
|
119
|
+
if contexts and len(contexts) != len(datapoints):
|
|
120
|
+
raise ValueError("The number of contexts and datapoints must be equal")
|
|
121
|
+
|
|
122
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
123
|
+
raise ValueError(
|
|
124
|
+
"The number of media contexts and datapoints must be equal"
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
if explanations and len(explanations) != len(datapoints):
|
|
128
|
+
raise ValueError(
|
|
129
|
+
"The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
logger.debug("Creating classification rapids")
|
|
133
|
+
rapids: list[Rapid] = []
|
|
134
|
+
for i in range(len(datapoints)):
|
|
135
|
+
rapids.append(
|
|
136
|
+
self.rapid.classification_rapid(
|
|
137
|
+
instruction=instruction,
|
|
138
|
+
answer_options=answer_options,
|
|
139
|
+
datapoint=datapoints[i],
|
|
140
|
+
truths=truths[i],
|
|
141
|
+
data_type=data_type,
|
|
142
|
+
context=contexts[i] if contexts != None else None,
|
|
143
|
+
media_context=(
|
|
144
|
+
media_contexts[i] if media_contexts != None else None
|
|
145
|
+
),
|
|
146
|
+
explanation=explanations[i] if explanations != None else None,
|
|
147
|
+
)
|
|
98
148
|
)
|
|
99
|
-
)
|
|
100
149
|
|
|
101
|
-
|
|
102
|
-
|
|
150
|
+
logger.debug("Submitting classification rapids")
|
|
151
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
103
152
|
|
|
104
|
-
def create_compare_set(
|
|
153
|
+
def create_compare_set(
|
|
154
|
+
self,
|
|
105
155
|
name: str,
|
|
106
156
|
instruction: str,
|
|
107
157
|
datapoints: list[list[str]],
|
|
108
158
|
truths: list[str],
|
|
109
|
-
data_type:
|
|
159
|
+
data_type: Literal["media", "text"] = "media",
|
|
110
160
|
contexts: list[str] | None = None,
|
|
161
|
+
media_contexts: list[str] | None = None,
|
|
111
162
|
explanation: list[str | None] | None = None,
|
|
112
163
|
dimensions: list[str] = [],
|
|
113
164
|
) -> RapidataValidationSet:
|
|
@@ -121,12 +172,15 @@ class ValidationSetManager:
|
|
|
121
172
|
instruction: "Which image has a cat?"
|
|
122
173
|
datapoints = [["image1.jpg", "image2.jpg"], ["image3.jpg", "image4.jpg"]]
|
|
123
174
|
truths: ["image1.jpg", "image4.jpg"] -> first comparison image1.jpg has a cat, second comparison image4.jpg has a cat
|
|
124
|
-
datapoints (list[list[str]]): The compare datapoints to create the validation set with.
|
|
175
|
+
datapoints (list[list[str]]): The compare datapoints to create the validation set with.
|
|
125
176
|
Outer list is for each comparison, inner list the two images/texts that will be compared.
|
|
126
|
-
data_type (str, optional): The type of data. Defaults to
|
|
177
|
+
data_type (str, optional): The type of data. Defaults to "media" (any form of image, video or audio). Other option: "text".
|
|
127
178
|
contexts (list[str], optional): The contexts for each datapoint. Defaults to None.\n
|
|
128
179
|
If provided has to be the same length as datapoints and will be shown in addition to the instruction and truth. (Therefore will be different for each datapoint)
|
|
129
180
|
Will be match up with the datapoints using the list index.
|
|
181
|
+
media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
|
|
182
|
+
If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
|
|
183
|
+
Will be matched up with the datapoints using the list index.
|
|
130
184
|
explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
|
|
131
185
|
dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
|
|
132
186
|
|
|
@@ -138,37 +192,51 @@ class ValidationSetManager:
|
|
|
138
192
|
```
|
|
139
193
|
This would mean: first comparison image1.jpg has a cat, second comparison image4.jpg has a cat
|
|
140
194
|
"""
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
rapids.append(
|
|
158
|
-
self.rapid.compare_rapid(
|
|
159
|
-
instruction=instruction,
|
|
160
|
-
truth=truths[i],
|
|
161
|
-
datapoint=datapoints[i],
|
|
162
|
-
data_type=data_type,
|
|
163
|
-
metadata=[PromptMetadata(contexts[i])] if contexts else [],
|
|
164
|
-
explanation=explanation[i] if explanation != None else None
|
|
195
|
+
with tracer.start_as_current_span("ValidationSetManager.create_compare_set"):
|
|
196
|
+
if not datapoints:
|
|
197
|
+
raise ValueError("Datapoints cannot be empty")
|
|
198
|
+
|
|
199
|
+
if len(datapoints) != len(truths):
|
|
200
|
+
raise ValueError("The number of datapoints and truths must be equal")
|
|
201
|
+
|
|
202
|
+
if not all([isinstance(truth, str) for truth in truths]):
|
|
203
|
+
raise ValueError("Truths must be a list of strings")
|
|
204
|
+
|
|
205
|
+
if contexts and len(contexts) != len(datapoints):
|
|
206
|
+
raise ValueError("The number of contexts and datapoints must be equal")
|
|
207
|
+
|
|
208
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
209
|
+
raise ValueError(
|
|
210
|
+
"The number of media contexts and datapoints must be equal"
|
|
165
211
|
)
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
212
|
+
|
|
213
|
+
if explanation and len(explanation) != len(datapoints):
|
|
214
|
+
raise ValueError(
|
|
215
|
+
"The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
logger.debug("Creating comparison rapids")
|
|
219
|
+
rapids: list[Rapid] = []
|
|
220
|
+
for i in range(len(datapoints)):
|
|
221
|
+
rapids.append(
|
|
222
|
+
self.rapid.compare_rapid(
|
|
223
|
+
instruction=instruction,
|
|
224
|
+
truth=truths[i],
|
|
225
|
+
datapoint=datapoints[i],
|
|
226
|
+
data_type=data_type,
|
|
227
|
+
context=contexts[i] if contexts != None else None,
|
|
228
|
+
media_context=(
|
|
229
|
+
media_contexts[i] if media_contexts != None else None
|
|
230
|
+
),
|
|
231
|
+
explanation=explanation[i] if explanation != None else None,
|
|
232
|
+
)
|
|
233
|
+
)
|
|
234
|
+
|
|
235
|
+
logger.debug("Submitting comparison rapids")
|
|
236
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
237
|
+
|
|
238
|
+
def create_select_words_set(
|
|
239
|
+
self,
|
|
172
240
|
name: str,
|
|
173
241
|
instruction: str,
|
|
174
242
|
truths: list[list[int]],
|
|
@@ -204,41 +272,52 @@ class ValidationSetManager:
|
|
|
204
272
|
truths: [[0, 1], [2]]
|
|
205
273
|
```
|
|
206
274
|
This would mean: first datapoint the correct words are "this" and "example", second datapoint is "with"
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
275
|
+
"""
|
|
276
|
+
with tracer.start_as_current_span(
|
|
277
|
+
"ValidationSetManager.create_select_words_set"
|
|
278
|
+
):
|
|
279
|
+
if not datapoints:
|
|
280
|
+
raise ValueError("Datapoints cannot be empty")
|
|
281
|
+
|
|
282
|
+
if not all([isinstance(truth, (list, tuple)) for truth in truths]):
|
|
283
|
+
raise ValueError("Truths must be a list of lists or tuples")
|
|
284
|
+
|
|
285
|
+
if len(datapoints) != len(truths) or len(datapoints) != len(sentences):
|
|
286
|
+
raise ValueError(
|
|
287
|
+
"The number of datapoints, truths, and sentences must be equal"
|
|
288
|
+
)
|
|
289
|
+
|
|
290
|
+
if explanation and len(explanation) != len(datapoints):
|
|
291
|
+
raise ValueError(
|
|
292
|
+
"The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
|
|
293
|
+
)
|
|
294
|
+
|
|
295
|
+
logger.debug("Creating select words rapids")
|
|
296
|
+
rapids: list[Rapid] = []
|
|
297
|
+
for i in range(len(datapoints)):
|
|
298
|
+
rapids.append(
|
|
299
|
+
self.rapid.select_words_rapid(
|
|
300
|
+
instruction=instruction,
|
|
301
|
+
truths=truths[i],
|
|
302
|
+
datapoint=datapoints[i],
|
|
303
|
+
sentence=sentences[i],
|
|
304
|
+
required_precision=required_precision,
|
|
305
|
+
required_completeness=required_completeness,
|
|
306
|
+
explanation=explanation[i] if explanation != None else None,
|
|
307
|
+
)
|
|
230
308
|
)
|
|
231
|
-
)
|
|
232
309
|
|
|
233
|
-
|
|
234
|
-
|
|
310
|
+
logger.debug("Submitting select words rapids")
|
|
311
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
235
312
|
|
|
236
|
-
def create_locate_set(
|
|
313
|
+
def create_locate_set(
|
|
314
|
+
self,
|
|
237
315
|
name: str,
|
|
238
316
|
instruction: str,
|
|
239
317
|
truths: list[list[Box]],
|
|
240
318
|
datapoints: list[str],
|
|
241
319
|
contexts: list[str] | None = None,
|
|
320
|
+
media_contexts: list[str] | None = None,
|
|
242
321
|
explanation: list[str | None] | None = None,
|
|
243
322
|
dimensions: list[str] = [],
|
|
244
323
|
) -> RapidataValidationSet:
|
|
@@ -253,6 +332,9 @@ class ValidationSetManager:
|
|
|
253
332
|
truths: [[Box(0, 0, 100, 100)], [Box(50, 50, 150, 150)]] -> first datapoint the object is in the top left corner, second datapoint the object is in the center
|
|
254
333
|
datapoints (list[str]): The datapoints that will be used for validation.
|
|
255
334
|
contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
|
|
335
|
+
media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
|
|
336
|
+
If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
|
|
337
|
+
Will be matched up with the datapoints using the list index.
|
|
256
338
|
explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
|
|
257
339
|
dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
|
|
258
340
|
|
|
@@ -263,43 +345,56 @@ class ValidationSetManager:
|
|
|
263
345
|
```
|
|
264
346
|
This would mean: first datapoint the object is in the top left corner, second datapoint the object is in the center
|
|
265
347
|
"""
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
if not all([isinstance(truth, (list, tuple)) for truth in truths]):
|
|
271
|
-
raise ValueError("Truths must be a list of lists or tuples")
|
|
272
|
-
|
|
273
|
-
if contexts and len(contexts) != len(datapoints):
|
|
274
|
-
raise ValueError("The number of contexts and datapoints must be equal")
|
|
275
|
-
|
|
276
|
-
if(explanation and len(explanation) != len(datapoints)):
|
|
277
|
-
raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
|
|
278
|
-
|
|
279
|
-
logger.debug("Creating locate rapids")
|
|
280
|
-
rapids = []
|
|
281
|
-
rapids: list[Rapid] = []
|
|
282
|
-
for i in range(len(datapoints)):
|
|
283
|
-
rapids.append(
|
|
284
|
-
self.rapid.locate_rapid(
|
|
285
|
-
instruction=instruction,
|
|
286
|
-
truths=truths[i],
|
|
287
|
-
datapoint=datapoints[i],
|
|
288
|
-
metadata=[PromptMetadata(contexts[i])] if contexts else [],
|
|
289
|
-
explanation=explanation[i] if explanation != None else None
|
|
348
|
+
with tracer.start_as_current_span("ValidationSetManager.create_locate_set"):
|
|
349
|
+
if not datapoints:
|
|
350
|
+
raise ValueError("Datapoints cannot be empty")
|
|
290
351
|
|
|
352
|
+
if len(datapoints) != len(truths):
|
|
353
|
+
raise ValueError("The number of datapoints and truths must be equal")
|
|
354
|
+
|
|
355
|
+
if not all([isinstance(truth, (list, tuple)) for truth in truths]):
|
|
356
|
+
raise ValueError("Truths must be a list of lists or tuples")
|
|
357
|
+
|
|
358
|
+
if contexts and len(contexts) != len(datapoints):
|
|
359
|
+
raise ValueError("The number of contexts and datapoints must be equal")
|
|
360
|
+
|
|
361
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
362
|
+
raise ValueError(
|
|
363
|
+
"The number of media contexts and datapoints must be equal"
|
|
291
364
|
)
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
365
|
+
|
|
366
|
+
if explanation and len(explanation) != len(datapoints):
|
|
367
|
+
raise ValueError(
|
|
368
|
+
"The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
|
|
369
|
+
)
|
|
370
|
+
|
|
371
|
+
logger.debug("Creating locate rapids")
|
|
372
|
+
rapids: list[Rapid] = []
|
|
373
|
+
for i in range(len(datapoints)):
|
|
374
|
+
rapids.append(
|
|
375
|
+
self.rapid.locate_rapid(
|
|
376
|
+
instruction=instruction,
|
|
377
|
+
truths=truths[i],
|
|
378
|
+
datapoint=datapoints[i],
|
|
379
|
+
context=contexts[i] if contexts != None else None,
|
|
380
|
+
media_context=(
|
|
381
|
+
media_contexts[i] if media_contexts != None else None
|
|
382
|
+
),
|
|
383
|
+
explanation=explanation[i] if explanation != None else None,
|
|
384
|
+
)
|
|
385
|
+
)
|
|
386
|
+
|
|
387
|
+
logger.debug("Submitting locate rapids")
|
|
388
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
389
|
+
|
|
390
|
+
def create_draw_set(
|
|
391
|
+
self,
|
|
298
392
|
name: str,
|
|
299
393
|
instruction: str,
|
|
300
394
|
truths: list[list[Box]],
|
|
301
395
|
datapoints: list[str],
|
|
302
396
|
contexts: list[str] | None = None,
|
|
397
|
+
media_contexts: list[str] | None = None,
|
|
303
398
|
explanation: list[str | None] | None = None,
|
|
304
399
|
dimensions: list[str] = [],
|
|
305
400
|
) -> RapidataValidationSet:
|
|
@@ -314,6 +409,9 @@ class ValidationSetManager:
|
|
|
314
409
|
truths: [[Box(0, 0, 100, 100)], [Box(50, 50, 150, 150)]] -> first datapoint the object is in the top left corner, second datapoint the object is in the center
|
|
315
410
|
datapoints (list[str]): The datapoints that will be used for validation.
|
|
316
411
|
contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
|
|
412
|
+
media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
|
|
413
|
+
If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
|
|
414
|
+
Will be matched up with the datapoints using the list index.
|
|
317
415
|
explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
|
|
318
416
|
dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
|
|
319
417
|
|
|
@@ -324,42 +422,56 @@ class ValidationSetManager:
|
|
|
324
422
|
```
|
|
325
423
|
This would mean: first datapoint the object is in the top left corner, second datapoint the object is in the center
|
|
326
424
|
"""
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
if(explanation and len(explanation) != len(datapoints)):
|
|
338
|
-
raise ValueError("The numeber of reasons and datapoints must be equal, the index must align, but can be padded with None")
|
|
339
|
-
|
|
340
|
-
logger.debug("Creating draw rapids")
|
|
341
|
-
rapids: list[Rapid] = []
|
|
342
|
-
for i in range(len(datapoints)):
|
|
343
|
-
rapids.append(
|
|
344
|
-
self.rapid.draw_rapid(
|
|
345
|
-
instruction=instruction,
|
|
346
|
-
truths=truths[i],
|
|
347
|
-
datapoint=datapoints[i],
|
|
348
|
-
metadata=[PromptMetadata(contexts[i])] if contexts else [],
|
|
349
|
-
explanation=explanation[i] if explanation != None else None
|
|
425
|
+
with tracer.start_as_current_span("ValidationSetManager.create_draw_set"):
|
|
426
|
+
if not datapoints:
|
|
427
|
+
raise ValueError("Datapoints cannot be empty")
|
|
428
|
+
|
|
429
|
+
if len(datapoints) != len(truths):
|
|
430
|
+
raise ValueError("The number of datapoints and truths must be equal")
|
|
431
|
+
|
|
432
|
+
if not all([isinstance(truth, (list, tuple)) for truth in truths]):
|
|
433
|
+
raise ValueError("Truths must be a list of lists or tuples")
|
|
350
434
|
|
|
435
|
+
if contexts and len(contexts) != len(datapoints):
|
|
436
|
+
raise ValueError("The number of contexts and datapoints must be equal")
|
|
437
|
+
|
|
438
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
439
|
+
raise ValueError(
|
|
440
|
+
"The number of media contexts and datapoints must be equal"
|
|
441
|
+
)
|
|
442
|
+
|
|
443
|
+
if explanation and len(explanation) != len(datapoints):
|
|
444
|
+
raise ValueError(
|
|
445
|
+
"The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
|
|
446
|
+
)
|
|
447
|
+
|
|
448
|
+
logger.debug("Creating draw rapids")
|
|
449
|
+
rapids: list[Rapid] = []
|
|
450
|
+
for i in range(len(datapoints)):
|
|
451
|
+
rapids.append(
|
|
452
|
+
self.rapid.draw_rapid(
|
|
453
|
+
instruction=instruction,
|
|
454
|
+
truths=truths[i],
|
|
455
|
+
datapoint=datapoints[i],
|
|
456
|
+
context=contexts[i] if contexts != None else None,
|
|
457
|
+
media_context=(
|
|
458
|
+
media_contexts[i] if media_contexts != None else None
|
|
459
|
+
),
|
|
460
|
+
explanation=explanation[i] if explanation != None else None,
|
|
461
|
+
)
|
|
351
462
|
)
|
|
352
|
-
)
|
|
353
463
|
|
|
354
|
-
|
|
355
|
-
|
|
464
|
+
logger.debug("Submitting draw rapids")
|
|
465
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
356
466
|
|
|
357
|
-
def create_timestamp_set(
|
|
467
|
+
def create_timestamp_set(
|
|
468
|
+
self,
|
|
358
469
|
name: str,
|
|
359
470
|
instruction: str,
|
|
360
471
|
truths: list[list[tuple[int, int]]],
|
|
361
472
|
datapoints: list[str],
|
|
362
473
|
contexts: list[str] | None = None,
|
|
474
|
+
media_contexts: list[str] | None = None,
|
|
363
475
|
explanation: list[str | None] | None = None,
|
|
364
476
|
dimensions: list[str] = [],
|
|
365
477
|
) -> RapidataValidationSet:
|
|
@@ -368,13 +480,16 @@ class ValidationSetManager:
|
|
|
368
480
|
Args:
|
|
369
481
|
name (str): The name of the validation set. (will not be shown to the labeler)
|
|
370
482
|
instruction (str): The instruction to show to the labeler.
|
|
371
|
-
truths (list[list[tuple[int, int]]]): The truths for each datapoint defined as start and endpoint based on miliseconds.
|
|
483
|
+
truths (list[list[tuple[int, int]]]): The truths for each datapoint defined as start and endpoint based on miliseconds.
|
|
372
484
|
Outer list is for each datapoint, inner list is for each truth.\n
|
|
373
485
|
example:
|
|
374
486
|
datapoints: ["datapoint1", "datapoint2"]
|
|
375
487
|
truths: [[(0, 10)], [(20, 30)]] -> first datapoint the correct interval is from 0 to 10, second datapoint the correct interval is from 20 to 30
|
|
376
488
|
datapoints (list[str]): The datapoints that will be used for validation.
|
|
377
489
|
contexts (list[str], optional): The contexts for each datapoint. Defaults to None.
|
|
490
|
+
media_contexts (list[str], optional): The list of media contexts i.e. links to the images / videos for the comparison. Defaults to None.\n
|
|
491
|
+
If provided has to be the same length as datapoints and will be shown in addition to the instruction. (Therefore will be different for each datapoint)
|
|
492
|
+
Will be matched up with the datapoints using the list index.
|
|
378
493
|
explanation (list[str | None], optional): The explanations for each datapoint. Will be given to the annotators in case the answer is wrong. Defaults to None.
|
|
379
494
|
dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
|
|
380
495
|
|
|
@@ -385,36 +500,50 @@ class ValidationSetManager:
|
|
|
385
500
|
```
|
|
386
501
|
This would mean: first datapoint the correct interval is from 0 to 10, second datapoint the correct interval is from 20 to 30
|
|
387
502
|
"""
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
metadata=[PromptMetadata(contexts[i])] if contexts else [],
|
|
410
|
-
explanation=explanation[i] if explanation != None else None
|
|
503
|
+
with tracer.start_as_current_span("ValidationSetManager.create_timestamp_set"):
|
|
504
|
+
if not datapoints:
|
|
505
|
+
raise ValueError("Datapoints cannot be empty")
|
|
506
|
+
|
|
507
|
+
if len(datapoints) != len(truths):
|
|
508
|
+
raise ValueError("The number of datapoints and truths must be equal")
|
|
509
|
+
|
|
510
|
+
if not all([isinstance(truth, (list, tuple)) for truth in truths]):
|
|
511
|
+
raise ValueError("Truths must be a list of lists or tuples")
|
|
512
|
+
|
|
513
|
+
if contexts and len(contexts) != len(datapoints):
|
|
514
|
+
raise ValueError("The number of contexts and datapoints must be equal")
|
|
515
|
+
|
|
516
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
517
|
+
raise ValueError(
|
|
518
|
+
"The number of media contexts and datapoints must be equal"
|
|
519
|
+
)
|
|
520
|
+
|
|
521
|
+
if explanation and len(explanation) != len(datapoints):
|
|
522
|
+
raise ValueError(
|
|
523
|
+
"The number of explanations and datapoints must be equal, the index must align, but can be padded with None"
|
|
411
524
|
)
|
|
412
|
-
)
|
|
413
525
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
526
|
+
logger.debug("Creating timestamp rapids")
|
|
527
|
+
rapids: list[Rapid] = []
|
|
528
|
+
for i in range(len(datapoints)):
|
|
529
|
+
rapids.append(
|
|
530
|
+
self.rapid.timestamp_rapid(
|
|
531
|
+
instruction=instruction,
|
|
532
|
+
truths=truths[i],
|
|
533
|
+
datapoint=datapoints[i],
|
|
534
|
+
context=contexts[i] if contexts != None else None,
|
|
535
|
+
media_context=(
|
|
536
|
+
media_contexts[i] if media_contexts != None else None
|
|
537
|
+
),
|
|
538
|
+
explanation=explanation[i] if explanation != None else None,
|
|
539
|
+
)
|
|
540
|
+
)
|
|
541
|
+
|
|
542
|
+
logger.debug("Submitting timestamp rapids")
|
|
543
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
544
|
+
|
|
545
|
+
def create_mixed_set(
|
|
546
|
+
self,
|
|
418
547
|
name: str,
|
|
419
548
|
rapids: list[Rapid],
|
|
420
549
|
dimensions: list[str] = [],
|
|
@@ -426,20 +555,23 @@ class ValidationSetManager:
|
|
|
426
555
|
rapids (list[Rapid]): The list of rapids to add to the validation set.
|
|
427
556
|
dimensions (list[str], optional): The dimensions to add to the validation set accross which users will be tracked. Defaults to [] which is the default dimension.
|
|
428
557
|
"""
|
|
558
|
+
with tracer.start_as_current_span("ValidationSetManager.create_mixed_set"):
|
|
559
|
+
if not rapids:
|
|
560
|
+
raise ValueError("Rapids cannot be empty")
|
|
429
561
|
|
|
430
|
-
|
|
562
|
+
return self._submit(name=name, rapids=rapids, dimensions=dimensions)
|
|
431
563
|
|
|
432
|
-
def _submit(
|
|
564
|
+
def _submit(
|
|
565
|
+
self, name: str, rapids: list[Rapid], dimensions: list[str]
|
|
566
|
+
) -> RapidataValidationSet:
|
|
433
567
|
logger.debug("Creating validation set")
|
|
434
568
|
validation_set_id = (
|
|
435
|
-
self.
|
|
436
|
-
create_validation_set_model=CreateValidationSetModel(
|
|
437
|
-
name=name
|
|
438
|
-
)
|
|
569
|
+
self._openapi_service.validation_api.validation_set_post(
|
|
570
|
+
create_validation_set_model=CreateValidationSetModel(name=name)
|
|
439
571
|
)
|
|
440
572
|
).validation_set_id
|
|
441
573
|
|
|
442
|
-
logger.debug(
|
|
574
|
+
logger.debug("Validation set created with ID: %s", validation_set_id)
|
|
443
575
|
|
|
444
576
|
if validation_set_id is None:
|
|
445
577
|
raise ValueError("Failed to create validation set")
|
|
@@ -449,23 +581,159 @@ class ValidationSetManager:
|
|
|
449
581
|
validation_set = RapidataValidationSet(
|
|
450
582
|
name=name,
|
|
451
583
|
validation_set_id=validation_set_id,
|
|
452
|
-
|
|
584
|
+
dimensions=dimensions,
|
|
585
|
+
openapi_service=self._openapi_service,
|
|
453
586
|
)
|
|
587
|
+
with tracer.start_as_current_span("Adding rapids to validation set"):
|
|
588
|
+
logger.debug("Adding rapids to validation set")
|
|
589
|
+
failed_rapids = []
|
|
590
|
+
|
|
591
|
+
progress_bar = tqdm(
|
|
592
|
+
total=len(rapids),
|
|
593
|
+
desc="Uploading validation tasks",
|
|
594
|
+
disable=rapidata_config.logging.silent_mode,
|
|
595
|
+
)
|
|
596
|
+
|
|
597
|
+
for rapid in rapids:
|
|
598
|
+
try:
|
|
599
|
+
validation_set.add_rapid(rapid)
|
|
600
|
+
progress_bar.update(1)
|
|
601
|
+
except Exception as e:
|
|
602
|
+
logger.error(
|
|
603
|
+
"Failed to add rapid %s to validation set.\nError: %s",
|
|
604
|
+
rapid.asset,
|
|
605
|
+
str(e),
|
|
606
|
+
)
|
|
607
|
+
failed_rapids.append(rapid.asset)
|
|
608
|
+
|
|
609
|
+
progress_bar.close()
|
|
610
|
+
|
|
611
|
+
if failed_rapids:
|
|
612
|
+
logger.error(
|
|
613
|
+
"Failed to add %s datapoints to validation set: %s",
|
|
614
|
+
len(failed_rapids),
|
|
615
|
+
failed_rapids,
|
|
616
|
+
)
|
|
617
|
+
raise RuntimeError(
|
|
618
|
+
f"Failed to add {len(failed_rapids)} datapoints to validation set: {failed_rapids}"
|
|
619
|
+
)
|
|
454
620
|
|
|
455
|
-
logger.debug("Adding rapids to validation set")
|
|
456
|
-
for rapid in tqdm(rapids, desc="Uploading validation tasks"):
|
|
457
|
-
validation_set.add_rapid(rapid)
|
|
458
|
-
|
|
459
621
|
managed_print()
|
|
460
|
-
managed_print(
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
622
|
+
managed_print(
|
|
623
|
+
f"Validation set '{name}' created with ID {validation_set_id}\n",
|
|
624
|
+
f"Now viewable under: {validation_set.validation_set_details_page}",
|
|
625
|
+
sep="",
|
|
626
|
+
)
|
|
627
|
+
|
|
464
628
|
if dimensions:
|
|
465
629
|
validation_set.update_dimensions(dimensions)
|
|
466
|
-
|
|
630
|
+
|
|
467
631
|
return validation_set
|
|
468
|
-
|
|
632
|
+
|
|
633
|
+
def _create_order_validation_set(
|
|
634
|
+
self,
|
|
635
|
+
workflow: Workflow,
|
|
636
|
+
name: str,
|
|
637
|
+
datapoints: list[Datapoint],
|
|
638
|
+
required_amount: int,
|
|
639
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
640
|
+
dimensions: list[str] = [],
|
|
641
|
+
) -> RapidataValidationSet:
|
|
642
|
+
with tracer.start_as_current_span(
|
|
643
|
+
"ValidationSetManager._create_order_validation_set"
|
|
644
|
+
):
|
|
645
|
+
rapids: list[Rapid] = []
|
|
646
|
+
for datapoint in workflow._format_datapoints(datapoints):
|
|
647
|
+
rapids.append(
|
|
648
|
+
Rapid(
|
|
649
|
+
asset=datapoint.asset,
|
|
650
|
+
payload=workflow._to_payload(datapoint),
|
|
651
|
+
context=datapoint.context,
|
|
652
|
+
media_context=datapoint.media_context,
|
|
653
|
+
data_type=datapoint.data_type,
|
|
654
|
+
settings=settings,
|
|
655
|
+
)
|
|
656
|
+
)
|
|
657
|
+
validation_set = RapidataValidationSet(
|
|
658
|
+
validation_set_id=self._openapi_service.validation_api.validation_set_post(
|
|
659
|
+
create_validation_set_model=CreateValidationSetModel(name=name)
|
|
660
|
+
).validation_set_id,
|
|
661
|
+
name=name,
|
|
662
|
+
dimensions=dimensions,
|
|
663
|
+
openapi_service=self._openapi_service,
|
|
664
|
+
)
|
|
665
|
+
|
|
666
|
+
managed_print()
|
|
667
|
+
managed_print(
|
|
668
|
+
Fore.YELLOW
|
|
669
|
+
+ f"A new validation set was created. Please annotate {required_amount} datapoint{('s' if required_amount != 1 else '')} before the order can run."
|
|
670
|
+
+ Fore.RESET
|
|
671
|
+
)
|
|
672
|
+
|
|
673
|
+
link = f"https://app.{self._openapi_service.environment}/validation-set/detail/{validation_set.id}/annotate?maxSize={len(datapoints)}&required={required_amount}"
|
|
674
|
+
could_open_browser = webbrowser.open(link)
|
|
675
|
+
if not could_open_browser:
|
|
676
|
+
encoded_url = urllib.parse.quote(link, safe="%/:=&?~#+!$,;'@()*[]")
|
|
677
|
+
managed_print(
|
|
678
|
+
Fore.RED
|
|
679
|
+
+ f"Please open this URL in your browser to annotate the validation set: '{encoded_url}'"
|
|
680
|
+
+ Fore.RESET
|
|
681
|
+
)
|
|
682
|
+
else:
|
|
683
|
+
managed_print(
|
|
684
|
+
Fore.YELLOW
|
|
685
|
+
+ f"Please annotate the validation set. \n'{link}'"
|
|
686
|
+
+ Fore.RESET
|
|
687
|
+
)
|
|
688
|
+
|
|
689
|
+
with tracer.start_as_current_span("Annotating validation set"):
|
|
690
|
+
progress_bar = tqdm(
|
|
691
|
+
total=required_amount,
|
|
692
|
+
desc="Annotate the validation set",
|
|
693
|
+
disable=rapidata_config.logging.silent_mode,
|
|
694
|
+
)
|
|
695
|
+
|
|
696
|
+
rapid_index = 0
|
|
697
|
+
while True:
|
|
698
|
+
total_rapids, labeled_rapids = (
|
|
699
|
+
self._get_total_and_labeled_rapids_count(validation_set.id)
|
|
700
|
+
)
|
|
701
|
+
|
|
702
|
+
progress_bar.n = labeled_rapids
|
|
703
|
+
progress_bar.refresh()
|
|
704
|
+
|
|
705
|
+
if labeled_rapids >= required_amount:
|
|
706
|
+
break
|
|
707
|
+
|
|
708
|
+
if total_rapids < required_amount and rapid_index >= len(rapids):
|
|
709
|
+
managed_print(
|
|
710
|
+
Fore.RED
|
|
711
|
+
+ f"""Warning: An order can only be started with at least {required_amount} annotated validation tasks. But only {labeled_rapids}/{required_amount} were annotated.
|
|
712
|
+
Either add clearer examples or turn off the 'autoValidationSetCreation' with:
|
|
713
|
+
|
|
714
|
+
from rapidata import rapidata_config
|
|
715
|
+
rapidata_config.order.autoValidationSetCreation = False"""
|
|
716
|
+
+ Fore.RESET
|
|
717
|
+
)
|
|
718
|
+
raise RuntimeError(
|
|
719
|
+
f"Not enough rapids annotated. Required: {required_amount}, Annotated: {labeled_rapids}"
|
|
720
|
+
)
|
|
721
|
+
|
|
722
|
+
if (
|
|
723
|
+
rapid_index < len(rapids)
|
|
724
|
+
and total_rapids - labeled_rapids <= required_amount * 2
|
|
725
|
+
):
|
|
726
|
+
validation_set.add_rapid(rapids[rapid_index])
|
|
727
|
+
rapid_index += 1
|
|
728
|
+
|
|
729
|
+
time.sleep(2)
|
|
730
|
+
|
|
731
|
+
progress_bar.close()
|
|
732
|
+
|
|
733
|
+
validation_set.update_dimensions(dimensions)
|
|
734
|
+
|
|
735
|
+
return validation_set
|
|
736
|
+
|
|
469
737
|
def get_validation_set_by_id(self, validation_set_id: str) -> RapidataValidationSet:
|
|
470
738
|
"""Get a validation set by ID.
|
|
471
739
|
|
|
@@ -475,37 +743,71 @@ class ValidationSetManager:
|
|
|
475
743
|
Returns:
|
|
476
744
|
RapidataValidationSet: The ValidationSet instance.
|
|
477
745
|
"""
|
|
478
|
-
try:
|
|
479
|
-
validation_set = self.__openapi_service.validation_api.validation_set_validation_set_id_get(validation_set_id=validation_set_id)
|
|
480
|
-
except Exception:
|
|
481
|
-
raise ValueError(f"ValidationSet with ID {validation_set_id} not found.")
|
|
482
|
-
|
|
483
|
-
return RapidataValidationSet(validation_set_id, str(validation_set.name), self.__openapi_service)
|
|
484
746
|
|
|
747
|
+
with tracer.start_as_current_span(
|
|
748
|
+
"ValidationSetManager.get_validation_set_by_id"
|
|
749
|
+
):
|
|
750
|
+
logger.debug("Getting validation set by ID: %s", validation_set_id)
|
|
751
|
+
validation_set = self._openapi_service.validation_api.validation_set_validation_set_id_get(
|
|
752
|
+
validation_set_id=validation_set_id
|
|
753
|
+
)
|
|
754
|
+
|
|
755
|
+
return RapidataValidationSet(
|
|
756
|
+
validation_set_id,
|
|
757
|
+
str(validation_set.name),
|
|
758
|
+
validation_set.dimensions,
|
|
759
|
+
self._openapi_service,
|
|
760
|
+
)
|
|
485
761
|
|
|
486
|
-
def find_validation_sets(
|
|
762
|
+
def find_validation_sets(
|
|
763
|
+
self, name: str = "", amount: int = 10
|
|
764
|
+
) -> list[RapidataValidationSet]:
|
|
487
765
|
"""Find validation sets by name.
|
|
488
766
|
|
|
489
767
|
Args:
|
|
490
768
|
name (str, optional): The name to search for. Defaults to "" to match with any set.
|
|
491
|
-
amount (int, optional): The amount of validation sets to return. Defaults to
|
|
769
|
+
amount (int, optional): The amount of validation sets to return. Defaults to 10.
|
|
492
770
|
|
|
493
771
|
Returns:
|
|
494
772
|
list[RapidataValidationSet]: The list of validation sets.
|
|
495
773
|
"""
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
774
|
+
with tracer.start_as_current_span("ValidationSetManager.find_validation_sets"):
|
|
775
|
+
logger.debug(
|
|
776
|
+
"Finding validation sets with name: %s and amount: %s", name, amount
|
|
777
|
+
)
|
|
778
|
+
|
|
779
|
+
validation_page_result = (
|
|
780
|
+
self._openapi_service.validation_api.validation_sets_get(
|
|
781
|
+
QueryModel(
|
|
782
|
+
page=PageInfo(index=1, size=amount),
|
|
783
|
+
filter=RootFilter(
|
|
784
|
+
filters=[
|
|
785
|
+
Filter(
|
|
786
|
+
field="Name",
|
|
787
|
+
operator=FilterOperator.CONTAINS,
|
|
788
|
+
value=name,
|
|
789
|
+
)
|
|
790
|
+
]
|
|
791
|
+
),
|
|
792
|
+
sortCriteria=[
|
|
793
|
+
SortCriterion(
|
|
794
|
+
direction=SortDirection.DESC, propertyName="CreatedAt"
|
|
795
|
+
)
|
|
796
|
+
],
|
|
797
|
+
)
|
|
798
|
+
)
|
|
799
|
+
)
|
|
502
800
|
|
|
503
|
-
|
|
504
|
-
raise ValueError(f"Error occured during request. \nError: {e.body} \nTraceid: {e.headers.get('X-Trace-Id') if isinstance(e.headers, HTTPHeaderDict) else 'Unknown'}")
|
|
801
|
+
logger.debug("Validation sets found: %s", validation_page_result.items)
|
|
505
802
|
|
|
506
|
-
|
|
507
|
-
|
|
803
|
+
validation_sets = [
|
|
804
|
+
self.get_validation_set_by_id(str(validation_set.id))
|
|
805
|
+
for validation_set in validation_page_result.items
|
|
806
|
+
]
|
|
807
|
+
return validation_sets
|
|
508
808
|
|
|
509
|
-
|
|
510
|
-
return
|
|
809
|
+
def __str__(self) -> str:
|
|
810
|
+
return "ValidationSetManager"
|
|
511
811
|
|
|
812
|
+
def __repr__(self) -> str:
|
|
813
|
+
return self.__str__()
|