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,38 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
from
|
|
5
|
-
from
|
|
6
|
-
from rapidata.
|
|
7
|
-
from rapidata.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
from rapidata.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
from rapidata.
|
|
16
|
-
from rapidata.
|
|
17
|
-
from rapidata.api_client.models.source_url_metadata_model import SourceUrlMetadataModel
|
|
18
|
-
from rapidata.api_client.models.and_user_filter_model_filters_inner import (
|
|
19
|
-
AndUserFilterModelFiltersInner,
|
|
20
|
-
)
|
|
21
|
-
from rapidata.api_client.models.filter_operator import FilterOperator
|
|
22
|
-
|
|
23
|
-
from rapidata.rapidata_client.benchmark.participant._participant import (
|
|
24
|
-
BenchmarkParticipant,
|
|
25
|
-
)
|
|
26
|
-
from rapidata.rapidata_client.logging import logger
|
|
27
|
-
from rapidata.service.openapi_service import OpenAPIService
|
|
28
|
-
|
|
29
|
-
from rapidata.rapidata_client.benchmark.leaderboard.rapidata_leaderboard import (
|
|
30
|
-
RapidataLeaderboard,
|
|
31
|
-
)
|
|
32
|
-
from rapidata.rapidata_client.datapoints.assets import MediaAsset
|
|
33
|
-
from rapidata.rapidata_client.benchmark._detail_mapper import DetailMapper
|
|
34
|
-
from rapidata.rapidata_client.filter import RapidataFilter
|
|
35
|
-
from rapidata.rapidata_client.settings import RapidataSetting
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
import urllib.parse
|
|
3
|
+
import webbrowser
|
|
4
|
+
from colorama import Fore
|
|
5
|
+
from typing import Optional, Sequence, TYPE_CHECKING
|
|
6
|
+
from rapidata.rapidata_client.config import logger, managed_print, tracer
|
|
7
|
+
from rapidata.rapidata_client.benchmark._detail_mapper import LevelOfDetail
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
import pandas as pd
|
|
11
|
+
from rapidata.rapidata_client.benchmark.leaderboard.rapidata_leaderboard import (
|
|
12
|
+
RapidataLeaderboard,
|
|
13
|
+
)
|
|
14
|
+
from rapidata.rapidata_client.filter import RapidataFilter
|
|
15
|
+
from rapidata.rapidata_client.settings import RapidataSetting
|
|
16
|
+
from rapidata.service.openapi_service import OpenAPIService
|
|
36
17
|
|
|
37
18
|
|
|
38
19
|
class RapidataBenchmark:
|
|
@@ -48,54 +29,67 @@ class RapidataBenchmark:
|
|
|
48
29
|
"""
|
|
49
30
|
|
|
50
31
|
def __init__(self, name: str, id: str, openapi_service: OpenAPIService):
|
|
32
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
33
|
+
|
|
51
34
|
self.name = name
|
|
52
35
|
self.id = id
|
|
53
|
-
self.
|
|
36
|
+
self._openapi_service = openapi_service
|
|
54
37
|
self.__prompts: list[str | None] = []
|
|
55
38
|
self.__prompt_assets: list[str | None] = []
|
|
56
|
-
self.__leaderboards: list[RapidataLeaderboard] = []
|
|
39
|
+
self.__leaderboards: list["RapidataLeaderboard"] = []
|
|
57
40
|
self.__identifiers: list[str] = []
|
|
58
41
|
self.__tags: list[list[str]] = []
|
|
42
|
+
self.__benchmark_page: str = (
|
|
43
|
+
f"https://app.{self._openapi_service.environment}/mri/benchmarks/{self.id}"
|
|
44
|
+
)
|
|
45
|
+
self._asset_uploader = AssetUploader(openapi_service)
|
|
59
46
|
|
|
60
47
|
def __instantiate_prompts(self) -> None:
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
from rapidata.rapidata_client.config import tracer
|
|
49
|
+
from rapidata.api_client.models.query_model import QueryModel
|
|
50
|
+
from rapidata.api_client.models.page_info import PageInfo
|
|
51
|
+
from rapidata.api_client.models.file_asset_model import FileAssetModel
|
|
52
|
+
from rapidata.api_client.models.source_url_metadata_model import (
|
|
53
|
+
SourceUrlMetadataModel,
|
|
54
|
+
)
|
|
63
55
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
with tracer.start_as_current_span("RapidataBenchmark.__instantiate_prompts"):
|
|
57
|
+
current_page = 1
|
|
58
|
+
total_pages = None
|
|
59
|
+
|
|
60
|
+
while True:
|
|
61
|
+
prompts_result = self._openapi_service.benchmark_api.benchmark_benchmark_id_prompts_get(
|
|
67
62
|
benchmark_id=self.id,
|
|
68
63
|
request=QueryModel(page=PageInfo(index=current_page, size=100)),
|
|
69
64
|
)
|
|
70
|
-
)
|
|
71
65
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
66
|
+
if prompts_result.total_pages is None:
|
|
67
|
+
raise ValueError(
|
|
68
|
+
"An error occurred while fetching prompts: total_pages is None"
|
|
69
|
+
)
|
|
76
70
|
|
|
77
|
-
|
|
71
|
+
total_pages = prompts_result.total_pages
|
|
78
72
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
73
|
+
for prompt in prompts_result.items:
|
|
74
|
+
self.__prompts.append(prompt.prompt)
|
|
75
|
+
self.__identifiers.append(prompt.identifier)
|
|
76
|
+
if prompt.prompt_asset is None:
|
|
77
|
+
self.__prompt_assets.append(None)
|
|
78
|
+
else:
|
|
79
|
+
assert isinstance(
|
|
80
|
+
prompt.prompt_asset.actual_instance, FileAssetModel
|
|
81
|
+
)
|
|
82
|
+
source_url = prompt.prompt_asset.actual_instance.metadata[
|
|
83
|
+
"sourceUrl"
|
|
84
|
+
].actual_instance
|
|
85
|
+
assert isinstance(source_url, SourceUrlMetadataModel)
|
|
86
|
+
self.__prompt_assets.append(source_url.url)
|
|
93
87
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
88
|
+
self.__tags.append(prompt.tags)
|
|
89
|
+
if current_page >= total_pages:
|
|
90
|
+
break
|
|
97
91
|
|
|
98
|
-
|
|
92
|
+
current_page += 1
|
|
99
93
|
|
|
100
94
|
@property
|
|
101
95
|
def identifiers(self) -> list[str]:
|
|
@@ -139,122 +133,157 @@ class RapidataBenchmark:
|
|
|
139
133
|
"""
|
|
140
134
|
Returns the leaderboards that are registered for the benchmark.
|
|
141
135
|
"""
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
136
|
+
from rapidata.api_client.models.query_model import QueryModel
|
|
137
|
+
from rapidata.api_client.models.page_info import PageInfo
|
|
138
|
+
from rapidata.rapidata_client.benchmark.leaderboard.rapidata_leaderboard import (
|
|
139
|
+
RapidataLeaderboard,
|
|
140
|
+
)
|
|
145
141
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
142
|
+
with tracer.start_as_current_span("RapidataBenchmark.leaderboards"):
|
|
143
|
+
if not self.__leaderboards:
|
|
144
|
+
current_page = 1
|
|
145
|
+
total_pages = None
|
|
146
|
+
|
|
147
|
+
while True:
|
|
148
|
+
leaderboards_result = self._openapi_service.benchmark_api.benchmark_benchmark_id_leaderboards_get(
|
|
149
|
+
benchmark_id=self.id,
|
|
149
150
|
request=QueryModel(
|
|
150
|
-
filter=RootFilter(
|
|
151
|
-
filters=[
|
|
152
|
-
Filter(
|
|
153
|
-
field="BenchmarkId",
|
|
154
|
-
operator=FilterOperator.EQ,
|
|
155
|
-
value=self.id,
|
|
156
|
-
)
|
|
157
|
-
]
|
|
158
|
-
),
|
|
159
151
|
page=PageInfo(index=current_page, size=100),
|
|
160
|
-
)
|
|
161
|
-
)
|
|
162
|
-
)
|
|
163
|
-
|
|
164
|
-
if leaderboards_result.total_pages is None:
|
|
165
|
-
raise ValueError(
|
|
166
|
-
"An error occurred while fetching leaderboards: total_pages is None"
|
|
152
|
+
),
|
|
167
153
|
)
|
|
168
154
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
[
|
|
173
|
-
RapidataLeaderboard(
|
|
174
|
-
leaderboard.name,
|
|
175
|
-
leaderboard.instruction,
|
|
176
|
-
leaderboard.show_prompt,
|
|
177
|
-
leaderboard.show_prompt_asset,
|
|
178
|
-
leaderboard.is_inversed,
|
|
179
|
-
leaderboard.response_budget,
|
|
180
|
-
leaderboard.min_responses,
|
|
181
|
-
leaderboard.id,
|
|
182
|
-
self.__openapi_service,
|
|
155
|
+
if leaderboards_result.total_pages is None:
|
|
156
|
+
raise ValueError(
|
|
157
|
+
"An error occurred while fetching leaderboards: total_pages is None"
|
|
183
158
|
)
|
|
184
|
-
for leaderboard in leaderboards_result.items
|
|
185
|
-
]
|
|
186
|
-
)
|
|
187
159
|
|
|
188
|
-
|
|
189
|
-
|
|
160
|
+
total_pages = leaderboards_result.total_pages
|
|
161
|
+
|
|
162
|
+
self.__leaderboards.extend(
|
|
163
|
+
[
|
|
164
|
+
RapidataLeaderboard(
|
|
165
|
+
leaderboard.name,
|
|
166
|
+
leaderboard.instruction,
|
|
167
|
+
leaderboard.show_prompt,
|
|
168
|
+
leaderboard.show_prompt_asset,
|
|
169
|
+
leaderboard.is_inversed,
|
|
170
|
+
leaderboard.response_budget,
|
|
171
|
+
leaderboard.min_responses,
|
|
172
|
+
self.id,
|
|
173
|
+
leaderboard.id,
|
|
174
|
+
self._openapi_service,
|
|
175
|
+
)
|
|
176
|
+
for leaderboard in leaderboards_result.items
|
|
177
|
+
]
|
|
178
|
+
)
|
|
190
179
|
|
|
191
|
-
|
|
180
|
+
if current_page >= total_pages:
|
|
181
|
+
break
|
|
182
|
+
|
|
183
|
+
current_page += 1
|
|
192
184
|
|
|
193
|
-
|
|
185
|
+
return self.__leaderboards
|
|
194
186
|
|
|
195
187
|
def add_prompt(
|
|
196
188
|
self,
|
|
197
|
-
identifier: str,
|
|
189
|
+
identifier: str | None = None,
|
|
198
190
|
prompt: str | None = None,
|
|
199
|
-
|
|
191
|
+
prompt_asset: str | None = None,
|
|
200
192
|
tags: Optional[list[str]] = None,
|
|
201
193
|
):
|
|
202
194
|
"""
|
|
203
195
|
Adds a prompt to the benchmark.
|
|
204
196
|
|
|
205
197
|
Args:
|
|
206
|
-
identifier: The identifier of the prompt/asset/tags that will be used to match up the media.
|
|
198
|
+
identifier: The identifier of the prompt/asset/tags that will be used to match up the media. If not provided, it will use the prompt, asset or prompt + asset as the identifier.
|
|
207
199
|
prompt: The prompt that will be used to evaluate the model.
|
|
208
|
-
|
|
200
|
+
prompt_asset: The prompt asset that will be used to evaluate the model. Provided as a link to the asset.
|
|
209
201
|
tags: The tags can be used to filter the leaderboard results. They will NOT be shown to the users.
|
|
210
202
|
"""
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
raise ValueError("Identifier must be a string.")
|
|
216
|
-
|
|
217
|
-
if prompt is None and asset is None:
|
|
218
|
-
raise ValueError("Prompt or asset must be provided.")
|
|
203
|
+
from rapidata.api_client.models.submit_prompt_model import SubmitPromptModel
|
|
204
|
+
from rapidata.api_client.models.i_asset_input_existing_asset_input import (
|
|
205
|
+
IAssetInputExistingAssetInput,
|
|
206
|
+
)
|
|
219
207
|
|
|
220
|
-
|
|
221
|
-
raise ValueError("Prompt must be a string.")
|
|
208
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
222
209
|
|
|
223
|
-
|
|
224
|
-
|
|
210
|
+
with tracer.start_as_current_span("RapidataBenchmark.add_prompt"):
|
|
211
|
+
if tags is None:
|
|
212
|
+
tags = []
|
|
225
213
|
|
|
226
|
-
|
|
227
|
-
|
|
214
|
+
if prompt is None and prompt_asset is None:
|
|
215
|
+
raise ValueError("Prompt or prompt asset must be provided.")
|
|
228
216
|
|
|
229
|
-
|
|
230
|
-
|
|
217
|
+
if identifier is None and prompt is None:
|
|
218
|
+
raise ValueError("Identifier or prompt must be provided.")
|
|
231
219
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
):
|
|
235
|
-
raise ValueError("Tags must be a list of strings.")
|
|
220
|
+
if identifier and not isinstance(identifier, str):
|
|
221
|
+
raise ValueError("Identifier must be a string.")
|
|
236
222
|
|
|
237
|
-
|
|
223
|
+
if prompt and not isinstance(prompt, str):
|
|
224
|
+
raise ValueError("Prompt must be a string.")
|
|
238
225
|
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
226
|
+
if prompt_asset and not isinstance(prompt_asset, str):
|
|
227
|
+
raise ValueError(
|
|
228
|
+
"Asset must be a string. That is the link to the asset."
|
|
229
|
+
)
|
|
242
230
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
promptAsset=(
|
|
249
|
-
SubmitPromptModelPromptAsset(
|
|
250
|
-
UrlAssetInput(_t="UrlAssetInput", url=asset)
|
|
231
|
+
if identifier is None:
|
|
232
|
+
assert prompt is not None
|
|
233
|
+
if prompt in self.prompts:
|
|
234
|
+
raise ValueError(
|
|
235
|
+
"Prompts must be unique. Otherwise use identifiers."
|
|
251
236
|
)
|
|
252
|
-
|
|
253
|
-
|
|
237
|
+
identifier = prompt
|
|
238
|
+
|
|
239
|
+
if identifier in self.identifiers:
|
|
240
|
+
raise ValueError("Identifier already exists in the benchmark.")
|
|
241
|
+
|
|
242
|
+
if tags is not None and (
|
|
243
|
+
not isinstance(tags, list)
|
|
244
|
+
or not all(isinstance(tag, str) for tag in tags)
|
|
245
|
+
):
|
|
246
|
+
raise ValueError("Tags must be a list of strings.")
|
|
247
|
+
|
|
248
|
+
logger.info(
|
|
249
|
+
"Adding identifier %s with prompt %s, prompt asset %s and tags %s to benchmark %s",
|
|
250
|
+
identifier,
|
|
251
|
+
prompt,
|
|
252
|
+
prompt_asset,
|
|
253
|
+
tags,
|
|
254
|
+
self.id,
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
self.__identifiers.append(identifier)
|
|
258
|
+
|
|
259
|
+
self.__tags.append(tags)
|
|
260
|
+
self.__prompts.append(prompt)
|
|
261
|
+
self.__prompt_assets.append(prompt_asset)
|
|
262
|
+
|
|
263
|
+
self._openapi_service.benchmark_api.benchmark_benchmark_id_prompt_post(
|
|
264
|
+
benchmark_id=self.id,
|
|
265
|
+
submit_prompt_model=SubmitPromptModel(
|
|
266
|
+
identifier=identifier,
|
|
267
|
+
prompt=prompt,
|
|
268
|
+
promptAsset=(
|
|
269
|
+
IAssetInput(
|
|
270
|
+
actual_instance=(
|
|
271
|
+
IAssetInputExistingAssetInput(
|
|
272
|
+
_t="ExistingAssetInput",
|
|
273
|
+
name=self._asset_uploader.upload_asset(
|
|
274
|
+
prompt_asset
|
|
275
|
+
),
|
|
276
|
+
)
|
|
277
|
+
if prompt_asset is not None
|
|
278
|
+
else None
|
|
279
|
+
)
|
|
280
|
+
)
|
|
281
|
+
if prompt_asset is not None
|
|
282
|
+
else None
|
|
283
|
+
),
|
|
284
|
+
tags=tags,
|
|
254
285
|
),
|
|
255
|
-
|
|
256
|
-
),
|
|
257
|
-
)
|
|
286
|
+
)
|
|
258
287
|
|
|
259
288
|
def create_leaderboard(
|
|
260
289
|
self,
|
|
@@ -263,11 +292,11 @@ class RapidataBenchmark:
|
|
|
263
292
|
show_prompt: bool = False,
|
|
264
293
|
show_prompt_asset: bool = False,
|
|
265
294
|
inverse_ranking: bool = False,
|
|
266
|
-
level_of_detail:
|
|
267
|
-
min_responses_per_matchup: int =
|
|
295
|
+
level_of_detail: LevelOfDetail | None = None,
|
|
296
|
+
min_responses_per_matchup: int | None = None,
|
|
268
297
|
validation_set_id: str | None = None,
|
|
269
|
-
filters: Sequence[RapidataFilter] =
|
|
270
|
-
settings: Sequence[RapidataSetting] =
|
|
298
|
+
filters: Sequence["RapidataFilter"] | None = None,
|
|
299
|
+
settings: Sequence["RapidataSetting"] | None = None,
|
|
271
300
|
) -> RapidataLeaderboard:
|
|
272
301
|
"""
|
|
273
302
|
Creates a new leaderboard for the benchmark.
|
|
@@ -284,126 +313,235 @@ class RapidataBenchmark:
|
|
|
284
313
|
filters: The filters that should be applied to the leaderboard. Will determine who can solve answer in the leaderboard. (default: [])
|
|
285
314
|
settings: The settings that should be applied to the leaderboard. Will determine the behavior of the tasks on the leaderboard. (default: [])
|
|
286
315
|
"""
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
if min_responses_per_matchup < 3:
|
|
291
|
-
raise ValueError("Min responses per matchup must be at least 3")
|
|
292
|
-
|
|
293
|
-
leaderboard_result = self.__openapi_service.leaderboard_api.leaderboard_post(
|
|
294
|
-
create_leaderboard_model=CreateLeaderboardModel(
|
|
295
|
-
benchmarkId=self.id,
|
|
296
|
-
name=name,
|
|
297
|
-
instruction=instruction,
|
|
298
|
-
showPrompt=show_prompt,
|
|
299
|
-
showPromptAsset=show_prompt_asset,
|
|
300
|
-
isInversed=inverse_ranking,
|
|
301
|
-
minResponses=min_responses_per_matchup,
|
|
302
|
-
responseBudget=DetailMapper.get_budget(level_of_detail),
|
|
303
|
-
validationSetId=validation_set_id,
|
|
304
|
-
filters=(
|
|
305
|
-
[
|
|
306
|
-
AndUserFilterModelFiltersInner(filter._to_model())
|
|
307
|
-
for filter in filters
|
|
308
|
-
]
|
|
309
|
-
if filters
|
|
310
|
-
else None
|
|
311
|
-
),
|
|
312
|
-
featureFlags=(
|
|
313
|
-
[setting._to_feature_flag() for setting in settings]
|
|
314
|
-
if settings
|
|
315
|
-
else None
|
|
316
|
-
),
|
|
317
|
-
)
|
|
316
|
+
from rapidata.api_client.models.create_leaderboard_model import (
|
|
317
|
+
CreateLeaderboardModel,
|
|
318
318
|
)
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
), "The leaderboard was not created for the correct benchmark."
|
|
323
|
-
|
|
324
|
-
return RapidataLeaderboard(
|
|
325
|
-
name,
|
|
326
|
-
instruction,
|
|
327
|
-
show_prompt,
|
|
328
|
-
show_prompt_asset,
|
|
329
|
-
inverse_ranking,
|
|
330
|
-
leaderboard_result.response_budget,
|
|
331
|
-
min_responses_per_matchup,
|
|
332
|
-
leaderboard_result.id,
|
|
333
|
-
self.__openapi_service,
|
|
319
|
+
from rapidata.rapidata_client.benchmark._detail_mapper import DetailMapper
|
|
320
|
+
from rapidata.rapidata_client.benchmark.leaderboard.rapidata_leaderboard import (
|
|
321
|
+
RapidataLeaderboard,
|
|
334
322
|
)
|
|
335
323
|
|
|
324
|
+
with tracer.start_as_current_span("create_leaderboard"):
|
|
325
|
+
if level_of_detail is not None and (
|
|
326
|
+
not isinstance(level_of_detail, str)
|
|
327
|
+
or level_of_detail not in ["low", "medium", "high", "very high"]
|
|
328
|
+
):
|
|
329
|
+
raise ValueError(
|
|
330
|
+
"Level of detail must be a string and one of: 'low', 'medium', 'high', 'very high'"
|
|
331
|
+
)
|
|
332
|
+
|
|
333
|
+
if min_responses_per_matchup is not None and (
|
|
334
|
+
not isinstance(min_responses_per_matchup, int)
|
|
335
|
+
or min_responses_per_matchup < 3
|
|
336
|
+
):
|
|
337
|
+
raise ValueError(
|
|
338
|
+
"Min responses per matchup must be an integer and at least 3"
|
|
339
|
+
)
|
|
340
|
+
|
|
341
|
+
logger.info(
|
|
342
|
+
"Creating leaderboard %s with instruction %s, show_prompt %s, show_prompt_asset %s, inverse_ranking %s, level_of_detail %s, min_responses_per_matchup %s, validation_set_id %s, filters %s, settings %s",
|
|
343
|
+
name,
|
|
344
|
+
instruction,
|
|
345
|
+
show_prompt,
|
|
346
|
+
show_prompt_asset,
|
|
347
|
+
inverse_ranking,
|
|
348
|
+
level_of_detail,
|
|
349
|
+
min_responses_per_matchup,
|
|
350
|
+
validation_set_id,
|
|
351
|
+
filters,
|
|
352
|
+
settings,
|
|
353
|
+
)
|
|
354
|
+
|
|
355
|
+
leaderboard_result = self._openapi_service.leaderboard_api.leaderboard_post(
|
|
356
|
+
create_leaderboard_model=CreateLeaderboardModel(
|
|
357
|
+
benchmarkId=self.id,
|
|
358
|
+
name=name,
|
|
359
|
+
instruction=instruction,
|
|
360
|
+
showPrompt=show_prompt,
|
|
361
|
+
showPromptAsset=show_prompt_asset,
|
|
362
|
+
isInversed=inverse_ranking,
|
|
363
|
+
minResponses=min_responses_per_matchup,
|
|
364
|
+
responseBudget=(
|
|
365
|
+
DetailMapper.get_budget(level_of_detail)
|
|
366
|
+
if level_of_detail is not None
|
|
367
|
+
else None
|
|
368
|
+
),
|
|
369
|
+
validationSetId=validation_set_id,
|
|
370
|
+
filters=(
|
|
371
|
+
[filter._to_model() for filter in filters] if filters else None
|
|
372
|
+
),
|
|
373
|
+
featureFlags=(
|
|
374
|
+
[setting._to_feature_flag() for setting in settings] # type: ignore - until backend fixes generation
|
|
375
|
+
if settings
|
|
376
|
+
else None
|
|
377
|
+
),
|
|
378
|
+
)
|
|
379
|
+
)
|
|
380
|
+
|
|
381
|
+
assert (
|
|
382
|
+
leaderboard_result.benchmark_id == self.id
|
|
383
|
+
), "The leaderboard was not created for the correct benchmark."
|
|
384
|
+
|
|
385
|
+
logger.info("Leaderboard created with id %s", leaderboard_result.id)
|
|
386
|
+
|
|
387
|
+
return RapidataLeaderboard(
|
|
388
|
+
name,
|
|
389
|
+
instruction,
|
|
390
|
+
show_prompt,
|
|
391
|
+
show_prompt_asset,
|
|
392
|
+
inverse_ranking,
|
|
393
|
+
leaderboard_result.response_budget,
|
|
394
|
+
leaderboard_result.min_responses,
|
|
395
|
+
self.id,
|
|
396
|
+
leaderboard_result.id,
|
|
397
|
+
self._openapi_service,
|
|
398
|
+
)
|
|
399
|
+
|
|
336
400
|
def evaluate_model(
|
|
337
|
-
self,
|
|
401
|
+
self,
|
|
402
|
+
name: str,
|
|
403
|
+
media: list[str],
|
|
404
|
+
identifiers: list[str] | None = None,
|
|
405
|
+
prompts: list[str] | None = None,
|
|
338
406
|
) -> None:
|
|
339
407
|
"""
|
|
340
408
|
Evaluates a model on the benchmark across all leaderboards.
|
|
341
409
|
|
|
410
|
+
prompts or identifiers must be provided to match the media.
|
|
411
|
+
|
|
342
412
|
Args:
|
|
343
413
|
name: The name of the model.
|
|
344
414
|
media: The generated images/videos that will be used to evaluate the model.
|
|
345
|
-
identifiers: The identifiers that correspond to the media. The order of the identifiers must match the order of the media
|
|
415
|
+
identifiers: The identifiers that correspond to the media. The order of the identifiers must match the order of the media.\n
|
|
346
416
|
The identifiers that are used must be registered for the benchmark. To see the registered identifiers, use the identifiers property.
|
|
417
|
+
prompts: The prompts that correspond to the media. The order of the prompts must match the order of the media.
|
|
347
418
|
"""
|
|
348
|
-
|
|
349
|
-
|
|
419
|
+
from rapidata.api_client.models.create_benchmark_participant_model import (
|
|
420
|
+
CreateBenchmarkParticipantModel,
|
|
421
|
+
)
|
|
422
|
+
from rapidata.rapidata_client.benchmark.participant._participant import (
|
|
423
|
+
BenchmarkParticipant,
|
|
424
|
+
)
|
|
425
|
+
|
|
426
|
+
with tracer.start_as_current_span("evaluate_model"):
|
|
427
|
+
if not media:
|
|
428
|
+
raise ValueError("Media must be a non-empty list of strings")
|
|
429
|
+
|
|
430
|
+
if not identifiers and not prompts:
|
|
431
|
+
raise ValueError("Identifiers or prompts must be provided.")
|
|
432
|
+
|
|
433
|
+
if identifiers and prompts:
|
|
434
|
+
raise ValueError(
|
|
435
|
+
"Identifiers and prompts cannot be provided at the same time. Use one or the other."
|
|
436
|
+
)
|
|
437
|
+
|
|
438
|
+
if not identifiers:
|
|
439
|
+
assert prompts is not None
|
|
440
|
+
identifiers = prompts
|
|
441
|
+
|
|
442
|
+
if len(media) != len(identifiers):
|
|
443
|
+
raise ValueError(
|
|
444
|
+
"Media and identifiers/prompts must have the same length"
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
if not all(identifier in self.identifiers for identifier in identifiers):
|
|
448
|
+
raise ValueError(
|
|
449
|
+
"All identifiers/prompts must be in the registered identifiers/prompts list. To see the registered identifiers/prompts, use the identifiers/prompts property."
|
|
450
|
+
)
|
|
451
|
+
|
|
452
|
+
participant_result = self._openapi_service.benchmark_api.benchmark_benchmark_id_participants_post(
|
|
453
|
+
benchmark_id=self.id,
|
|
454
|
+
create_benchmark_participant_model=CreateBenchmarkParticipantModel(
|
|
455
|
+
name=name,
|
|
456
|
+
),
|
|
457
|
+
)
|
|
350
458
|
|
|
351
|
-
|
|
352
|
-
raise ValueError("Media and identifiers must have the same length")
|
|
459
|
+
logger.info(f"Participant created: {participant_result.participant_id}")
|
|
353
460
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
"All identifiers must be in the registered identifiers list. To see the registered identifiers, use the identifiers property.\
|
|
357
|
-
\nTo see the prompts that are associated with the identifiers, use the prompts property."
|
|
461
|
+
participant = BenchmarkParticipant(
|
|
462
|
+
name, participant_result.participant_id, self._openapi_service
|
|
358
463
|
)
|
|
359
464
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
465
|
+
with tracer.start_as_current_span("upload_media_for_participant"):
|
|
466
|
+
logger.info(
|
|
467
|
+
f"Uploading {len(media)} media assets to participant {participant.id}"
|
|
468
|
+
)
|
|
364
469
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
),
|
|
370
|
-
)
|
|
470
|
+
successful_uploads, failed_uploads = participant.upload_media(
|
|
471
|
+
media,
|
|
472
|
+
identifiers,
|
|
473
|
+
)
|
|
371
474
|
|
|
372
|
-
|
|
475
|
+
total_uploads = len(media)
|
|
476
|
+
success_rate = (
|
|
477
|
+
(len(successful_uploads) / total_uploads * 100)
|
|
478
|
+
if total_uploads > 0
|
|
479
|
+
else 0
|
|
480
|
+
)
|
|
481
|
+
logger.info(
|
|
482
|
+
f"Upload complete: {len(successful_uploads)} successful, {len(failed_uploads)} failed ({success_rate:.1f}% success rate)"
|
|
483
|
+
)
|
|
373
484
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
485
|
+
if failed_uploads:
|
|
486
|
+
logger.error(f"Failed uploads for media: {failed_uploads}")
|
|
487
|
+
logger.warning(
|
|
488
|
+
"Some uploads failed. The model evaluation may be incomplete."
|
|
489
|
+
)
|
|
377
490
|
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
491
|
+
if len(successful_uploads) == 0:
|
|
492
|
+
raise RuntimeError(
|
|
493
|
+
"No uploads were successful. The model evaluation will not be completed."
|
|
494
|
+
)
|
|
382
495
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
)
|
|
387
|
-
logger.info(
|
|
388
|
-
f"Upload complete: {len(successful_uploads)} successful, {len(failed_uploads)} failed ({success_rate:.1f}% success rate)"
|
|
389
|
-
)
|
|
496
|
+
self._openapi_service.participant_api.participants_participant_id_submit_post(
|
|
497
|
+
participant_id=participant_result.participant_id
|
|
498
|
+
)
|
|
390
499
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
500
|
+
def view(self) -> None:
|
|
501
|
+
"""
|
|
502
|
+
Views the benchmark.
|
|
503
|
+
"""
|
|
504
|
+
|
|
505
|
+
logger.info("Opening benchmark page in browser...")
|
|
506
|
+
could_open_browser = webbrowser.open(self.__benchmark_page)
|
|
507
|
+
if not could_open_browser:
|
|
508
|
+
encoded_url = urllib.parse.quote(
|
|
509
|
+
self.__benchmark_page, safe="%/:=&?~#+!$,;'@()*[]"
|
|
394
510
|
)
|
|
395
|
-
|
|
396
|
-
|
|
511
|
+
managed_print(
|
|
512
|
+
Fore.RED
|
|
513
|
+
+ f"Please open this URL in your browser: '{encoded_url}'"
|
|
514
|
+
+ Fore.RESET
|
|
397
515
|
)
|
|
398
516
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
517
|
+
def get_overall_standings(self, tags: Optional[list[str]] = None) -> pd.DataFrame:
|
|
518
|
+
"""
|
|
519
|
+
Returns an aggregated elo table of all leaderboards in the benchmark.
|
|
520
|
+
"""
|
|
521
|
+
import pandas as pd
|
|
522
|
+
|
|
523
|
+
with tracer.start_as_current_span("get_overall_standings"):
|
|
524
|
+
participants = self._openapi_service.benchmark_api.benchmark_benchmark_id_standings_get(
|
|
525
|
+
benchmark_id=self.id,
|
|
526
|
+
tags=tags,
|
|
402
527
|
)
|
|
403
528
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
529
|
+
standings = []
|
|
530
|
+
for participant in participants.items:
|
|
531
|
+
standings.append(
|
|
532
|
+
{
|
|
533
|
+
"name": participant.name,
|
|
534
|
+
"wins": participant.wins,
|
|
535
|
+
"total_matches": participant.total_matches,
|
|
536
|
+
"score": (
|
|
537
|
+
round(participant.score, 2)
|
|
538
|
+
if participant.score is not None
|
|
539
|
+
else None
|
|
540
|
+
),
|
|
541
|
+
}
|
|
542
|
+
)
|
|
543
|
+
|
|
544
|
+
return pd.DataFrame(standings)
|
|
407
545
|
|
|
408
546
|
def __str__(self) -> str:
|
|
409
547
|
return f"RapidataBenchmark(name={self.name}, id={self.id})"
|