rapidata 2.27.2__py3-none-any.whl → 2.44.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rapidata/__init__.py +12 -9
- rapidata/api_client/__init__.py +83 -329
- rapidata/api_client/api/__init__.py +9 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +1133 -0
- rapidata/api_client/api/benchmark_api.py +3966 -0
- rapidata/api_client/api/campaign_api.py +232 -207
- rapidata/api_client/api/client_api.py +349 -71
- 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 +644 -72
- rapidata/api_client/api/datapoint_api.py +8 -797
- rapidata/api_client/api/dataset_api.py +229 -3452
- 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/leaderboard_api.py +2550 -0
- rapidata/api_client/api/newsletter_api.py +20 -19
- 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 +35 -31
- rapidata/api_client/api/validation_set_api.py +513 -3233
- 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 -307
- rapidata/api_client/models/ab_test_selection_a_inner.py +27 -13
- rapidata/api_client/models/add_campaign_model.py +3 -3
- rapidata/api_client/models/add_user_response_result.py +10 -5
- rapidata/api_client/models/add_validation_rapid_model.py +55 -24
- 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 +7 -1
- 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 +1 -3
- 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 +11 -9
- 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_status.py +38 -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 +89 -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_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 +57 -15
- 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 +99 -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.py +3 -3
- rapidata/api_client/models/create_datapoint_from_text_sources_model.py +3 -3
- rapidata/api_client/models/create_datapoint_from_urls_model.py +3 -3
- rapidata/api_client/models/create_datapoint_model.py +134 -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_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_leaderboard_model.py +140 -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_model.py +30 -101
- 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_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/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 +120 -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 +3 -5
- 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 +43 -71
- 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 +111 -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 +96 -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_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 +32 -41
- 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_campaign_filter.py +282 -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_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -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_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 +103 -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 +103 -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 +282 -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_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 +104 -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/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 +6 -6
- 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/naive_referee_model.py +2 -2
- rapidata/api_client/models/named_classification.py +4 -13
- 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 +3 -5
- rapidata/api_client/models/online_pair_maker_config_model.py +3 -3
- 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_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 +87 -0
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +6 -8
- 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 +111 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_model.py +10 -5
- 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 +33 -49
- 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 +2 -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 +87 -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 +3 -5
- 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_audience_request.py +102 -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_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 -10
- rapidata/api_client/models/update_validation_rapid_model_context_asset.py +160 -0
- 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/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_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/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 +16 -9
- rapidata/api_client_README.md +389 -315
- rapidata/rapidata_client/__init__.py +10 -17
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/benchmark/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +32 -0
- rapidata/rapidata_client/benchmark/leaderboard/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +221 -0
- rapidata/rapidata_client/benchmark/participant/__init__.py +0 -0
- rapidata/rapidata_client/benchmark/participant/_participant.py +147 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +546 -0
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +219 -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 +10 -0
- rapidata/rapidata_client/datapoints/_asset_uploader.py +169 -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/assets/__init__.py +0 -0
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- rapidata/rapidata_client/{metadata → datapoints/metadata}/__init__.py +1 -0
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +26 -0
- 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/_prompt_metadata.py +12 -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/demographic/demographic_manager.py +44 -19
- rapidata/rapidata_client/exceptions/__init__.py +1 -0
- rapidata/rapidata_client/exceptions/failed_upload_exception.py +20 -0
- rapidata/rapidata_client/filter/__init__.py +1 -0
- rapidata/rapidata_client/filter/_base_filter.py +27 -6
- rapidata/rapidata_client/filter/age_filter.py +21 -10
- rapidata/rapidata_client/filter/and_filter.py +42 -0
- rapidata/rapidata_client/filter/campaign_filter.py +18 -10
- rapidata/rapidata_client/filter/country_filter.py +34 -12
- rapidata/rapidata_client/filter/custom_filter.py +22 -12
- rapidata/rapidata_client/filter/gender_filter.py +22 -10
- rapidata/rapidata_client/filter/language_filter.py +39 -21
- rapidata/rapidata_client/filter/models/age_group.py +14 -12
- rapidata/rapidata_client/filter/models/gender.py +12 -8
- rapidata/rapidata_client/filter/new_user_filter.py +11 -4
- rapidata/rapidata_client/filter/not_filter.py +23 -11
- rapidata/rapidata_client/filter/or_filter.py +23 -11
- rapidata/rapidata_client/filter/rapidata_filters.py +19 -13
- rapidata/rapidata_client/filter/response_count_filter.py +36 -20
- rapidata/rapidata_client/filter/user_score_filter.py +47 -24
- rapidata/rapidata_client/order/_rapidata_order_builder.py +286 -193
- rapidata/rapidata_client/order/dataset/_rapidata_dataset.py +153 -0
- rapidata/rapidata_client/order/rapidata_order.py +317 -160
- rapidata/rapidata_client/order/rapidata_order_manager.py +689 -431
- rapidata/rapidata_client/order/rapidata_results.py +98 -67
- rapidata/rapidata_client/rapidata_client.py +99 -33
- rapidata/rapidata_client/referee/__init__.py +1 -1
- rapidata/rapidata_client/referee/_base_referee.py +7 -3
- rapidata/rapidata_client/referee/_early_stopping_referee.py +20 -11
- rapidata/rapidata_client/referee/_naive_referee.py +18 -3
- 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 +34 -11
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
- rapidata/rapidata_client/selection/rapidata_selections.py +17 -8
- rapidata/rapidata_client/selection/shuffling_selection.py +21 -13
- rapidata/rapidata_client/selection/static_selection.py +19 -8
- rapidata/rapidata_client/selection/validation_selection.py +20 -4
- rapidata/rapidata_client/settings/__init__.py +4 -1
- rapidata/rapidata_client/settings/_rapidata_setting.py +15 -2
- 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 +18 -3
- rapidata/rapidata_client/settings/swap_context_instruction.py +20 -0
- rapidata/rapidata_client/settings/translation_behaviour.py +7 -5
- rapidata/rapidata_client/validation/rapidata_validation_set.py +106 -12
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +62 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +28 -103
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +315 -208
- rapidata/rapidata_client/validation/validation_set_manager.py +511 -260
- rapidata/rapidata_client/workflow/__init__.py +2 -1
- 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 +87 -0
- rapidata/rapidata_client/workflow/_ranking_workflow.py +109 -25
- 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 +14 -14
- rapidata/service/openapi_service.py +82 -22
- rapidata/types/__init__.py +166 -0
- rapidata-2.44.3.dist-info/METADATA +32 -0
- rapidata-2.44.3.dist-info/RECORD +1014 -0
- {rapidata-2.27.2.dist-info → rapidata-2.44.3.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 -61
- 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 -122
- rapidata/rapidata_client/logging/output_manager.py +0 -20
- rapidata/rapidata_client/metadata/_media_asset_metadata.py +0 -15
- 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 -411
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.27.2.dist-info/METADATA +0 -35
- rapidata-2.27.2.dist-info/RECORD +0 -540
- /rapidata/rapidata_client/{metadata → datapoints/metadata}/_base_metadata.py +0 -0
- {rapidata-2.27.2.dist-info → rapidata-2.44.3.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,77 +1,124 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from
|
|
3
|
-
|
|
4
|
-
from rapidata.
|
|
5
|
-
|
|
2
|
+
from typing import Literal
|
|
3
|
+
|
|
4
|
+
from rapidata.api_client.models.i_validation_truth_attach_category_truth import (
|
|
5
|
+
IValidationTruthAttachCategoryTruth,
|
|
6
|
+
)
|
|
7
|
+
from rapidata.api_client.models.i_validation_truth_bounding_box_truth import (
|
|
8
|
+
IValidationTruthBoundingBoxTruth,
|
|
9
|
+
)
|
|
10
|
+
from rapidata.api_client.models.i_rapid_payload_classify_payload import (
|
|
11
|
+
IRapidPayloadClassifyPayload,
|
|
12
|
+
)
|
|
13
|
+
from rapidata.api_client.models.classify_payload_category import ClassifyPayloadCategory
|
|
14
|
+
from rapidata.api_client.models.i_rapid_payload_compare_payload import (
|
|
15
|
+
IRapidPayloadComparePayload,
|
|
16
|
+
)
|
|
17
|
+
from rapidata.api_client.models.i_validation_truth_compare_truth import (
|
|
18
|
+
IValidationTruthCompareTruth,
|
|
19
|
+
)
|
|
20
|
+
from rapidata.api_client.models.i_rapid_payload_line_payload import (
|
|
21
|
+
IRapidPayloadLinePayload,
|
|
22
|
+
)
|
|
23
|
+
from rapidata.api_client.models.i_validation_truth_locate_box_truth import (
|
|
24
|
+
IValidationTruthLocateBoxTruth,
|
|
25
|
+
)
|
|
26
|
+
from rapidata.api_client.models.i_rapid_payload_locate_payload import (
|
|
27
|
+
IRapidPayloadLocatePayload,
|
|
28
|
+
)
|
|
29
|
+
from rapidata.api_client.models.i_rapid_payload_scrub_payload import (
|
|
30
|
+
IRapidPayloadScrubPayload,
|
|
31
|
+
)
|
|
32
|
+
from rapidata.api_client.models.scrub_payload import ScrubPayload
|
|
33
|
+
from rapidata.api_client.models.scrub_range import ScrubRange
|
|
34
|
+
from rapidata.api_client.models.i_validation_truth_scrub_truth import (
|
|
35
|
+
IValidationTruthScrubTruth,
|
|
36
|
+
)
|
|
37
|
+
from rapidata.api_client.models.scrub_truth import ScrubTruth
|
|
38
|
+
from rapidata.api_client.models.i_rapid_payload_transcription_payload import (
|
|
39
|
+
IRapidPayloadTranscriptionPayload,
|
|
40
|
+
)
|
|
41
|
+
from rapidata.api_client.models.i_validation_truth_transcription_truth import (
|
|
42
|
+
IValidationTruthTranscriptionTruth,
|
|
43
|
+
)
|
|
44
|
+
from rapidata.api_client.models.transcription_word import TranscriptionWord
|
|
6
45
|
from rapidata.rapidata_client.validation.rapids.box import Box
|
|
7
|
-
|
|
8
|
-
from typing import Sequence
|
|
9
|
-
|
|
10
46
|
from rapidata.rapidata_client.validation.rapids.rapids import Rapid
|
|
47
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
48
|
+
from rapidata.api_client.models.i_rapid_payload import IRapidPayload
|
|
49
|
+
|
|
11
50
|
|
|
12
51
|
class RapidsManager:
|
|
13
52
|
"""
|
|
14
53
|
Can be used to build different types of rapids. That can then be added to Validation sets
|
|
15
54
|
"""
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
55
|
+
|
|
56
|
+
def __init__(self, openapi_service: OpenAPIService):
|
|
57
|
+
self._openapi_service = openapi_service
|
|
58
|
+
|
|
59
|
+
def classification_rapid(
|
|
60
|
+
self,
|
|
61
|
+
instruction: str,
|
|
62
|
+
answer_options: list[str],
|
|
63
|
+
datapoint: str,
|
|
64
|
+
truths: list[str],
|
|
65
|
+
data_type: Literal["media", "text"] = "media",
|
|
66
|
+
context: str | None = None,
|
|
67
|
+
media_context: str | None = None,
|
|
68
|
+
explanation: str | None = None,
|
|
27
69
|
) -> Rapid:
|
|
28
70
|
"""Build a classification rapid
|
|
29
|
-
|
|
71
|
+
|
|
30
72
|
Args:
|
|
31
73
|
instruction (str): The instruction/question to be shown to the labeler.
|
|
32
74
|
answer_options (list[str]): The options that the labeler can choose from to answer the question.
|
|
33
75
|
datapoint (str): The datapoint that the labeler will be labeling.
|
|
34
76
|
truths (list[str]): The correct answers to the question.
|
|
35
|
-
data_type (str, optional): The type of the datapoint. Defaults to
|
|
36
|
-
|
|
77
|
+
data_type (str, optional): The type of the datapoint. Defaults to "media" (any form of image, video or audio).
|
|
78
|
+
context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
|
|
79
|
+
media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
|
|
80
|
+
explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
|
|
37
81
|
"""
|
|
38
|
-
|
|
39
|
-
if data_type == RapidataDataTypes.MEDIA:
|
|
40
|
-
asset = MediaAsset(datapoint)
|
|
41
|
-
elif data_type == RapidataDataTypes.TEXT:
|
|
42
|
-
asset = TextAsset(datapoint)
|
|
43
|
-
else:
|
|
44
|
-
raise ValueError(f"Unsupported data type: {data_type}")
|
|
45
|
-
|
|
46
82
|
if not isinstance(truths, list):
|
|
47
83
|
raise ValueError("Truths must be a list of strings")
|
|
48
|
-
|
|
84
|
+
|
|
49
85
|
if not all(truth in answer_options for truth in truths):
|
|
50
86
|
raise ValueError("Truths must be part of the answer options")
|
|
51
87
|
|
|
52
|
-
payload =
|
|
53
|
-
|
|
88
|
+
payload = IRapidPayload(
|
|
89
|
+
actual_instance=IRapidPayloadClassifyPayload(
|
|
90
|
+
_t="ClassifyPayload",
|
|
91
|
+
categories=[
|
|
92
|
+
ClassifyPayloadCategory(label=option, value=option)
|
|
93
|
+
for option in answer_options
|
|
94
|
+
],
|
|
95
|
+
title=instruction,
|
|
96
|
+
)
|
|
54
97
|
)
|
|
55
|
-
model_truth =
|
|
98
|
+
model_truth = IValidationTruthAttachCategoryTruth(
|
|
56
99
|
correctCategories=truths, _t="AttachCategoryTruth"
|
|
57
100
|
)
|
|
58
101
|
|
|
59
102
|
return Rapid(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
103
|
+
asset=datapoint,
|
|
104
|
+
data_type=data_type,
|
|
105
|
+
context=context,
|
|
106
|
+
media_context=media_context,
|
|
107
|
+
explanation=explanation,
|
|
108
|
+
payload=payload,
|
|
109
|
+
truth=model_truth,
|
|
110
|
+
random_correct_probability=len(truths) / len(answer_options),
|
|
111
|
+
)
|
|
112
|
+
|
|
113
|
+
def compare_rapid(
|
|
114
|
+
self,
|
|
115
|
+
instruction: str,
|
|
116
|
+
truth: str,
|
|
117
|
+
datapoint: list[str],
|
|
118
|
+
data_type: Literal["media", "text"] = "media",
|
|
119
|
+
context: str | None = None,
|
|
120
|
+
media_context: str | None = None,
|
|
121
|
+
explanation: str | None = None,
|
|
75
122
|
) -> Rapid:
|
|
76
123
|
"""Build a compare rapid
|
|
77
124
|
|
|
@@ -79,46 +126,43 @@ class RapidsManager:
|
|
|
79
126
|
instruction (str): The instruction that the labeler will be comparing the assets on.
|
|
80
127
|
truth (str): The correct answer to the comparison. (has to be one of the assets)
|
|
81
128
|
datapoint (list[str]): The two assets that the labeler will be comparing.
|
|
82
|
-
data_type (str, optional): The type of the datapoint. Defaults to
|
|
83
|
-
|
|
129
|
+
data_type (str, optional): The type of the datapoint. Defaults to "media" (any form of image, video or audio).
|
|
130
|
+
context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
|
|
131
|
+
media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
|
|
132
|
+
explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
|
|
84
133
|
"""
|
|
85
134
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
raise ValueError(f"Unsupported data type: {data_type}")
|
|
92
|
-
|
|
93
|
-
asset = MultiAsset(assets)
|
|
94
|
-
|
|
95
|
-
payload = ComparePayload(_t="ComparePayload", criteria=instruction)
|
|
96
|
-
# take only last part of truth path
|
|
135
|
+
payload = IRapidPayload(
|
|
136
|
+
actual_instance=IRapidPayloadComparePayload(
|
|
137
|
+
_t="ComparePayload", criteria=instruction
|
|
138
|
+
)
|
|
139
|
+
)
|
|
97
140
|
truth = os.path.basename(truth)
|
|
98
|
-
model_truth =
|
|
141
|
+
model_truth = IValidationTruthCompareTruth(_t="CompareTruth", winnerId=truth)
|
|
99
142
|
|
|
100
|
-
if len(
|
|
143
|
+
if len(datapoint) != 2:
|
|
101
144
|
raise ValueError("Compare rapid requires exactly two media paths")
|
|
102
145
|
|
|
103
|
-
|
|
104
146
|
return Rapid(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
147
|
+
asset=datapoint,
|
|
148
|
+
data_type=data_type,
|
|
149
|
+
truth=model_truth,
|
|
150
|
+
context=context,
|
|
151
|
+
media_context=media_context,
|
|
152
|
+
payload=payload,
|
|
153
|
+
explanation=explanation,
|
|
154
|
+
random_correct_probability=0.5,
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
def select_words_rapid(
|
|
158
|
+
self,
|
|
159
|
+
instruction: str,
|
|
160
|
+
truths: list[int],
|
|
161
|
+
datapoint: str,
|
|
162
|
+
sentence: str,
|
|
163
|
+
required_precision: float = 1,
|
|
164
|
+
required_completeness: float = 1,
|
|
165
|
+
explanation: str | None = None,
|
|
122
166
|
) -> Rapid:
|
|
123
167
|
"""Build a select words rapid
|
|
124
168
|
|
|
@@ -129,10 +173,9 @@ class RapidsManager:
|
|
|
129
173
|
sentence (str): The sentence that the labeler will be selecting words from. (split up by spaces)
|
|
130
174
|
required_precision (float): The required precision for the labeler to get the rapid correct (minimum ratio of the words selected that need to be correct). defaults to 1. (no wrong words can be selected)
|
|
131
175
|
required_completeness (float): The required completeness for the labeler to get the rapid correct (miminum ratio of total correct words selected). defaults to 1. (all correct words need to be selected)
|
|
132
|
-
|
|
176
|
+
explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
|
|
133
177
|
"""
|
|
134
|
-
|
|
135
|
-
asset = MediaAsset(datapoint)
|
|
178
|
+
|
|
136
179
|
transcription_words = [
|
|
137
180
|
TranscriptionWord(word=word, wordIndex=i)
|
|
138
181
|
for i, word in enumerate(sentence.split(" "))
|
|
@@ -144,11 +187,15 @@ class RapidsManager:
|
|
|
144
187
|
TranscriptionWord(word=transcription_words[index].word, wordIndex=index)
|
|
145
188
|
)
|
|
146
189
|
|
|
147
|
-
payload =
|
|
148
|
-
|
|
190
|
+
payload = IRapidPayload(
|
|
191
|
+
actual_instance=IRapidPayloadTranscriptionPayload(
|
|
192
|
+
_t="TranscriptionPayload",
|
|
193
|
+
title=instruction,
|
|
194
|
+
transcription=transcription_words,
|
|
195
|
+
)
|
|
149
196
|
)
|
|
150
197
|
|
|
151
|
-
model_truth =
|
|
198
|
+
model_truth = IValidationTruthTranscriptionTruth(
|
|
152
199
|
_t="TranscriptionTruth",
|
|
153
200
|
correctWords=correct_transcription_words,
|
|
154
201
|
requiredPrecision=required_precision,
|
|
@@ -156,20 +203,23 @@ class RapidsManager:
|
|
|
156
203
|
)
|
|
157
204
|
|
|
158
205
|
return Rapid(
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
)
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
206
|
+
payload=payload,
|
|
207
|
+
truth=model_truth,
|
|
208
|
+
asset=datapoint,
|
|
209
|
+
sentence=sentence,
|
|
210
|
+
explanation=explanation,
|
|
211
|
+
random_correct_probability=len(correct_transcription_words)
|
|
212
|
+
/ len(transcription_words),
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
def locate_rapid(
|
|
216
|
+
self,
|
|
217
|
+
instruction: str,
|
|
218
|
+
truths: list[Box],
|
|
219
|
+
datapoint: str,
|
|
220
|
+
context: str | None = None,
|
|
221
|
+
media_context: str | None = None,
|
|
222
|
+
explanation: str | None = None,
|
|
173
223
|
) -> Rapid:
|
|
174
224
|
"""Build a locate rapid
|
|
175
225
|
|
|
@@ -177,47 +227,44 @@ class RapidsManager:
|
|
|
177
227
|
instruction (str): The instruction on what the labeler should do.
|
|
178
228
|
truths (list[Box]): The bounding boxes of the object that the labeler ought to be locating.
|
|
179
229
|
datapoint (str): The asset that the labeler will be locating the object in.
|
|
180
|
-
|
|
230
|
+
context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
|
|
231
|
+
media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
|
|
232
|
+
explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
|
|
181
233
|
"""
|
|
182
|
-
|
|
183
|
-
asset = MediaAsset(datapoint)
|
|
184
|
-
payload = LocatePayload(
|
|
185
|
-
_t="LocatePayload", target=instruction
|
|
186
|
-
)
|
|
187
|
-
|
|
188
|
-
img_dimensions = asset.get_image_dimension()
|
|
189
234
|
|
|
190
|
-
|
|
191
|
-
|
|
235
|
+
payload = IRapidPayload(
|
|
236
|
+
actual_instance=IRapidPayloadLocatePayload(
|
|
237
|
+
_t="LocatePayload", target=instruction
|
|
238
|
+
)
|
|
239
|
+
)
|
|
192
240
|
|
|
193
|
-
model_truth =
|
|
194
|
-
_t="LocateBoxTruth",
|
|
195
|
-
boundingBoxes=[
|
|
196
|
-
_t="BoxShape",
|
|
197
|
-
xMin=truth.x_min / img_dimensions[0] * 100,
|
|
198
|
-
xMax=truth.x_max / img_dimensions[0] * 100,
|
|
199
|
-
yMax=truth.y_max / img_dimensions[1] * 100,
|
|
200
|
-
yMin=truth.y_min / img_dimensions[1] * 100,
|
|
201
|
-
) for truth in truths]
|
|
241
|
+
model_truth = IValidationTruthLocateBoxTruth(
|
|
242
|
+
_t="LocateBoxTruth",
|
|
243
|
+
boundingBoxes=[truth.to_model() for truth in truths],
|
|
202
244
|
)
|
|
203
245
|
|
|
204
|
-
coverage = self._calculate_boxes_coverage(
|
|
246
|
+
coverage = self._calculate_boxes_coverage(
|
|
247
|
+
truths,
|
|
248
|
+
)
|
|
205
249
|
|
|
206
250
|
return Rapid(
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
251
|
+
payload=payload,
|
|
252
|
+
truth=model_truth,
|
|
253
|
+
asset=datapoint,
|
|
254
|
+
context=context,
|
|
255
|
+
media_context=media_context,
|
|
256
|
+
explanation=explanation,
|
|
257
|
+
random_correct_probability=coverage,
|
|
258
|
+
)
|
|
259
|
+
|
|
260
|
+
def draw_rapid(
|
|
261
|
+
self,
|
|
262
|
+
instruction: str,
|
|
263
|
+
truths: list[Box],
|
|
264
|
+
datapoint: str,
|
|
265
|
+
context: str | None = None,
|
|
266
|
+
media_context: str | None = None,
|
|
267
|
+
explanation: str | None = None,
|
|
221
268
|
) -> Rapid:
|
|
222
269
|
"""Build a draw rapid
|
|
223
270
|
|
|
@@ -225,46 +272,47 @@ class RapidsManager:
|
|
|
225
272
|
instruction (str): The instructions on what the labeler
|
|
226
273
|
truths (list[Box]): The bounding boxes of the object that the labeler ought to be drawing.
|
|
227
274
|
datapoint (str): The asset that the labeler will be drawing the object in.
|
|
228
|
-
|
|
275
|
+
context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
|
|
276
|
+
media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
|
|
277
|
+
explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
|
|
229
278
|
"""
|
|
230
|
-
|
|
231
|
-
asset = MediaAsset(datapoint)
|
|
232
279
|
|
|
233
|
-
payload =
|
|
234
|
-
|
|
280
|
+
payload = IRapidPayload(
|
|
281
|
+
actual_instance=IRapidPayloadLinePayload(
|
|
282
|
+
_t="LinePayload", target=instruction
|
|
283
|
+
)
|
|
235
284
|
)
|
|
236
285
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
_t="BoundingBoxTruth",
|
|
244
|
-
xMax=truths[0].x_max / img_dimensions[0] * 100,
|
|
245
|
-
xMin=truths[0].x_min / img_dimensions[0] * 100,
|
|
246
|
-
yMax=truths[0].y_max / img_dimensions[1] * 100,
|
|
247
|
-
yMin=truths[0].y_min / img_dimensions[1] * 100,
|
|
286
|
+
model_truth = IValidationTruthBoundingBoxTruth(
|
|
287
|
+
_t="BoundingBoxTruth",
|
|
288
|
+
xMax=truths[0].x_max * 100,
|
|
289
|
+
xMin=truths[0].x_min * 100,
|
|
290
|
+
yMax=truths[0].y_max * 100,
|
|
291
|
+
yMin=truths[0].y_min * 100,
|
|
248
292
|
)
|
|
249
293
|
|
|
250
|
-
coverage = self._calculate_boxes_coverage(
|
|
294
|
+
coverage = self._calculate_boxes_coverage(
|
|
295
|
+
truths,
|
|
296
|
+
)
|
|
251
297
|
|
|
252
298
|
return Rapid(
|
|
253
299
|
payload=payload,
|
|
254
300
|
truth=model_truth,
|
|
255
|
-
asset=
|
|
256
|
-
|
|
301
|
+
asset=datapoint,
|
|
302
|
+
context=context,
|
|
303
|
+
media_context=media_context,
|
|
257
304
|
explanation=explanation,
|
|
258
|
-
|
|
305
|
+
random_correct_probability=coverage,
|
|
259
306
|
)
|
|
260
307
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
308
|
+
def timestamp_rapid(
|
|
309
|
+
self,
|
|
310
|
+
instruction: str,
|
|
311
|
+
truths: list[tuple[int, int]],
|
|
312
|
+
datapoint: str,
|
|
313
|
+
context: str | None = None,
|
|
314
|
+
media_context: str | None = None,
|
|
315
|
+
explanation: str | None = None,
|
|
268
316
|
) -> Rapid:
|
|
269
317
|
"""Build a timestamp rapid
|
|
270
318
|
|
|
@@ -273,90 +321,149 @@ class RapidsManager:
|
|
|
273
321
|
truths (list[tuple[int, int]]): The possible accepted timestamps intervals for the labeler (in miliseconds).
|
|
274
322
|
The first element of the tuple is the start of the interval and the second element is the end of the interval.
|
|
275
323
|
datapoint (str): The asset that the labeler will be timestamping.
|
|
276
|
-
|
|
324
|
+
context (str, optional): The context is text that will be shown in addition to the instruction. Defaults to None.
|
|
325
|
+
media_context (str, optional): The media context is a link to an image / video that will be shown in addition to the instruction (can be combined with context). Defaults to None.
|
|
326
|
+
explanation (str, optional): The explanation that will be shown to the labeler if the answer is wrong. Defaults to None.
|
|
277
327
|
"""
|
|
278
|
-
|
|
279
|
-
asset = MediaAsset(datapoint)
|
|
280
|
-
|
|
328
|
+
|
|
281
329
|
for truth in truths:
|
|
282
330
|
if len(truth) != 2:
|
|
283
|
-
raise ValueError(
|
|
331
|
+
raise ValueError(
|
|
332
|
+
"The truths per datapoint must be a tuple of exactly two integers."
|
|
333
|
+
)
|
|
284
334
|
if truth[0] > truth[1]:
|
|
285
|
-
raise ValueError(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
335
|
+
raise ValueError(
|
|
336
|
+
"The start of the interval must be smaller than the end of the interval."
|
|
337
|
+
)
|
|
338
|
+
|
|
339
|
+
payload = IRapidPayload(
|
|
340
|
+
actual_instance=IRapidPayloadScrubPayload(
|
|
341
|
+
_t="ScrubPayload", target=instruction
|
|
342
|
+
)
|
|
290
343
|
)
|
|
291
344
|
|
|
292
|
-
model_truth =
|
|
345
|
+
model_truth = IValidationTruthScrubTruth(
|
|
293
346
|
_t="ScrubTruth",
|
|
294
|
-
validRanges=[ScrubRange(
|
|
295
|
-
start=truth[0],
|
|
296
|
-
end=truth[1]
|
|
297
|
-
) for truth in truths]
|
|
347
|
+
validRanges=[ScrubRange(start=truth[0], end=truth[1]) for truth in truths],
|
|
298
348
|
)
|
|
299
349
|
|
|
300
350
|
return Rapid(
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
351
|
+
payload=payload,
|
|
352
|
+
truth=model_truth,
|
|
353
|
+
asset=datapoint,
|
|
354
|
+
context=context,
|
|
355
|
+
media_context=media_context,
|
|
356
|
+
explanation=explanation,
|
|
357
|
+
random_correct_probability=0.5, # TODO: implement coverage ratio
|
|
358
|
+
)
|
|
308
359
|
|
|
309
|
-
def _calculate_boxes_coverage(self, boxes: list[Box]
|
|
360
|
+
def _calculate_boxes_coverage(self, boxes: list[Box]) -> float:
|
|
361
|
+
"""
|
|
362
|
+
Calculate the ratio of area covered by a list of boxes.
|
|
363
|
+
|
|
364
|
+
Args:
|
|
365
|
+
boxes: List of Box objects with coordinates in range [0, 1]
|
|
366
|
+
|
|
367
|
+
Returns:
|
|
368
|
+
float: Coverage ratio between 0.0 and 1.0
|
|
369
|
+
"""
|
|
310
370
|
if not boxes:
|
|
311
371
|
return 0.0
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
372
|
+
|
|
373
|
+
# Convert boxes to intervals for sweep line algorithm
|
|
374
|
+
events = []
|
|
375
|
+
|
|
376
|
+
# Create events for x-coordinates
|
|
377
|
+
for i, box in enumerate(boxes):
|
|
378
|
+
events.append((box.x_min, "start", i, box))
|
|
379
|
+
events.append((box.x_max, "end", i, box))
|
|
380
|
+
|
|
381
|
+
# Sort events by x-coordinate
|
|
382
|
+
events.sort(key=lambda x: (x[0], x[1] == "end"))
|
|
383
|
+
|
|
384
|
+
total_area = 0.0
|
|
385
|
+
active_boxes = set()
|
|
386
|
+
prev_x = 0.0
|
|
387
|
+
|
|
388
|
+
for x, event_type, box_id, box in events:
|
|
389
|
+
# Calculate area for the previous x-interval
|
|
390
|
+
if active_boxes and x > prev_x:
|
|
391
|
+
# Merge y-intervals for active boxes
|
|
392
|
+
y_intervals = [(boxes[i].y_min, boxes[i].y_max) for i in active_boxes]
|
|
393
|
+
y_intervals.sort()
|
|
394
|
+
|
|
395
|
+
# Merge overlapping y-intervals
|
|
396
|
+
merged_intervals = []
|
|
397
|
+
for start, end in y_intervals:
|
|
398
|
+
if merged_intervals and start <= merged_intervals[-1][1]:
|
|
399
|
+
# Overlapping intervals - merge them
|
|
400
|
+
merged_intervals[-1] = (
|
|
401
|
+
merged_intervals[-1][0],
|
|
402
|
+
max(merged_intervals[-1][1], end),
|
|
403
|
+
)
|
|
404
|
+
else:
|
|
405
|
+
# Non-overlapping interval
|
|
406
|
+
merged_intervals.append((start, end))
|
|
407
|
+
|
|
408
|
+
# Calculate total y-coverage for this x-interval
|
|
409
|
+
y_coverage = sum(end - start for start, end in merged_intervals)
|
|
410
|
+
total_area += (x - prev_x) * y_coverage
|
|
411
|
+
|
|
412
|
+
# Update active boxes
|
|
413
|
+
if event_type == "start":
|
|
414
|
+
active_boxes.add(box_id)
|
|
415
|
+
else:
|
|
416
|
+
active_boxes.discard(box_id)
|
|
417
|
+
|
|
418
|
+
prev_x = x
|
|
419
|
+
|
|
420
|
+
return total_area
|
|
421
|
+
|
|
422
|
+
@staticmethod
|
|
423
|
+
def _calculate_coverage_ratio(
|
|
424
|
+
total_duration: int, subsections: list[tuple[int, int]]
|
|
425
|
+
) -> float:
|
|
324
426
|
"""
|
|
325
427
|
Calculate the ratio of total_duration that is covered by subsections, handling overlaps.
|
|
326
|
-
|
|
428
|
+
|
|
327
429
|
Args:
|
|
328
430
|
total_duration: The total duration to consider
|
|
329
431
|
subsections: List of tuples containing (start, end) times
|
|
330
|
-
|
|
432
|
+
|
|
331
433
|
Returns:
|
|
332
434
|
float: Ratio of coverage (0 to 1)
|
|
333
435
|
"""
|
|
334
436
|
if not subsections:
|
|
335
437
|
return 0.0
|
|
336
|
-
|
|
438
|
+
|
|
337
439
|
# Sort subsections by start time and clamp to valid range
|
|
338
440
|
sorted_ranges = sorted(
|
|
339
|
-
(max(0, start), min(end, total_duration))
|
|
340
|
-
for start, end in subsections
|
|
441
|
+
(max(0, start), min(end, total_duration)) for start, end in subsections
|
|
341
442
|
)
|
|
342
|
-
|
|
443
|
+
|
|
343
444
|
# Merge overlapping ranges
|
|
344
445
|
merged_ranges = []
|
|
345
446
|
current_range = list(sorted_ranges[0])
|
|
346
|
-
|
|
447
|
+
|
|
347
448
|
for next_start, next_end in sorted_ranges[1:]:
|
|
348
449
|
current_start, current_end = current_range
|
|
349
|
-
|
|
450
|
+
|
|
350
451
|
# If ranges overlap or are adjacent
|
|
351
452
|
if next_start <= current_end:
|
|
352
453
|
current_range[1] = max(current_end, next_end)
|
|
353
454
|
else:
|
|
354
455
|
merged_ranges.append(current_range)
|
|
355
456
|
current_range = [next_start, next_end]
|
|
356
|
-
|
|
457
|
+
|
|
357
458
|
merged_ranges.append(current_range)
|
|
358
|
-
|
|
459
|
+
|
|
359
460
|
# Calculate total coverage
|
|
360
461
|
total_coverage = sum(end - start for start, end in merged_ranges)
|
|
361
|
-
|
|
462
|
+
|
|
362
463
|
return total_coverage / total_duration
|
|
464
|
+
|
|
465
|
+
def __str__(self) -> str:
|
|
466
|
+
return "RapidsManager"
|
|
467
|
+
|
|
468
|
+
def __repr__(self) -> str:
|
|
469
|
+
return self.__str__()
|