rapidata 2.37.0__py3-none-any.whl → 3.0.0a8__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 +23 -15
- rapidata/api_client/__init__.py +84 -427
- rapidata/api_client/api/__init__.py +5 -2
- rapidata/api_client/api/asset_api.py +853 -0
- rapidata/api_client/api/audience_api.py +2505 -0
- rapidata/api_client/api/benchmark_api.py +618 -253
- rapidata/api_client/api/campaign_api.py +322 -32
- rapidata/api_client/api/client_api.py +38 -33
- rapidata/api_client/api/compare_workflow_api.py +11 -10
- rapidata/api_client/api/customer_rapid_api.py +119 -125
- rapidata/api_client/api/datapoint_api.py +8 -6
- rapidata/api_client/api/dataset_api.py +240 -1516
- rapidata/api_client/api/evaluation_workflow_api.py +29 -82
- rapidata/api_client/api/feedback_api.py +11 -11
- rapidata/api_client/api/grouped_ranking_workflow_api.py +319 -0
- rapidata/api_client/api/identity_api.py +26 -300
- rapidata/api_client/api/job_api.py +3902 -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 +139 -2355
- rapidata/api_client/api/newsletter_api.py +20 -19
- rapidata/api_client/api/order_api.py +375 -91
- rapidata/api_client/api/participant_api.py +80 -118
- rapidata/api_client/api/pipeline_api.py +24 -607
- rapidata/api_client/api/prompt_api.py +11 -11
- rapidata/api_client/api/rapidata_identity_api_api.py +5 -4
- rapidata/api_client/api/sample_api.py +5 -4
- 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 +337 -2043
- rapidata/api_client/api/workflow_api.py +32 -26
- 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 -400
- rapidata/api_client/models/ab_test_selection_a_inner.py +1 -1
- 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 +34 -36
- 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_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/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_filters_inner.py +24 -10
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +2 -8
- 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 +5 -3
- rapidata/api_client/models/boost_leaderboard_model.py +5 -5
- rapidata/api_client/models/boost_query_result.py +4 -4
- 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/boosting_profile.py +91 -0
- rapidata/api_client/models/box_shape.py +4 -33
- rapidata/api_client/models/campaign_query_result.py +13 -5
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +5 -5
- 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 +25 -35
- rapidata/api_client/models/clients_query_result.py +5 -5
- rapidata/api_client/models/clone_order_model.py +4 -4
- rapidata/api_client/models/clone_order_result.py +9 -4
- rapidata/api_client/models/compare_workflow_config.py +19 -18
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_model.py +3 -3
- rapidata/api_client/models/compare_workflow_model.py +25 -7
- 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 +6 -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/create_audience_request.py +122 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +5 -5
- rapidata/api_client/models/create_benchmark_participant_model.py +5 -5
- rapidata/api_client/models/create_benchmark_participant_result.py +4 -4
- rapidata/api_client/models/create_benchmark_prompt_result.py +87 -0
- rapidata/api_client/models/create_benchmark_result.py +2 -2
- 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 +2 -2
- rapidata/api_client/models/create_customer_client_result.py +2 -2
- 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 +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 +2 -2
- 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 +33 -10
- 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 +23 -26
- rapidata/api_client/models/create_leaderboard_result.py +2 -2
- 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 +33 -62
- 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 +2 -2
- rapidata/api_client/models/create_rapid_result.py +2 -2
- rapidata/api_client/models/create_sample_model.py +13 -7
- 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_state.py +2 -2
- rapidata/api_client/models/definition_type.py +49 -0
- rapidata/api_client/models/dynamic_client_registration_request.py +21 -36
- rapidata/api_client/models/early_stopping_referee_model.py +3 -3
- 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_model.py +4 -4
- 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 +2 -2
- 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_file.py +8 -22
- rapidata/api_client/models/file_asset_metadata_value.py +252 -0
- rapidata/api_client/models/file_asset_model_metadata_value.py +18 -88
- rapidata/api_client/models/file_stream_result.py +122 -0
- rapidata/api_client/models/file_type.py +2 -2
- rapidata/api_client/models/filter.py +2 -2
- rapidata/api_client/models/filter_operator.py +2 -2
- rapidata/api_client/models/fork_benchmark_result.py +87 -0
- rapidata/api_client/models/form_file_wrapper.py +17 -2
- 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_available_validation_sets_result.py +2 -2
- rapidata/api_client/models/get_benchmark_by_id_result.py +8 -4
- 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 +3 -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 +7 -12
- 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 +5 -5
- rapidata/api_client/models/get_order_by_id_result.py +12 -5
- rapidata/api_client/models/get_participant_by_id_result.py +4 -6
- 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 +5 -5
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +3 -3
- rapidata/api_client/models/get_recommended_validation_set_result.py +2 -2
- 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 +7 -8
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +3 -5
- rapidata/api_client/models/get_validation_rapids_result.py +29 -32
- 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 +2 -2
- rapidata/api_client/models/get_workflow_results_result.py +31 -14
- 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/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 +2 -36
- rapidata/api_client/models/json_web_key_set.py +2 -22
- rapidata/api_client/models/labeling_selection.py +9 -2
- 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/locate_coordinate.py +4 -13
- 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 +21 -1
- rapidata/api_client/models/multi_asset_input1_assets_inner.py +40 -12
- rapidata/api_client/models/multi_asset_input3_assets_inner.py +40 -12
- rapidata/api_client/models/multi_asset_input_assets_inner.py +16 -30
- 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/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- 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/option_of_aggregator_type.py +49 -0
- rapidata/api_client/models/order_model.py +12 -5
- rapidata/api_client/models/order_state.py +2 -2
- 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 +3 -5
- rapidata/api_client/models/participant_status.py +2 -2
- 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/preliminary_download_model.py +5 -5
- rapidata/api_client/models/preview_order_model.py +5 -5
- rapidata/api_client/models/problem_details.py +2 -20
- rapidata/api_client/models/prompt_asset_metadata_input.py +4 -6
- rapidata/api_client/models/prompt_asset_metadata_input_asset.py +25 -41
- rapidata/api_client/models/prompt_by_benchmark_result.py +5 -5
- rapidata/api_client/models/prompt_metadata_input.py +5 -7
- rapidata/api_client/models/proxy_file_wrapper.py +17 -2
- rapidata/api_client/models/public_order_model.py +2 -2
- 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_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_model.py +30 -40
- 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 +7 -7
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +2 -2
- rapidata/api_client/models/run_status.py +2 -2
- rapidata/api_client/models/runs_by_leaderboard_result.py +3 -3
- rapidata/api_client/models/sample_by_identifier.py +7 -8
- rapidata/api_client/models/sample_by_participant.py +7 -8
- 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 +3 -3
- rapidata/api_client/models/simple_workflow_model.py +2 -2
- 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 +2 -2
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +16 -12
- rapidata/api_client/models/standing_status.py +2 -2
- rapidata/api_client/models/standings_by_benchmark_result.py +95 -0
- rapidata/api_client/models/standings_by_leaderboard_result.py +2 -2
- 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 +25 -3
- rapidata/api_client/models/string_segment.py +105 -0
- rapidata/api_client/models/submit_order_model.py +5 -5
- rapidata/api_client/models/submit_participant_result.py +2 -2
- rapidata/api_client/models/submit_prompt_model.py +9 -14
- rapidata/api_client/models/submit_prompt_model_prompt_asset.py +40 -12
- rapidata/api_client/models/tags_by_benchmark_result.py +2 -2
- rapidata/api_client/models/text_asset.py +3 -5
- rapidata/api_client/models/text_asset_input.py +21 -1
- rapidata/api_client/models/text_metadata.py +6 -1
- 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_input.py +5 -7
- 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 +113 -0
- rapidata/api_client/models/update_benchmark_model.py +99 -0
- rapidata/api_client/models/update_benchmark_name_model.py +5 -5
- 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_leaderboard_model.py +18 -3
- rapidata/api_client/models/update_leaderboard_name_model.py +5 -5
- rapidata/api_client/models/update_leaderboard_response_config_model.py +5 -5
- 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 +5 -5
- rapidata/api_client/models/update_priority_model.py +87 -0
- rapidata/api_client/models/update_prompt_tags_model.py +5 -5
- rapidata/api_client/models/update_should_alert_model.py +4 -4
- rapidata/api_client/models/update_validation_rapid_model.py +35 -14
- 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/validation_chance.py +20 -3
- rapidata/api_client/models/validation_problem_details.py +117 -0
- rapidata/api_client/models/validation_set_model.py +11 -16
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- 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 +33 -2
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +371 -326
- rapidata/rapidata_client/__init__.py +14 -11
- rapidata/rapidata_client/api/{rapidata_exception.py → rapidata_api_client.py} +119 -2
- 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/_detail_mapper.py +11 -9
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
- rapidata/rapidata_client/benchmark/participant/_participant.py +57 -32
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +384 -246
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +137 -81
- rapidata/rapidata_client/config/__init__.py +3 -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 +15 -10
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +0 -3
- rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +72 -176
- 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 -10
- rapidata/rapidata_client/datapoints/metadata/__init__.py +0 -2
- rapidata/rapidata_client/datapoints/metadata/_private_text_metadata.py +5 -6
- rapidata/rapidata_client/datapoints/metadata/_prompt_identifier_metadata.py +4 -5
- rapidata/rapidata_client/datapoints/metadata/_public_text_metadata.py +5 -6
- rapidata/rapidata_client/datapoints/metadata/_select_words_metadata.py +3 -4
- 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/failed_upload_exception.py +10 -65
- rapidata/rapidata_client/filter/_backend_filter_mapper.py +134 -0
- rapidata/rapidata_client/filter/_base_filter.py +13 -8
- rapidata/rapidata_client/filter/age_filter.py +26 -10
- rapidata/rapidata_client/filter/and_filter.py +36 -11
- 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/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/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 +17 -23
- rapidata/rapidata_client/filter/response_count_filter.py +40 -14
- 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 +236 -196
- rapidata/rapidata_client/order/rapidata_order.py +271 -176
- rapidata/rapidata_client/order/rapidata_order_manager.py +520 -364
- rapidata/rapidata_client/rapidata_client.py +96 -29
- 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 +86 -63
- 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 +20 -8
- rapidata/rapidata_client/selection/labeling_selection.py +21 -10
- rapidata/rapidata_client/selection/rapidata_selections.py +23 -14
- 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 +2 -0
- 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 +3 -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 +22 -9
- 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 +68 -21
- 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 +28 -109
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
- rapidata/rapidata_client/validation/validation_set_manager.py +417 -294
- rapidata/rapidata_client/workflow/__init__.py +2 -2
- rapidata/rapidata_client/workflow/_base_workflow.py +17 -26
- rapidata/rapidata_client/workflow/_classify_workflow.py +44 -17
- rapidata/rapidata_client/workflow/_compare_workflow.py +33 -14
- rapidata/rapidata_client/workflow/_draw_workflow.py +35 -13
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +20 -6
- rapidata/rapidata_client/workflow/_free_text_workflow.py +34 -15
- rapidata/rapidata_client/workflow/_locate_workflow.py +35 -13
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
- rapidata/rapidata_client/workflow/_select_words_workflow.py +38 -32
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +35 -13
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +1 -1
- rapidata/service/openapi_service.py +99 -23
- rapidata/types/__init__.py +149 -0
- rapidata-3.0.0a8.dist-info/METADATA +32 -0
- rapidata-3.0.0a8.dist-info/RECORD +1083 -0
- {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/country_codes/__init__.py +0 -1
- rapidata/rapidata_client/country_codes/country_codes.py +0 -19
- rapidata/rapidata_client/datapoints/assets/_base_asset.py +0 -11
- rapidata/rapidata_client/datapoints/assets/_media_asset.py +0 -318
- rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -40
- rapidata/rapidata_client/datapoints/assets/_text_asset.py +0 -34
- rapidata/rapidata_client/datapoints/assets/data_type_enum.py +0 -8
- rapidata/rapidata_client/datapoints/metadata/_media_asset_metadata.py +0 -22
- rapidata/rapidata_client/datapoints/metadata/_prompt_metadata.py +0 -18
- 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/order/_rapidata_dataset.py +0 -447
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -71
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.37.0.dist-info/METADATA +0 -35
- rapidata-2.37.0.dist-info/RECORD +0 -687
- {rapidata-2.37.0.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,50 +1,29 @@
|
|
|
1
|
-
from
|
|
2
|
-
from itertools import zip_longest
|
|
1
|
+
from __future__ import annotations
|
|
3
2
|
|
|
4
|
-
from
|
|
5
|
-
|
|
6
|
-
from rapidata.rapidata_client.
|
|
7
|
-
from rapidata.rapidata_client.
|
|
8
|
-
|
|
9
|
-
SelectWordsMetadata,
|
|
10
|
-
PrivateTextMetadata,
|
|
11
|
-
MediaAssetMetadata,
|
|
12
|
-
Metadata,
|
|
13
|
-
)
|
|
14
|
-
from rapidata.rapidata_client.referee._naive_referee import NaiveReferee
|
|
15
|
-
from rapidata.rapidata_client.referee._early_stopping_referee import (
|
|
16
|
-
EarlyStoppingReferee,
|
|
17
|
-
)
|
|
18
|
-
from rapidata.rapidata_client.selection._base_selection import RapidataSelection
|
|
19
|
-
from rapidata.rapidata_client.workflow import (
|
|
20
|
-
Workflow,
|
|
21
|
-
ClassifyWorkflow,
|
|
22
|
-
CompareWorkflow,
|
|
23
|
-
FreeTextWorkflow,
|
|
24
|
-
SelectWordsWorkflow,
|
|
25
|
-
LocateWorkflow,
|
|
26
|
-
DrawWorkflow,
|
|
27
|
-
TimestampWorkflow,
|
|
28
|
-
RankingWorkflow,
|
|
29
|
-
)
|
|
30
|
-
from rapidata.rapidata_client.datapoints.assets import MediaAsset, TextAsset, MultiAsset
|
|
3
|
+
from typing import Literal, Optional, Sequence, get_args, TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from rapidata.rapidata_client.config import logger
|
|
6
|
+
from rapidata.rapidata_client.config.tracer import tracer
|
|
7
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
31
8
|
from rapidata.rapidata_client.datapoints._datapoint import Datapoint
|
|
9
|
+
from rapidata.rapidata_client.datapoints._datapoints_validator import (
|
|
10
|
+
DatapointsValidator,
|
|
11
|
+
)
|
|
32
12
|
from rapidata.rapidata_client.filter import RapidataFilter
|
|
33
13
|
from rapidata.rapidata_client.filter.rapidata_filters import RapidataFilters
|
|
34
|
-
from rapidata.rapidata_client.settings import
|
|
14
|
+
from rapidata.rapidata_client.settings import RapidataSetting, RapidataSettings
|
|
35
15
|
from rapidata.rapidata_client.selection.rapidata_selections import RapidataSelections
|
|
36
|
-
from rapidata.
|
|
37
|
-
|
|
38
|
-
from rapidata.api_client.models.query_model import QueryModel
|
|
39
|
-
from rapidata.api_client.models.page_info import PageInfo
|
|
40
|
-
from rapidata.api_client.models.root_filter import RootFilter
|
|
41
|
-
from rapidata.api_client.models.filter import Filter
|
|
42
|
-
from rapidata.api_client.models.filter_operator import FilterOperator
|
|
43
|
-
from rapidata.api_client.models.sort_criterion import SortCriterion
|
|
44
|
-
from rapidata.api_client.models.sort_direction import SortDirection
|
|
45
|
-
|
|
16
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
46
17
|
|
|
47
|
-
|
|
18
|
+
if TYPE_CHECKING:
|
|
19
|
+
from rapidata.rapidata_client.order._rapidata_order_builder import (
|
|
20
|
+
StickyStateLiteral,
|
|
21
|
+
)
|
|
22
|
+
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
23
|
+
from rapidata.rapidata_client.selection._base_selection import RapidataSelection
|
|
24
|
+
from rapidata.rapidata_client.workflow import (
|
|
25
|
+
Workflow,
|
|
26
|
+
)
|
|
48
27
|
|
|
49
28
|
|
|
50
29
|
class RapidataOrderManager:
|
|
@@ -61,53 +40,65 @@ class RapidataOrderManager:
|
|
|
61
40
|
self.filters = RapidataFilters
|
|
62
41
|
self.settings = RapidataSettings
|
|
63
42
|
self.selections = RapidataSelections
|
|
43
|
+
from rapidata.rapidata_client.order._rapidata_order_builder import (
|
|
44
|
+
StickyStateLiteral,
|
|
45
|
+
)
|
|
46
|
+
|
|
64
47
|
self.__priority: int | None = None
|
|
65
|
-
self.__sticky_state:
|
|
48
|
+
self.__sticky_state: StickyStateLiteral | None = None
|
|
49
|
+
self._asset_uploader = AssetUploader(openapi_service)
|
|
66
50
|
logger.debug("RapidataOrderManager initialized")
|
|
67
51
|
|
|
68
52
|
def _create_general_order(
|
|
69
53
|
self,
|
|
70
54
|
name: str,
|
|
71
55
|
workflow: Workflow,
|
|
72
|
-
|
|
56
|
+
datapoints: list[Datapoint],
|
|
73
57
|
responses_per_datapoint: int = 10,
|
|
74
|
-
contexts: list[str] | None = None,
|
|
75
|
-
media_contexts: list[str] | None = None,
|
|
76
58
|
validation_set_id: str | None = None,
|
|
77
59
|
confidence_threshold: float | None = None,
|
|
78
|
-
filters: Sequence[RapidataFilter] =
|
|
79
|
-
settings: Sequence[RapidataSetting] =
|
|
80
|
-
|
|
81
|
-
selections: Sequence[RapidataSelection] = [],
|
|
82
|
-
private_notes: list[str] | None = None,
|
|
60
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
61
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
62
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
83
63
|
) -> RapidataOrder:
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
if
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if media_contexts and len(media_contexts) != len(assets):
|
|
92
|
-
raise ValueError("Number of media contexts must match number of datapoints")
|
|
93
|
-
|
|
94
|
-
if sentences and len(sentences) != len(assets):
|
|
95
|
-
raise ValueError("Number of sentences must match number of datapoints")
|
|
96
|
-
|
|
97
|
-
if private_notes and len(private_notes) != len(assets):
|
|
98
|
-
raise ValueError("Number of private notes must match number of datapoints")
|
|
99
|
-
|
|
100
|
-
if sentences and contexts:
|
|
101
|
-
raise ValueError("You can only use contexts or sentences, not both")
|
|
64
|
+
if filters is None:
|
|
65
|
+
filters = []
|
|
66
|
+
if settings is None:
|
|
67
|
+
settings = []
|
|
68
|
+
if selections is None:
|
|
69
|
+
selections = []
|
|
102
70
|
|
|
103
71
|
if not confidence_threshold:
|
|
72
|
+
from rapidata.rapidata_client.referee._naive_referee import NaiveReferee
|
|
73
|
+
|
|
104
74
|
referee = NaiveReferee(responses=responses_per_datapoint)
|
|
105
75
|
else:
|
|
76
|
+
from rapidata.rapidata_client.referee._early_stopping_referee import (
|
|
77
|
+
EarlyStoppingReferee,
|
|
78
|
+
)
|
|
79
|
+
|
|
106
80
|
referee = EarlyStoppingReferee(
|
|
107
81
|
threshold=confidence_threshold,
|
|
108
|
-
|
|
82
|
+
max_responses=responses_per_datapoint,
|
|
109
83
|
)
|
|
110
84
|
|
|
85
|
+
logger.debug(
|
|
86
|
+
"Creating order with parameters: name %s, workflow %s, datapoints %s, responses_per_datapoint %s, validation_set_id %s, confidence_threshold %s, filters %s, settings %s, selections %s",
|
|
87
|
+
name,
|
|
88
|
+
workflow,
|
|
89
|
+
datapoints,
|
|
90
|
+
responses_per_datapoint,
|
|
91
|
+
validation_set_id,
|
|
92
|
+
confidence_threshold,
|
|
93
|
+
filters,
|
|
94
|
+
settings,
|
|
95
|
+
selections,
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
from rapidata.rapidata_client.order._rapidata_order_builder import (
|
|
99
|
+
RapidataOrderBuilder,
|
|
100
|
+
)
|
|
101
|
+
|
|
111
102
|
order_builder = RapidataOrderBuilder(
|
|
112
103
|
name=name, openapi_service=self.__openapi_service
|
|
113
104
|
)
|
|
@@ -117,74 +108,40 @@ class RapidataOrderManager:
|
|
|
117
108
|
"Warning: Both selections and validation_set_id provided. Ignoring validation_set_id."
|
|
118
109
|
)
|
|
119
110
|
|
|
120
|
-
prompts_metadata = (
|
|
121
|
-
[PromptMetadata(prompt=prompt) for prompt in contexts] if contexts else None
|
|
122
|
-
)
|
|
123
|
-
sentence_metadata = (
|
|
124
|
-
[SelectWordsMetadata(select_words=sentence) for sentence in sentences]
|
|
125
|
-
if sentences
|
|
126
|
-
else None
|
|
127
|
-
)
|
|
128
|
-
|
|
129
|
-
if prompts_metadata and sentence_metadata:
|
|
130
|
-
raise ValueError("You can only use contexts or sentences, not both")
|
|
131
|
-
|
|
132
|
-
asset_metadata: Sequence[Metadata] = (
|
|
133
|
-
[MediaAssetMetadata(url=context) for context in media_contexts]
|
|
134
|
-
if media_contexts
|
|
135
|
-
else []
|
|
136
|
-
)
|
|
137
|
-
prompt_metadata: Sequence[Metadata] = (
|
|
138
|
-
prompts_metadata or sentence_metadata or []
|
|
139
|
-
)
|
|
140
|
-
private_notes_metadata: Sequence[Metadata] = (
|
|
141
|
-
[PrivateTextMetadata(text=text) for text in private_notes]
|
|
142
|
-
if private_notes
|
|
143
|
-
else []
|
|
144
|
-
)
|
|
145
|
-
|
|
146
|
-
multi_metadata = [
|
|
147
|
-
[item for item in items if item is not None]
|
|
148
|
-
for items in zip_longest(
|
|
149
|
-
prompt_metadata, asset_metadata, private_notes_metadata
|
|
150
|
-
)
|
|
151
|
-
]
|
|
152
|
-
|
|
153
111
|
order = (
|
|
154
|
-
order_builder.
|
|
155
|
-
.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
)
|
|
161
|
-
.
|
|
162
|
-
.
|
|
163
|
-
._selections(selections)
|
|
164
|
-
._settings(settings)
|
|
165
|
-
._validation_set_id(validation_set_id if not selections else None)
|
|
166
|
-
._priority(self.__priority)
|
|
167
|
-
._sticky_state(self.__sticky_state)
|
|
112
|
+
order_builder._set_workflow(workflow)
|
|
113
|
+
._set_datapoints(datapoints=datapoints)
|
|
114
|
+
._set_referee(referee)
|
|
115
|
+
._set_filters(filters)
|
|
116
|
+
._set_selections(selections)
|
|
117
|
+
._set_settings(settings)
|
|
118
|
+
._set_validation_set_id(validation_set_id if not selections else None)
|
|
119
|
+
._set_priority(self.__priority)
|
|
120
|
+
._set_sticky_state(self.__sticky_state)
|
|
168
121
|
._create()
|
|
169
122
|
)
|
|
170
123
|
logger.debug("Order created: %s", order)
|
|
171
124
|
return order
|
|
172
125
|
|
|
173
|
-
def _set_priority(self, priority: int):
|
|
174
|
-
if not isinstance(priority, int):
|
|
175
|
-
raise TypeError("Priority must be an integer")
|
|
126
|
+
def _set_priority(self, priority: int | None):
|
|
127
|
+
if priority is not None and not isinstance(priority, int):
|
|
128
|
+
raise TypeError("Priority must be an integer or None")
|
|
176
129
|
|
|
177
|
-
if priority < 0:
|
|
178
|
-
raise ValueError("Priority must be greater than 0")
|
|
130
|
+
if priority is not None and priority < 0:
|
|
131
|
+
raise ValueError("Priority must be greater than 0 or None")
|
|
179
132
|
|
|
180
133
|
self.__priority = priority
|
|
181
134
|
|
|
182
|
-
def _set_sticky_state(
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
135
|
+
def _set_sticky_state(self, sticky_state: StickyStateLiteral | None):
|
|
136
|
+
from rapidata.rapidata_client.order._rapidata_order_builder import (
|
|
137
|
+
StickyStateLiteral,
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
sticky_state_valid_values = get_args(StickyStateLiteral)
|
|
141
|
+
|
|
142
|
+
if sticky_state is not None and sticky_state not in sticky_state_valid_values:
|
|
186
143
|
raise ValueError(
|
|
187
|
-
"Sticky state must be one of
|
|
144
|
+
f"Sticky state must be one of {sticky_state_valid_values} or None"
|
|
188
145
|
)
|
|
189
146
|
|
|
190
147
|
self.__sticky_state = sticky_state
|
|
@@ -201,9 +158,9 @@ class RapidataOrderManager:
|
|
|
201
158
|
media_contexts: list[str] | None = None,
|
|
202
159
|
validation_set_id: str | None = None,
|
|
203
160
|
confidence_threshold: float | None = None,
|
|
204
|
-
filters: Sequence[RapidataFilter] =
|
|
205
|
-
settings: Sequence[RapidataSetting] =
|
|
206
|
-
selections: Sequence[RapidataSelection] =
|
|
161
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
162
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
163
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
207
164
|
private_notes: list[str] | None = None,
|
|
208
165
|
) -> RapidataOrder:
|
|
209
166
|
"""Create a classification order.
|
|
@@ -234,33 +191,54 @@ class RapidataOrderManager:
|
|
|
234
191
|
private_notes (list[str], optional): The list of private notes for the classification. Defaults to None.
|
|
235
192
|
If provided has to be the same length as datapoints.\n
|
|
236
193
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
237
|
-
"""
|
|
238
194
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
195
|
+
Example:
|
|
196
|
+
```python
|
|
197
|
+
from rapidata import RapidataClient, NoShuffle
|
|
198
|
+
|
|
199
|
+
rapi = RapidataClient()
|
|
200
|
+
order = rapi.order.create_classification_order(
|
|
201
|
+
name="Image Quality Rating",
|
|
202
|
+
instruction="How would you rate the quality of this image?",
|
|
203
|
+
answer_options=["1: Poor", "2: Fair", "3: Good", "4: Excellent"],
|
|
204
|
+
datapoints=["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
|
|
205
|
+
responses_per_datapoint=15,
|
|
206
|
+
settings=[NoShuffle()], # Keep options in order for Likert scale
|
|
207
|
+
).run()
|
|
208
|
+
|
|
209
|
+
results = order.get_results()
|
|
210
|
+
```
|
|
211
|
+
"""
|
|
212
|
+
with tracer.start_as_current_span(
|
|
213
|
+
"RapidataOrderManager.create_classification_order"
|
|
214
|
+
):
|
|
215
|
+
if not isinstance(datapoints, list) or not all(
|
|
216
|
+
isinstance(datapoint, str) for datapoint in datapoints
|
|
217
|
+
):
|
|
218
|
+
raise ValueError("Datapoints must be a list of strings")
|
|
219
|
+
|
|
220
|
+
from rapidata.rapidata_client.workflow import ClassifyWorkflow
|
|
221
|
+
|
|
222
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
223
|
+
datapoints=datapoints,
|
|
224
|
+
contexts=contexts,
|
|
225
|
+
media_contexts=media_contexts,
|
|
226
|
+
private_notes=private_notes,
|
|
227
|
+
data_type=data_type,
|
|
228
|
+
)
|
|
229
|
+
return self._create_general_order(
|
|
230
|
+
name=name,
|
|
231
|
+
workflow=ClassifyWorkflow(
|
|
232
|
+
instruction=instruction, answer_options=answer_options
|
|
233
|
+
),
|
|
234
|
+
datapoints=datapoints_instances,
|
|
235
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
236
|
+
validation_set_id=validation_set_id,
|
|
237
|
+
confidence_threshold=confidence_threshold,
|
|
238
|
+
filters=filters,
|
|
239
|
+
selections=selections,
|
|
240
|
+
settings=settings,
|
|
246
241
|
)
|
|
247
|
-
|
|
248
|
-
return self._create_general_order(
|
|
249
|
-
name=name,
|
|
250
|
-
workflow=ClassifyWorkflow(
|
|
251
|
-
instruction=instruction, answer_options=answer_options
|
|
252
|
-
),
|
|
253
|
-
assets=assets,
|
|
254
|
-
responses_per_datapoint=responses_per_datapoint,
|
|
255
|
-
contexts=contexts,
|
|
256
|
-
media_contexts=media_contexts,
|
|
257
|
-
validation_set_id=validation_set_id,
|
|
258
|
-
confidence_threshold=confidence_threshold,
|
|
259
|
-
filters=filters,
|
|
260
|
-
selections=selections,
|
|
261
|
-
settings=settings,
|
|
262
|
-
private_notes=private_notes,
|
|
263
|
-
)
|
|
264
242
|
|
|
265
243
|
def create_compare_order(
|
|
266
244
|
self,
|
|
@@ -274,9 +252,9 @@ class RapidataOrderManager:
|
|
|
274
252
|
a_b_names: list[str] | None = None,
|
|
275
253
|
validation_set_id: str | None = None,
|
|
276
254
|
confidence_threshold: float | None = None,
|
|
277
|
-
filters: Sequence[RapidataFilter] =
|
|
278
|
-
settings: Sequence[RapidataSetting] =
|
|
279
|
-
selections: Sequence[RapidataSelection] =
|
|
255
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
256
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
257
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
280
258
|
private_notes: list[str] | None = None,
|
|
281
259
|
) -> RapidataOrder:
|
|
282
260
|
"""Create a compare order.
|
|
@@ -315,111 +293,202 @@ class RapidataOrderManager:
|
|
|
315
293
|
private_notes (list[str], optional): The list of private notes for the comparison. Defaults to None.\n
|
|
316
294
|
If provided has to be the same length as datapoints.\n
|
|
317
295
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
296
|
+
|
|
297
|
+
Example:
|
|
298
|
+
```python
|
|
299
|
+
from rapidata import RapidataClient
|
|
300
|
+
|
|
301
|
+
rapi = RapidataClient()
|
|
302
|
+
order = rapi.order.create_compare_order(
|
|
303
|
+
name="Image Prompt Alignment",
|
|
304
|
+
instruction="Which image follows the prompt more accurately?",
|
|
305
|
+
datapoints=[
|
|
306
|
+
["https://example.com/model_a_img1.jpg", "https://example.com/model_b_img1.jpg"],
|
|
307
|
+
["https://example.com/model_a_img2.jpg", "https://example.com/model_b_img2.jpg"],
|
|
308
|
+
],
|
|
309
|
+
contexts=["A cat sitting on a red couch", "A blue car in the rain"],
|
|
310
|
+
responses_per_datapoint=25,
|
|
311
|
+
a_b_names=["Flux", "Midjourney"], # Optional: label the models in results
|
|
312
|
+
).run()
|
|
313
|
+
|
|
314
|
+
results = order.get_results()
|
|
315
|
+
```
|
|
318
316
|
"""
|
|
317
|
+
with tracer.start_as_current_span("RapidataOrderManager.create_compare_order"):
|
|
318
|
+
if any(not isinstance(datapoint, list) for datapoint in datapoints):
|
|
319
|
+
raise ValueError("Each datapoint must be a list of 2 paths/texts")
|
|
319
320
|
|
|
320
|
-
|
|
321
|
-
|
|
321
|
+
if any(len(set(datapoint)) != 2 for datapoint in datapoints):
|
|
322
|
+
raise ValueError(
|
|
323
|
+
"Each datapoint must contain exactly two unique options"
|
|
324
|
+
)
|
|
322
325
|
|
|
323
|
-
|
|
324
|
-
|
|
326
|
+
if a_b_names is not None and len(a_b_names) != 2:
|
|
327
|
+
raise ValueError(
|
|
328
|
+
"A_B_naming must be a list of exactly two strings or None"
|
|
329
|
+
)
|
|
325
330
|
|
|
326
|
-
|
|
327
|
-
raise ValueError("A_B_naming must be a list of exactly two strings or None")
|
|
331
|
+
from rapidata.rapidata_client.workflow import CompareWorkflow
|
|
328
332
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
333
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
334
|
+
datapoints=datapoints,
|
|
335
|
+
contexts=contexts,
|
|
336
|
+
media_contexts=media_contexts,
|
|
337
|
+
private_notes=private_notes,
|
|
338
|
+
data_type=data_type,
|
|
339
|
+
)
|
|
340
|
+
return self._create_general_order(
|
|
341
|
+
name=name,
|
|
342
|
+
workflow=CompareWorkflow(instruction=instruction, a_b_names=a_b_names),
|
|
343
|
+
datapoints=datapoints_instances,
|
|
344
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
345
|
+
validation_set_id=validation_set_id,
|
|
346
|
+
confidence_threshold=confidence_threshold,
|
|
347
|
+
filters=filters,
|
|
348
|
+
selections=selections,
|
|
349
|
+
settings=settings,
|
|
342
350
|
)
|
|
343
|
-
|
|
344
|
-
return self._create_general_order(
|
|
345
|
-
name=name,
|
|
346
|
-
workflow=CompareWorkflow(instruction=instruction, a_b_names=a_b_names),
|
|
347
|
-
assets=assets,
|
|
348
|
-
responses_per_datapoint=responses_per_datapoint,
|
|
349
|
-
contexts=contexts,
|
|
350
|
-
media_contexts=media_contexts,
|
|
351
|
-
validation_set_id=validation_set_id,
|
|
352
|
-
confidence_threshold=confidence_threshold,
|
|
353
|
-
filters=filters,
|
|
354
|
-
selections=selections,
|
|
355
|
-
settings=settings,
|
|
356
|
-
private_notes=private_notes,
|
|
357
|
-
)
|
|
358
351
|
|
|
359
352
|
def create_ranking_order(
|
|
360
353
|
self,
|
|
361
354
|
name: str,
|
|
362
355
|
instruction: str,
|
|
363
|
-
datapoints: list[str],
|
|
364
|
-
|
|
356
|
+
datapoints: list[list[str]],
|
|
357
|
+
comparison_budget_per_ranking: int,
|
|
365
358
|
responses_per_comparison: int = 1,
|
|
366
359
|
data_type: Literal["media", "text"] = "media",
|
|
367
360
|
random_comparisons_ratio: float = 0.5,
|
|
368
|
-
|
|
361
|
+
contexts: Optional[list[str]] = None,
|
|
362
|
+
media_contexts: Optional[list[str]] = None,
|
|
369
363
|
validation_set_id: Optional[str] = None,
|
|
370
|
-
filters: Sequence[RapidataFilter] =
|
|
371
|
-
settings: Sequence[RapidataSetting] =
|
|
372
|
-
selections: Sequence[RapidataSelection] =
|
|
364
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
365
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
366
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
373
367
|
) -> RapidataOrder:
|
|
374
368
|
"""
|
|
375
369
|
Create a ranking order.
|
|
376
370
|
|
|
377
|
-
With this order you can
|
|
378
|
-
|
|
371
|
+
With this order you can have a multiple lists of datapoints (image, text, video, audio) be ranked based on the instruction.
|
|
372
|
+
Each list will be ranked independently, based on comparison matchups.
|
|
379
373
|
|
|
380
374
|
Args:
|
|
381
375
|
name (str): The name of the order.
|
|
382
|
-
instruction (str): The
|
|
383
|
-
datapoints (list[str]):
|
|
384
|
-
|
|
385
|
-
responses_per_comparison (int, optional): The number of responses collected per comparison. Defaults to 1.
|
|
376
|
+
instruction (str): The instruction for the ranking. Will be shown with each matchup.
|
|
377
|
+
datapoints (list[list[str]]): The outer list is determines the independent rankings, the inner list is the datapoints for each ranking.
|
|
378
|
+
comparison_budget_per_ranking (int): The number of comparisons that will be collected per ranking (outer list of datapoints).
|
|
379
|
+
responses_per_comparison (int, optional): The number of responses that will be collected per comparison. Defaults to 1.
|
|
386
380
|
data_type (str, optional): The data type of the datapoints. Defaults to "media" (any form of image, video or audio). \n
|
|
387
381
|
Other option: "text".
|
|
388
|
-
random_comparisons_ratio (float, optional): The
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
382
|
+
random_comparisons_ratio (float, optional): The ratio of random comparisons to the total number of comparisons. Defaults to 0.5.
|
|
383
|
+
contexts (list[str], optional): The list of contexts for the ranking. Defaults to None.\n
|
|
384
|
+
If provided has to be the same length as the outer list of datapoints and will be shown in addition to the instruction. (Therefore will be different for each ranking)
|
|
385
|
+
Will be matched up with the datapoints using the list index.
|
|
386
|
+
media_contexts (list[str], optional): The list of media contexts for the ranking i.e links to the images / videos. Defaults to None.\n
|
|
387
|
+
If provided has to be the same length as the outer list of datapoints and will be shown in addition to the instruction. (Therefore will be different for each ranking)
|
|
388
|
+
Will be matched up with the datapoints using the list index.
|
|
392
389
|
validation_set_id (str, optional): The ID of the validation set. Defaults to None.\n
|
|
393
390
|
If provided, one validation task will be shown infront of the datapoints that will be labeled.
|
|
394
|
-
filters (Sequence[RapidataFilter], optional): The list of filters for the
|
|
395
|
-
settings (Sequence[RapidataSetting], optional): The list of settings for the
|
|
396
|
-
selections (Sequence[RapidataSelection], optional): The list of selections for the
|
|
391
|
+
filters (Sequence[RapidataFilter], optional): The list of filters for the ranking. Defaults to []. Decides who the tasks should be shown to.
|
|
392
|
+
settings (Sequence[RapidataSetting], optional): The list of settings for the ranking. Defaults to []. Decides how the tasks should be shown.
|
|
393
|
+
selections (Sequence[RapidataSelection], optional): The list of selections for the ranking. Defaults to []. Decides in what order the tasks should be shown.
|
|
394
|
+
|
|
395
|
+
Example:
|
|
396
|
+
```python
|
|
397
|
+
from rapidata import RapidataClient
|
|
398
|
+
|
|
399
|
+
rapi = RapidataClient()
|
|
400
|
+
# Rank 12 images by preference using 50 pairwise comparisons
|
|
401
|
+
order = rapi.order.create_ranking_order(
|
|
402
|
+
name="Image Quality Ranking",
|
|
403
|
+
instruction="Which image looks better?",
|
|
404
|
+
datapoints=[["img1.jpg", "img2.jpg", "img3.jpg", "img4.jpg", "img5.jpg",
|
|
405
|
+
"img6.jpg", "img7.jpg", "img8.jpg", "img9.jpg", "img10.jpg",
|
|
406
|
+
"img11.jpg", "img12.jpg"]],
|
|
407
|
+
comparison_budget_per_ranking=50,
|
|
408
|
+
random_comparisons_ratio=0.5, # 50% random, 50% close matchups
|
|
409
|
+
).run()
|
|
410
|
+
|
|
411
|
+
results = order.get_results() # Returns ranked list with scores
|
|
412
|
+
```
|
|
397
413
|
"""
|
|
414
|
+
with tracer.start_as_current_span("RapidataOrderManager.create_ranking_order"):
|
|
415
|
+
if contexts and len(contexts) != len(datapoints):
|
|
416
|
+
raise ValueError(
|
|
417
|
+
"Number of contexts must match the number of sets that will be ranked"
|
|
418
|
+
)
|
|
419
|
+
if media_contexts and len(media_contexts) != len(datapoints):
|
|
420
|
+
raise ValueError(
|
|
421
|
+
"Number of media contexts must match the number of sets that will be ranked"
|
|
422
|
+
)
|
|
423
|
+
if not isinstance(datapoints, list) or not all(
|
|
424
|
+
isinstance(dp, list) for dp in datapoints
|
|
425
|
+
):
|
|
426
|
+
raise ValueError(
|
|
427
|
+
"Datapoints must be a list of lists. Outer list is the independent rankings, inner list is the datapoints for each ranking."
|
|
428
|
+
)
|
|
429
|
+
if not all(len(set(dp)) == len(dp) for dp in datapoints):
|
|
430
|
+
raise ValueError("Each inner list must contain unique datapoints.")
|
|
398
431
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
432
|
+
if not all(len(inner_list) >= 2 for inner_list in datapoints):
|
|
433
|
+
raise ValueError(
|
|
434
|
+
"Each ranking must contain at least two unique datapoints."
|
|
435
|
+
)
|
|
436
|
+
|
|
437
|
+
from rapidata.rapidata_client.workflow import MultiRankingWorkflow
|
|
438
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
439
|
+
from rapidata.api_client.models.i_asset_input_existing_asset_input import (
|
|
440
|
+
IAssetInputExistingAssetInput,
|
|
406
441
|
)
|
|
407
442
|
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
443
|
+
datapoints_instances = []
|
|
444
|
+
for i, datapoint in enumerate(datapoints):
|
|
445
|
+
for d in datapoint:
|
|
446
|
+
datapoints_instances.append(
|
|
447
|
+
Datapoint(
|
|
448
|
+
asset=d,
|
|
449
|
+
data_type=data_type,
|
|
450
|
+
context=contexts[i] if contexts else None,
|
|
451
|
+
media_context=media_contexts[i] if media_contexts else None,
|
|
452
|
+
group=str(i),
|
|
453
|
+
)
|
|
454
|
+
)
|
|
455
|
+
|
|
456
|
+
contexts_dict = (
|
|
457
|
+
{str(i): context for i, context in enumerate(contexts)}
|
|
458
|
+
if contexts
|
|
459
|
+
else None
|
|
460
|
+
)
|
|
461
|
+
|
|
462
|
+
media_contexts_dict = (
|
|
463
|
+
{
|
|
464
|
+
str(i): IAssetInput(
|
|
465
|
+
actual_instance=IAssetInputExistingAssetInput(
|
|
466
|
+
_t="ExistingAssetInput",
|
|
467
|
+
name=self._asset_uploader.upload_asset(media_context),
|
|
468
|
+
)
|
|
469
|
+
)
|
|
470
|
+
for i, media_context in enumerate(media_contexts)
|
|
471
|
+
}
|
|
472
|
+
if media_contexts
|
|
473
|
+
else None
|
|
474
|
+
)
|
|
475
|
+
|
|
476
|
+
return self._create_general_order(
|
|
477
|
+
name=name,
|
|
478
|
+
workflow=MultiRankingWorkflow(
|
|
479
|
+
instruction=instruction,
|
|
480
|
+
comparison_budget_per_ranking=comparison_budget_per_ranking,
|
|
481
|
+
random_comparisons_ratio=random_comparisons_ratio,
|
|
482
|
+
contexts=contexts_dict,
|
|
483
|
+
media_contexts=media_contexts_dict,
|
|
484
|
+
),
|
|
485
|
+
datapoints=datapoints_instances,
|
|
486
|
+
responses_per_datapoint=responses_per_comparison,
|
|
487
|
+
validation_set_id=validation_set_id,
|
|
488
|
+
filters=filters,
|
|
489
|
+
selections=selections,
|
|
490
|
+
settings=settings,
|
|
491
|
+
)
|
|
423
492
|
|
|
424
493
|
def create_free_text_order(
|
|
425
494
|
self,
|
|
@@ -430,9 +499,9 @@ class RapidataOrderManager:
|
|
|
430
499
|
responses_per_datapoint: int = 10,
|
|
431
500
|
contexts: list[str] | None = None,
|
|
432
501
|
media_contexts: list[str] | None = None,
|
|
433
|
-
filters: Sequence[RapidataFilter] =
|
|
434
|
-
settings: Sequence[RapidataSetting] =
|
|
435
|
-
selections: Sequence[RapidataSelection] =
|
|
502
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
503
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
504
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
436
505
|
private_notes: list[str] | None = None,
|
|
437
506
|
) -> RapidataOrder:
|
|
438
507
|
"""Create a free text order.
|
|
@@ -459,29 +528,44 @@ class RapidataOrderManager:
|
|
|
459
528
|
private_notes (list[str], optional): The list of private notes for the free text. Defaults to None.\n
|
|
460
529
|
If provided has to be the same length as datapoints.\n
|
|
461
530
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
462
|
-
"""
|
|
463
531
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
532
|
+
Example:
|
|
533
|
+
```python
|
|
534
|
+
from rapidata import RapidataClient, FreeTextMinimumCharacters
|
|
535
|
+
|
|
536
|
+
rapi = RapidataClient()
|
|
537
|
+
order = rapi.order.create_free_text_order(
|
|
538
|
+
name="Image Captioning",
|
|
539
|
+
instruction="Describe what you see in this image in detail",
|
|
540
|
+
datapoints=["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
|
|
541
|
+
responses_per_datapoint=5,
|
|
542
|
+
settings=[FreeTextMinimumCharacters(20)], # Require at least 20 characters
|
|
543
|
+
).run()
|
|
544
|
+
|
|
545
|
+
results = order.get_results()
|
|
546
|
+
```
|
|
547
|
+
"""
|
|
548
|
+
with tracer.start_as_current_span(
|
|
549
|
+
"RapidataOrderManager.create_free_text_order"
|
|
550
|
+
):
|
|
551
|
+
from rapidata.rapidata_client.workflow import FreeTextWorkflow
|
|
552
|
+
|
|
553
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
554
|
+
datapoints=datapoints,
|
|
555
|
+
contexts=contexts,
|
|
556
|
+
media_contexts=media_contexts,
|
|
557
|
+
private_notes=private_notes,
|
|
558
|
+
data_type=data_type,
|
|
559
|
+
)
|
|
560
|
+
return self._create_general_order(
|
|
561
|
+
name=name,
|
|
562
|
+
workflow=FreeTextWorkflow(instruction=instruction),
|
|
563
|
+
datapoints=datapoints_instances,
|
|
564
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
565
|
+
filters=filters,
|
|
566
|
+
selections=selections,
|
|
567
|
+
settings=settings,
|
|
471
568
|
)
|
|
472
|
-
|
|
473
|
-
return self._create_general_order(
|
|
474
|
-
name=name,
|
|
475
|
-
workflow=FreeTextWorkflow(instruction=instruction),
|
|
476
|
-
assets=assets,
|
|
477
|
-
responses_per_datapoint=responses_per_datapoint,
|
|
478
|
-
contexts=contexts,
|
|
479
|
-
media_contexts=media_contexts,
|
|
480
|
-
filters=filters,
|
|
481
|
-
selections=selections,
|
|
482
|
-
settings=settings,
|
|
483
|
-
private_notes=private_notes,
|
|
484
|
-
)
|
|
485
569
|
|
|
486
570
|
def create_select_words_order(
|
|
487
571
|
self,
|
|
@@ -491,9 +575,9 @@ class RapidataOrderManager:
|
|
|
491
575
|
sentences: list[str],
|
|
492
576
|
responses_per_datapoint: int = 10,
|
|
493
577
|
validation_set_id: str | None = None,
|
|
494
|
-
filters: Sequence[RapidataFilter] =
|
|
495
|
-
settings: Sequence[RapidataSetting] =
|
|
496
|
-
selections: Sequence[RapidataSelection] =
|
|
578
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
579
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
580
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
497
581
|
private_notes: list[str] | None = None,
|
|
498
582
|
) -> RapidataOrder:
|
|
499
583
|
"""Create a select words order.
|
|
@@ -517,24 +601,45 @@ class RapidataOrderManager:
|
|
|
517
601
|
private_notes (list[str], optional): The list of private notes for the select words. Defaults to None.\n
|
|
518
602
|
If provided has to be the same length as datapoints.\n
|
|
519
603
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
604
|
+
|
|
605
|
+
Example:
|
|
606
|
+
```python
|
|
607
|
+
from rapidata import RapidataClient
|
|
608
|
+
|
|
609
|
+
rapi = RapidataClient()
|
|
610
|
+
order = rapi.order.create_select_words_order(
|
|
611
|
+
name="Find Text-Image Mismatches",
|
|
612
|
+
instruction="Select words that don't match what's shown in the image",
|
|
613
|
+
datapoints=["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
|
|
614
|
+
sentences=["A red car on a blue road", "Two cats playing with yarn"],
|
|
615
|
+
responses_per_datapoint=15,
|
|
616
|
+
).run()
|
|
617
|
+
|
|
618
|
+
results = order.get_results()
|
|
619
|
+
```
|
|
520
620
|
"""
|
|
621
|
+
with tracer.start_as_current_span(
|
|
622
|
+
"RapidataOrderManager.create_select_words_order"
|
|
623
|
+
):
|
|
624
|
+
from rapidata.rapidata_client.workflow import SelectWordsWorkflow
|
|
521
625
|
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
626
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
627
|
+
datapoints=datapoints,
|
|
628
|
+
sentences=sentences,
|
|
629
|
+
private_notes=private_notes,
|
|
630
|
+
)
|
|
631
|
+
return self._create_general_order(
|
|
632
|
+
name=name,
|
|
633
|
+
workflow=SelectWordsWorkflow(
|
|
634
|
+
instruction=instruction,
|
|
635
|
+
),
|
|
636
|
+
datapoints=datapoints_instances,
|
|
637
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
638
|
+
validation_set_id=validation_set_id,
|
|
639
|
+
filters=filters,
|
|
640
|
+
selections=selections,
|
|
641
|
+
settings=settings,
|
|
642
|
+
)
|
|
538
643
|
|
|
539
644
|
def create_locate_order(
|
|
540
645
|
self,
|
|
@@ -545,9 +650,9 @@ class RapidataOrderManager:
|
|
|
545
650
|
contexts: list[str] | None = None,
|
|
546
651
|
media_contexts: list[str] | None = None,
|
|
547
652
|
validation_set_id: str | None = None,
|
|
548
|
-
filters: Sequence[RapidataFilter] =
|
|
549
|
-
settings: Sequence[RapidataSetting] =
|
|
550
|
-
selections: Sequence[RapidataSelection] =
|
|
653
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
654
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
655
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
551
656
|
private_notes: list[str] | None = None,
|
|
552
657
|
) -> RapidataOrder:
|
|
553
658
|
"""Create a locate order.
|
|
@@ -573,23 +678,41 @@ class RapidataOrderManager:
|
|
|
573
678
|
private_notes (list[str], optional): The list of private notes for the locate. Defaults to None.\n
|
|
574
679
|
If provided has to be the same length as datapoints.\n
|
|
575
680
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
576
|
-
"""
|
|
577
681
|
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
682
|
+
Example:
|
|
683
|
+
```python
|
|
684
|
+
from rapidata import RapidataClient
|
|
685
|
+
|
|
686
|
+
rapi = RapidataClient()
|
|
687
|
+
order = rapi.order.create_locate_order(
|
|
688
|
+
name="Find Artifacts",
|
|
689
|
+
instruction="Tap on any visual glitches or errors in the image",
|
|
690
|
+
datapoints=["https://example.com/ai_generated1.jpg", "https://example.com/ai_generated2.jpg"],
|
|
691
|
+
responses_per_datapoint=35,
|
|
692
|
+
).run()
|
|
693
|
+
|
|
694
|
+
results = order.get_results()
|
|
695
|
+
```
|
|
696
|
+
"""
|
|
697
|
+
with tracer.start_as_current_span("RapidataOrderManager.create_locate_order"):
|
|
698
|
+
from rapidata.rapidata_client.workflow import LocateWorkflow
|
|
699
|
+
|
|
700
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
701
|
+
datapoints=datapoints,
|
|
702
|
+
contexts=contexts,
|
|
703
|
+
media_contexts=media_contexts,
|
|
704
|
+
private_notes=private_notes,
|
|
705
|
+
)
|
|
706
|
+
return self._create_general_order(
|
|
707
|
+
name=name,
|
|
708
|
+
workflow=LocateWorkflow(target=instruction),
|
|
709
|
+
datapoints=datapoints_instances,
|
|
710
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
711
|
+
validation_set_id=validation_set_id,
|
|
712
|
+
filters=filters,
|
|
713
|
+
selections=selections,
|
|
714
|
+
settings=settings,
|
|
715
|
+
)
|
|
593
716
|
|
|
594
717
|
def create_draw_order(
|
|
595
718
|
self,
|
|
@@ -600,9 +723,9 @@ class RapidataOrderManager:
|
|
|
600
723
|
contexts: list[str] | None = None,
|
|
601
724
|
media_contexts: list[str] | None = None,
|
|
602
725
|
validation_set_id: str | None = None,
|
|
603
|
-
filters: Sequence[RapidataFilter] =
|
|
604
|
-
settings: Sequence[RapidataSetting] =
|
|
605
|
-
selections: Sequence[RapidataSelection] =
|
|
726
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
727
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
728
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
606
729
|
private_notes: list[str] | None = None,
|
|
607
730
|
) -> RapidataOrder:
|
|
608
731
|
"""Create a draw order.
|
|
@@ -628,23 +751,41 @@ class RapidataOrderManager:
|
|
|
628
751
|
private_notes (list[str], optional): The list of private notes for the draw lines. Defaults to None.\n
|
|
629
752
|
If provided has to be the same length as datapoints.\n
|
|
630
753
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
631
|
-
"""
|
|
632
754
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
755
|
+
Example:
|
|
756
|
+
```python
|
|
757
|
+
from rapidata import RapidataClient
|
|
758
|
+
|
|
759
|
+
rapi = RapidataClient()
|
|
760
|
+
order = rapi.order.create_draw_order(
|
|
761
|
+
name="Segment Objects",
|
|
762
|
+
instruction="Color in all the cars in the image",
|
|
763
|
+
datapoints=["https://example.com/street1.jpg", "https://example.com/street2.jpg"],
|
|
764
|
+
responses_per_datapoint=35,
|
|
765
|
+
).run()
|
|
766
|
+
|
|
767
|
+
results = order.get_results()
|
|
768
|
+
```
|
|
769
|
+
"""
|
|
770
|
+
with tracer.start_as_current_span("RapidataOrderManager.create_draw_order"):
|
|
771
|
+
from rapidata.rapidata_client.workflow import DrawWorkflow
|
|
772
|
+
|
|
773
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
774
|
+
datapoints=datapoints,
|
|
775
|
+
contexts=contexts,
|
|
776
|
+
media_contexts=media_contexts,
|
|
777
|
+
private_notes=private_notes,
|
|
778
|
+
)
|
|
779
|
+
return self._create_general_order(
|
|
780
|
+
name=name,
|
|
781
|
+
workflow=DrawWorkflow(target=instruction),
|
|
782
|
+
datapoints=datapoints_instances,
|
|
783
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
784
|
+
validation_set_id=validation_set_id,
|
|
785
|
+
filters=filters,
|
|
786
|
+
selections=selections,
|
|
787
|
+
settings=settings,
|
|
788
|
+
)
|
|
648
789
|
|
|
649
790
|
def create_timestamp_order(
|
|
650
791
|
self,
|
|
@@ -655,9 +796,9 @@ class RapidataOrderManager:
|
|
|
655
796
|
contexts: list[str] | None = None,
|
|
656
797
|
media_contexts: list[str] | None = None,
|
|
657
798
|
validation_set_id: str | None = None,
|
|
658
|
-
filters: Sequence[RapidataFilter] =
|
|
659
|
-
settings: Sequence[RapidataSetting] =
|
|
660
|
-
selections: Sequence[RapidataSelection] =
|
|
799
|
+
filters: Sequence[RapidataFilter] | None = None,
|
|
800
|
+
settings: Sequence[RapidataSetting] | None = None,
|
|
801
|
+
selections: Sequence[RapidataSelection] | None = None,
|
|
661
802
|
private_notes: list[str] | None = None,
|
|
662
803
|
) -> RapidataOrder:
|
|
663
804
|
"""Create a timestamp order.
|
|
@@ -688,31 +829,27 @@ class RapidataOrderManager:
|
|
|
688
829
|
This will NOT be shown to the labelers but will be included in the result purely for your own reference.
|
|
689
830
|
"""
|
|
690
831
|
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
for asset in tqdm(
|
|
694
|
-
assets,
|
|
695
|
-
desc="Downloading assets and checking duration",
|
|
696
|
-
disable=RapidataOutputManager.silent_mode,
|
|
832
|
+
with tracer.start_as_current_span(
|
|
833
|
+
"RapidataOrderManager.create_timestamp_order"
|
|
697
834
|
):
|
|
698
|
-
|
|
699
|
-
raise ValueError(
|
|
700
|
-
"The datapoints for this order must have a duration. (e.g. video or audio)"
|
|
701
|
-
)
|
|
835
|
+
from rapidata.rapidata_client.workflow import TimestampWorkflow
|
|
702
836
|
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
837
|
+
datapoints_instances = DatapointsValidator.map_datapoints(
|
|
838
|
+
datapoints=datapoints,
|
|
839
|
+
contexts=contexts,
|
|
840
|
+
media_contexts=media_contexts,
|
|
841
|
+
private_notes=private_notes,
|
|
842
|
+
)
|
|
843
|
+
return self._create_general_order(
|
|
844
|
+
name=name,
|
|
845
|
+
workflow=TimestampWorkflow(instruction=instruction),
|
|
846
|
+
datapoints=datapoints_instances,
|
|
847
|
+
responses_per_datapoint=responses_per_datapoint,
|
|
848
|
+
validation_set_id=validation_set_id,
|
|
849
|
+
filters=filters,
|
|
850
|
+
selections=selections,
|
|
851
|
+
settings=settings,
|
|
852
|
+
)
|
|
716
853
|
|
|
717
854
|
def get_order_by_id(self, order_id: str) -> RapidataOrder:
|
|
718
855
|
"""Get an order by ID.
|
|
@@ -723,14 +860,16 @@ class RapidataOrderManager:
|
|
|
723
860
|
Returns:
|
|
724
861
|
RapidataOrder: The Order instance.
|
|
725
862
|
"""
|
|
863
|
+
with tracer.start_as_current_span("RapidataOrderManager.get_order_by_id"):
|
|
864
|
+
from rapidata.rapidata_client.order.rapidata_order import RapidataOrder
|
|
726
865
|
|
|
727
|
-
|
|
866
|
+
order = self.__openapi_service.order_api.order_order_id_get(order_id)
|
|
728
867
|
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
868
|
+
return RapidataOrder(
|
|
869
|
+
order_id=order_id,
|
|
870
|
+
name=order.order_name,
|
|
871
|
+
openapi_service=self.__openapi_service,
|
|
872
|
+
)
|
|
734
873
|
|
|
735
874
|
def find_orders(self, name: str = "", amount: int = 10) -> list[RapidataOrder]:
|
|
736
875
|
"""Find your recent orders given criteria. If nothing is provided, it will return the most recent order.
|
|
@@ -742,25 +881,42 @@ class RapidataOrderManager:
|
|
|
742
881
|
Returns:
|
|
743
882
|
list[RapidataOrder]: A list of RapidataOrder instances.
|
|
744
883
|
"""
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
884
|
+
with tracer.start_as_current_span("RapidataOrderManager.find_orders"):
|
|
885
|
+
from rapidata.api_client.models.page_info import PageInfo
|
|
886
|
+
from rapidata.api_client.models.query_model import QueryModel
|
|
887
|
+
from rapidata.api_client.models.root_filter import RootFilter
|
|
888
|
+
from rapidata.api_client.models.filter import Filter
|
|
889
|
+
from rapidata.api_client.models.filter_operator import FilterOperator
|
|
890
|
+
from rapidata.api_client.models.sort_criterion import SortCriterion
|
|
891
|
+
from rapidata.api_client.models.sort_direction import SortDirection
|
|
892
|
+
|
|
893
|
+
order_page_result = self.__openapi_service.order_api.orders_get(
|
|
894
|
+
QueryModel(
|
|
895
|
+
page=PageInfo(index=1, size=amount),
|
|
896
|
+
filter=RootFilter(
|
|
897
|
+
filters=[
|
|
898
|
+
Filter(
|
|
899
|
+
field="OrderName",
|
|
900
|
+
operator=FilterOperator.CONTAINS,
|
|
901
|
+
value=name,
|
|
902
|
+
)
|
|
903
|
+
]
|
|
904
|
+
),
|
|
905
|
+
sortCriteria=[
|
|
906
|
+
SortCriterion(
|
|
907
|
+
direction=SortDirection.DESC, propertyName="OrderDate"
|
|
754
908
|
)
|
|
755
|
-
]
|
|
756
|
-
)
|
|
757
|
-
sortCriteria=[
|
|
758
|
-
SortCriterion(
|
|
759
|
-
direction=SortDirection.DESC, propertyName="OrderDate"
|
|
760
|
-
)
|
|
761
|
-
],
|
|
909
|
+
],
|
|
910
|
+
)
|
|
762
911
|
)
|
|
763
|
-
)
|
|
764
912
|
|
|
765
|
-
|
|
766
|
-
|
|
913
|
+
orders = [
|
|
914
|
+
self.get_order_by_id(order.id) for order in order_page_result.items
|
|
915
|
+
]
|
|
916
|
+
return orders
|
|
917
|
+
|
|
918
|
+
def __str__(self) -> str:
|
|
919
|
+
return "RapidataOrderManager"
|
|
920
|
+
|
|
921
|
+
def __repr__(self) -> str:
|
|
922
|
+
return self.__str__()
|