rapidata 2.35.1__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 +25 -16
- rapidata/api_client/__init__.py +84 -408
- rapidata/api_client/api/__init__.py +6 -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 +904 -245
- rapidata/api_client/api/campaign_api.py +582 -24
- 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 +364 -123
- 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 +140 -2067
- 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 -1480
- 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 +300 -0
- rapidata/api_client/api/simple_workflow_api.py +11 -10
- rapidata/api_client/api/survey_api.py +304 -0
- rapidata/api_client/api/user_rapid_api.py +35 -31
- rapidata/api_client/api/validation_set_api.py +377 -1835
- 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 -382
- 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 +49 -26
- rapidata/api_client/models/add_validation_rapid_model_asset.py +154 -0
- rapidata/api_client/models/add_validation_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/add_validation_rapid_model_metadata_inner.py +140 -0
- rapidata/api_client/models/add_validation_rapid_model_truth.py +7 -1
- rapidata/api_client/models/add_validation_rapid_new_model.py +137 -0
- rapidata/api_client/models/add_validation_rapid_new_model_asset.py +182 -0
- rapidata/api_client/models/add_validation_rapid_new_model_truth.py +286 -0
- rapidata/api_client/models/age_user_filter_model.py +2 -2
- rapidata/api_client/models/age_user_filter_model_age_group.py +41 -0
- rapidata/api_client/models/aggregated_orders_model.py +98 -0
- rapidata/api_client/models/aggregator_type.py +4 -2
- rapidata/api_client/models/and_filter.py +121 -0
- rapidata/api_client/models/and_filter_filters_inner.py +282 -0
- rapidata/api_client/models/are_rapids_active_result.py +2 -2
- rapidata/api_client/models/asset_metadata.py +11 -9
- rapidata/api_client/models/asset_type.py +40 -0
- rapidata/api_client/models/attach_category_rapid_blueprint.py +13 -3
- rapidata/api_client/models/attach_category_rapid_blueprint_category.py +89 -0
- rapidata/api_client/models/audience_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_mode.py +37 -0
- rapidata/api_client/models/boost_query_result.py +7 -10
- 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_filter.py +98 -0
- rapidata/api_client/models/campaign_query_result.py +15 -13
- rapidata/api_client/models/campaign_status.py +2 -2
- rapidata/api_client/models/change_boost_model.py +89 -0
- rapidata/api_client/models/classification_metadata.py +12 -1
- rapidata/api_client/models/classify_payload.py +14 -15
- rapidata/api_client/models/classify_payload_category.py +89 -0
- rapidata/api_client/models/client_model.py +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_rapid_blueprint.py +5 -3
- rapidata/api_client/models/compare_rapid_blueprint1.py +96 -0
- rapidata/api_client/models/compare_workflow_config.py +34 -23
- rapidata/api_client/models/compare_workflow_config_context_asset.py +174 -0
- rapidata/api_client/models/compare_workflow_config_model.py +15 -5
- rapidata/api_client/models/compare_workflow_model.py +34 -6
- rapidata/api_client/models/compare_workflow_model1.py +20 -9
- rapidata/api_client/models/compare_workflow_model_context_asset.py +160 -0
- rapidata/api_client/models/compare_workflow_model_metadata_inner.py +154 -0
- rapidata/api_client/models/compare_workflow_model_pair_maker_config.py +1 -1
- rapidata/api_client/models/comparison_operator.py +2 -2
- rapidata/api_client/models/conditional_validation_selection.py +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/count_metadata.py +12 -1
- rapidata/api_client/models/country_filter.py +98 -0
- rapidata/api_client/models/create_audience_request.py +122 -0
- rapidata/api_client/models/create_audience_result.py +87 -0
- rapidata/api_client/models/create_benchmark_model.py +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 +45 -7
- rapidata/api_client/models/create_demographic_rapid_model_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_context_asset.py +160 -0
- rapidata/api_client/models/create_demographic_rapid_model_new.py +119 -0
- rapidata/api_client/models/create_empty_validation_set_result.py +2 -2
- rapidata/api_client/models/create_job_definition_endpoint_input.py +119 -0
- rapidata/api_client/models/create_job_definition_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_endpoint_input.py +100 -0
- rapidata/api_client/models/create_job_endpoint_output.py +89 -0
- rapidata/api_client/models/create_job_revision_endpoint_input.py +127 -0
- rapidata/api_client/models/create_job_revision_endpoint_output.py +89 -0
- rapidata/api_client/models/create_leaderboard_model.py +42 -15
- 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 +30 -101
- rapidata/api_client/models/create_order_model_referee.py +12 -12
- rapidata/api_client/models/create_order_model_workflow.py +35 -21
- rapidata/api_client/models/create_order_result.py +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/demographic_filter.py +100 -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/effort_capped_selection.py +2 -11
- rapidata/api_client/models/elo_config.py +2 -2
- rapidata/api_client/models/elo_config_model.py +6 -6
- rapidata/api_client/models/entity_tag_header_value.py +93 -0
- rapidata/api_client/models/evaluation_workflow_config.py +13 -3
- rapidata/api_client/models/evaluation_workflow_model.py +16 -6
- rapidata/api_client/models/existing_asset_input.py +109 -0
- rapidata/api_client/models/existing_asset_input_metadata_value.py +126 -0
- rapidata/api_client/models/feature_flag.py +2 -2
- rapidata/api_client/models/feature_flag_model.py +6 -6
- rapidata/api_client/models/feedback_model.py +7 -7
- rapidata/api_client/models/file_asset.py +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/file_type_metadata.py +11 -6
- rapidata/api_client/models/file_type_metadata_model.py +2 -8
- rapidata/api_client/models/filter.py +7 -25
- 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/free_text_payload.py +10 -3
- rapidata/api_client/models/free_text_rapid_blueprint.py +10 -3
- rapidata/api_client/models/gender_user_filter_model.py +2 -2
- rapidata/api_client/models/gender_user_filter_model_gender.py +38 -0
- rapidata/api_client/models/get_asset_metadata_result.py +100 -0
- rapidata/api_client/models/get_audience_by_id_result.py +118 -0
- rapidata/api_client/models/get_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 +5 -5
- rapidata/api_client/models/get_compare_workflow_results_model.py +7 -7
- rapidata/api_client/models/get_compare_workflow_results_result.py +5 -5
- rapidata/api_client/models/get_datapoint_by_id_result.py +10 -21
- rapidata/api_client/models/get_datapoint_by_id_result_asset.py +170 -0
- rapidata/api_client/models/get_dataset_by_id_result.py +2 -2
- rapidata/api_client/models/get_dataset_progress_result.py +2 -2
- rapidata/api_client/models/get_evaluation_workflow_results_model.py +119 -0
- rapidata/api_client/models/get_failed_datapoints_result.py +5 -5
- rapidata/api_client/models/get_failed_datapoints_result_datapoint.py +100 -0
- rapidata/api_client/models/get_file_metadata_result.py +100 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_model.py +106 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result.py +97 -0
- rapidata/api_client/models/get_grouped_ranking_workflow_results_result_paged_result.py +105 -0
- rapidata/api_client/models/get_job_by_id_endpoint_output.py +130 -0
- rapidata/api_client/models/get_job_definition_by_id_endpoint_output.py +95 -0
- rapidata/api_client/models/get_job_revision_endpoint_output.py +133 -0
- rapidata/api_client/models/get_leaderboard_by_id_result.py +31 -4
- 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 +95 -0
- rapidata/api_client/models/get_public_responses_result_response.py +112 -0
- rapidata/api_client/models/get_rapid_responses_result.py +6 -12
- rapidata/api_client/models/get_recommended_validation_set_result.py +95 -0
- rapidata/api_client/models/get_responses_for_rapid_result.py +106 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response.py +103 -0
- rapidata/api_client/models/get_responses_for_rapid_result_response_result.py +266 -0
- rapidata/api_client/models/get_responses_result.py +5 -5
- rapidata/api_client/models/get_responses_result_response.py +103 -0
- rapidata/api_client/models/get_sample_by_id_result.py +125 -0
- rapidata/api_client/models/get_simple_workflow_results_model.py +20 -15
- rapidata/api_client/models/get_standing_by_id_result.py +6 -14
- rapidata/api_client/models/get_validation_rapids_result.py +32 -41
- rapidata/api_client/models/get_validation_set_by_id_result.py +10 -4
- rapidata/api_client/models/get_workflow_by_id_result.py +5 -5
- rapidata/api_client/models/get_workflow_by_id_result_workflow.py +23 -9
- rapidata/api_client/models/get_workflow_progress_result.py +5 -11
- rapidata/api_client/models/get_workflow_results_result.py +34 -23
- rapidata/api_client/models/get_workflow_results_result_response.py +103 -0
- rapidata/api_client/models/google_one_tap_login_model.py +4 -4
- rapidata/api_client/models/grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/grouped_ranking_workflow_config_context_assets_value.py +170 -0
- rapidata/api_client/models/grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/grouped_ranking_workflow_model1.py +121 -0
- rapidata/api_client/models/i_artifact_model.py +182 -0
- rapidata/api_client/models/i_artifact_model_campaign_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_dataset_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_file_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_artifact_model.py +98 -0
- rapidata/api_client/models/i_artifact_model_workflow_config_artifact_model.py +102 -0
- rapidata/api_client/models/i_asset.py +170 -0
- rapidata/api_client/models/i_asset_file_asset.py +111 -0
- rapidata/api_client/models/i_asset_input.py +156 -0
- rapidata/api_client/models/i_asset_input_existing_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_input_multi_asset_input.py +128 -0
- rapidata/api_client/models/i_asset_input_text_asset_input.py +118 -0
- rapidata/api_client/models/i_asset_model.py +170 -0
- rapidata/api_client/models/i_asset_model_file_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_model_multi_asset_model.py +123 -0
- rapidata/api_client/models/i_asset_model_null_asset_model.py +111 -0
- rapidata/api_client/models/i_asset_model_text_asset_model.py +113 -0
- rapidata/api_client/models/i_asset_multi_asset.py +121 -0
- rapidata/api_client/models/i_asset_null_asset.py +109 -0
- rapidata/api_client/models/i_asset_text_asset.py +111 -0
- rapidata/api_client/models/i_audience_filter.py +184 -0
- rapidata/api_client/models/i_audience_filter_and_audience_filter.py +106 -0
- rapidata/api_client/models/i_audience_filter_country_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_country_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_audience_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_language_filter.py +96 -0
- rapidata/api_client/models/i_audience_filter_not_audience_filter.py +102 -0
- rapidata/api_client/models/i_audience_filter_or_audience_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter.py +296 -0
- rapidata/api_client/models/i_campaign_filter_and_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_campaign_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_campaign_session_count_filter.py +101 -0
- rapidata/api_client/models/i_campaign_filter_country_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_demographic_filter.py +100 -0
- rapidata/api_client/models/i_campaign_filter_device_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_language_filter.py +98 -0
- rapidata/api_client/models/i_campaign_filter_new_user_filter.py +96 -0
- rapidata/api_client/models/i_campaign_filter_not_filter.py +113 -0
- rapidata/api_client/models/i_campaign_filter_or_filter.py +117 -0
- rapidata/api_client/models/i_campaign_filter_response_count_filter.py +103 -0
- rapidata/api_client/models/i_campaign_filter_user_action_restriction_filter.py +106 -0
- rapidata/api_client/models/i_campaign_filter_user_score_filter.py +102 -0
- rapidata/api_client/models/i_campaign_filter_user_state_filter.py +106 -0
- rapidata/api_client/models/i_dataset_metadata_input.py +154 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_dataset_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_metadata_input_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/i_dataset_model.py +126 -0
- rapidata/api_client/models/i_dataset_model_clone_dataset_model.py +98 -0
- rapidata/api_client/models/i_metadata.py +252 -0
- rapidata/api_client/models/i_metadata_classification_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_count_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_duration_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_file_type_metadata.py +110 -0
- rapidata/api_client/models/i_metadata_image_dimension_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_input.py +126 -0
- rapidata/api_client/models/i_metadata_input_text_metadata_input.py +111 -0
- rapidata/api_client/models/i_metadata_location_metadata.py +111 -0
- rapidata/api_client/models/i_metadata_model.py +252 -0
- rapidata/api_client/models/i_metadata_model_classification_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_count_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_file_type_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_model_image_dimension_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_location_metadata_model.py +98 -0
- rapidata/api_client/models/i_metadata_model_original_filename_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_source_url_metadata_model.py +96 -0
- rapidata/api_client/models/i_metadata_model_streams_metadata_model.py +100 -0
- rapidata/api_client/models/i_metadata_model_text_metadata_model.py +101 -0
- rapidata/api_client/models/i_metadata_model_video_duration_metadata_model.py +97 -0
- rapidata/api_client/models/i_metadata_original_filename_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_source_url_metadata.py +109 -0
- rapidata/api_client/models/i_metadata_streams_metadata.py +113 -0
- rapidata/api_client/models/i_metadata_text_metadata.py +114 -0
- rapidata/api_client/models/i_metadata_video_duration_metadata.py +110 -0
- rapidata/api_client/models/i_order_workflow_model.py +168 -0
- rapidata/api_client/models/i_order_workflow_model_compare_workflow_model.py +146 -0
- rapidata/api_client/models/i_order_workflow_model_evaluation_workflow_model.py +108 -0
- rapidata/api_client/models/i_order_workflow_model_grouped_ranking_workflow_model.py +147 -0
- rapidata/api_client/models/i_order_workflow_model_simple_workflow_model.py +110 -0
- rapidata/api_client/models/i_pair_maker_config.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model.py +126 -0
- rapidata/api_client/models/i_pair_maker_config_model_online_pair_maker_config_model.py +98 -0
- rapidata/api_client/models/i_pair_maker_config_online_pair_maker_config.py +98 -0
- rapidata/api_client/models/i_pair_maker_information.py +126 -0
- rapidata/api_client/models/i_pair_maker_information_online_pair_maker_information.py +100 -0
- rapidata/api_client/models/i_pipeline_artifact_model.py +126 -0
- rapidata/api_client/models/i_pipeline_artifact_model_create_dataset_artifact_model.py +102 -0
- rapidata/api_client/models/i_pipeline_model.py +126 -0
- rapidata/api_client/models/i_pipeline_model_create_simple_pipeline_model.py +116 -0
- rapidata/api_client/models/i_pipeline_step_model.py +168 -0
- rapidata/api_client/models/i_pipeline_step_model_dataset_evaluation_step_model.py +102 -0
- rapidata/api_client/models/i_pipeline_step_model_send_completion_mail_step_model.py +98 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_aggregation_step_model.py +103 -0
- rapidata/api_client/models/i_pipeline_step_model_workflow_labeling_step_model.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint.py +252 -0
- rapidata/api_client/models/i_rapid_blueprint_attach_category_rapid_blueprint.py +108 -0
- rapidata/api_client/models/i_rapid_blueprint_bounding_box_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_compare_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_free_text_rapid_blueprint.py +105 -0
- rapidata/api_client/models/i_rapid_blueprint_line_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_locate_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_named_entity_rapid_blueprint.py +98 -0
- rapidata/api_client/models/i_rapid_blueprint_polygon_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_scrub_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_blueprint_transcription_rapid_blueprint.py +96 -0
- rapidata/api_client/models/i_rapid_payload.py +252 -0
- rapidata/api_client/models/i_rapid_payload_bounding_box_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_classify_payload.py +106 -0
- rapidata/api_client/models/i_rapid_payload_compare_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_free_text_payload.py +105 -0
- rapidata/api_client/models/i_rapid_payload_line_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_locate_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_named_entity_payload.py +98 -0
- rapidata/api_client/models/i_rapid_payload_polygon_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_scrub_payload.py +96 -0
- rapidata/api_client/models/i_rapid_payload_transcription_payload.py +106 -0
- rapidata/api_client/models/i_rapid_result.py +266 -0
- rapidata/api_client/models/i_rapid_result_attach_category_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_bounding_box_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_compare_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_free_text_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_line_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_locate_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_named_entity_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_polygon_result.py +106 -0
- rapidata/api_client/models/i_rapid_result_scrub_result.py +98 -0
- rapidata/api_client/models/i_rapid_result_skip_result.py +96 -0
- rapidata/api_client/models/i_rapid_result_transcription_result.py +106 -0
- rapidata/api_client/models/i_referee_config.py +154 -0
- rapidata/api_client/models/i_referee_config_naive_referee_config.py +96 -0
- rapidata/api_client/models/i_referee_config_never_ending_referee_config.py +94 -0
- rapidata/api_client/models/i_referee_config_probabilistic_attach_category_referee_config.py +98 -0
- rapidata/api_client/models/i_referee_info.py +154 -0
- rapidata/api_client/models/i_referee_info_naive_referee_info.py +96 -0
- rapidata/api_client/models/i_referee_info_never_ending_referee_info.py +94 -0
- rapidata/api_client/models/i_referee_info_probabilistic_attach_category_referee_info.py +98 -0
- rapidata/api_client/models/i_referee_model.py +140 -0
- rapidata/api_client/models/i_referee_model_early_stopping_referee_model.py +98 -0
- rapidata/api_client/models/i_referee_model_naive_referee_model.py +96 -0
- rapidata/api_client/models/i_selection.py +240 -0
- rapidata/api_client/models/i_selection_ab_test_selection.py +122 -0
- rapidata/api_client/models/i_selection_capped_selection.py +108 -0
- rapidata/api_client/models/i_selection_conditional_validation_selection.py +110 -0
- rapidata/api_client/models/i_selection_demographic_selection.py +98 -0
- rapidata/api_client/models/i_selection_effort_capped_selection.py +101 -0
- rapidata/api_client/models/i_selection_labeling_selection.py +103 -0
- rapidata/api_client/models/i_selection_shuffling_selection.py +106 -0
- rapidata/api_client/models/i_selection_static_selection.py +96 -0
- rapidata/api_client/models/i_selection_validation_selection.py +98 -0
- rapidata/api_client/models/i_user_filter_model.py +296 -0
- rapidata/api_client/models/i_user_filter_model_age_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_and_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_campaign_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_country_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_custom_user_filter_model.py +98 -0
- rapidata/api_client/models/i_user_filter_model_device_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_gender_user_filter_model.py +104 -0
- rapidata/api_client/models/i_user_filter_model_language_user_filter_model.py +96 -0
- rapidata/api_client/models/i_user_filter_model_new_user_filter_model.py +94 -0
- rapidata/api_client/models/i_user_filter_model_not_user_filter_model.py +102 -0
- rapidata/api_client/models/i_user_filter_model_or_user_filter_model.py +106 -0
- rapidata/api_client/models/i_user_filter_model_response_count_user_filter_model.py +101 -0
- rapidata/api_client/models/i_user_filter_model_user_score_user_filter_model.py +105 -0
- rapidata/api_client/models/i_validation_metadata_input.py +140 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/i_validation_metadata_input_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/i_validation_truth.py +280 -0
- rapidata/api_client/models/i_validation_truth_attach_category_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_bounding_box_truth.py +102 -0
- rapidata/api_client/models/i_validation_truth_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_empty_validation_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_line_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_locate_box_truth.py +108 -0
- rapidata/api_client/models/i_validation_truth_model.py +294 -0
- rapidata/api_client/models/i_validation_truth_model_attach_category_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_bounding_box_truth_model.py +102 -0
- rapidata/api_client/models/i_validation_truth_model_classify_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_empty_validation_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_line_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_locate_box_truth_model.py +108 -0
- rapidata/api_client/models/i_validation_truth_model_multi_compare_truth_model.py +96 -0
- rapidata/api_client/models/i_validation_truth_model_named_entity_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_polygon_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_scrub_truth_model.py +104 -0
- rapidata/api_client/models/i_validation_truth_model_skip_truth_model.py +94 -0
- rapidata/api_client/models/i_validation_truth_model_transcription_truth_model.py +115 -0
- rapidata/api_client/models/i_validation_truth_multi_compare_truth.py +96 -0
- rapidata/api_client/models/i_validation_truth_named_entity_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_polygon_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_scrub_truth.py +104 -0
- rapidata/api_client/models/i_validation_truth_skip_truth.py +94 -0
- rapidata/api_client/models/i_validation_truth_transcription_truth.py +115 -0
- rapidata/api_client/models/i_workflow_config.py +168 -0
- rapidata/api_client/models/i_workflow_config_compare_workflow_config.py +142 -0
- rapidata/api_client/models/i_workflow_config_evaluation_workflow_config.py +114 -0
- rapidata/api_client/models/i_workflow_config_grouped_ranking_workflow_config.py +155 -0
- rapidata/api_client/models/i_workflow_config_simple_workflow_config.py +116 -0
- rapidata/api_client/models/i_workflow_model.py +168 -0
- rapidata/api_client/models/i_workflow_model_compare_workflow_model.py +145 -0
- rapidata/api_client/models/i_workflow_model_evaluation_workflow_model.py +115 -0
- rapidata/api_client/models/i_workflow_model_grouped_ranking_workflow_model.py +121 -0
- rapidata/api_client/models/i_workflow_model_simple_workflow_model.py +119 -0
- rapidata/api_client/models/image_dimension_metadata.py +12 -1
- rapidata/api_client/models/inquire_file_metadata_result.py +100 -0
- rapidata/api_client/models/inspect_report_result.py +2 -2
- rapidata/api_client/models/job_definition_revision_state.py +38 -0
- rapidata/api_client/models/json_web_key.py +2 -36
- rapidata/api_client/models/json_web_key_set.py +2 -22
- rapidata/api_client/models/labeling_selection.py +11 -13
- rapidata/api_client/models/language_filter.py +98 -0
- rapidata/api_client/models/leaderboard_query_result.py +29 -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/location_metadata.py +12 -1
- rapidata/api_client/models/logic_operator.py +2 -2
- rapidata/api_client/models/metadata_i_order_metadata_input.py +154 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_i_order_metadata_input_metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_prompt_asset_metadata_input.py +100 -0
- rapidata/api_client/models/metadata_prompt_metadata_input.py +96 -0
- rapidata/api_client/models/metadata_transcription_metadata_input.py +96 -0
- rapidata/api_client/models/multi_asset.py +6 -6
- rapidata/api_client/models/multi_asset_assets_inner.py +170 -0
- rapidata/api_client/models/multi_asset_input.py +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/new_user_filter.py +96 -0
- rapidata/api_client/models/newsletter_model.py +6 -6
- rapidata/api_client/models/not_available_yet_result.py +4 -13
- rapidata/api_client/models/not_filter.py +117 -0
- rapidata/api_client/models/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/or_filter.py +121 -0
- rapidata/api_client/models/order_model.py +15 -14
- rapidata/api_client/models/order_state.py +2 -2
- rapidata/api_client/models/original_filename_metadata.py +12 -1
- rapidata/api_client/models/page_info.py +2 -7
- rapidata/api_client/models/paged_result_aggregated_orders_model.py +105 -0
- rapidata/api_client/models/paged_result_benchmark_query_result.py +105 -0
- rapidata/api_client/models/paged_result_campaign_query_result.py +105 -0
- rapidata/api_client/models/paged_result_clients_query_result.py +105 -0
- rapidata/api_client/models/paged_result_datapoint_model.py +105 -0
- rapidata/api_client/models/paged_result_get_compare_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_grouped_ranking_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_get_validation_rapids_result.py +105 -0
- rapidata/api_client/models/paged_result_get_workflow_results_result.py +105 -0
- rapidata/api_client/models/paged_result_i_workflow_model.py +105 -0
- rapidata/api_client/models/paged_result_leaderboard_query_result.py +105 -0
- rapidata/api_client/models/paged_result_leaderboards_query_result.py +105 -0
- rapidata/api_client/models/paged_result_of_aggregated_orders_model.py +103 -0
- rapidata/api_client/models/paged_result_of_benchmark_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_campaign_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_clients_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_compare_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_grouped_ranking_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_validation_rapids_result.py +103 -0
- rapidata/api_client/models/paged_result_of_get_workflow_results_result.py +103 -0
- rapidata/api_client/models/paged_result_of_i_workflow_model.py +103 -0
- rapidata/api_client/models/paged_result_of_leaderboards_query_result.py +103 -0
- rapidata/api_client/models/paged_result_of_order_model.py +103 -0
- rapidata/api_client/models/paged_result_of_participant_by_benchmark.py +103 -0
- rapidata/api_client/models/paged_result_of_prompt_by_benchmark_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_audiences_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_datapoints_by_dataset_id_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_definitions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_job_revisions_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_jobs_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_rapids_for_audience_result.py +103 -0
- rapidata/api_client/models/paged_result_of_query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/paged_result_of_rapid_model.py +103 -0
- rapidata/api_client/models/paged_result_of_runs_by_leaderboard_result.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_identifier.py +103 -0
- rapidata/api_client/models/paged_result_of_sample_by_participant.py +103 -0
- rapidata/api_client/models/paged_result_of_standing_by_leaderboard.py +103 -0
- rapidata/api_client/models/paged_result_of_validation_set_model.py +103 -0
- rapidata/api_client/models/paged_result_order_model.py +105 -0
- rapidata/api_client/models/paged_result_participant_by_benchmark.py +105 -0
- rapidata/api_client/models/paged_result_potential_validation_rapid.py +105 -0
- rapidata/api_client/models/paged_result_prompt_by_benchmark_result.py +105 -0
- rapidata/api_client/models/paged_result_query_audiences_result.py +105 -0
- rapidata/api_client/models/paged_result_query_datapoints_by_dataset_id_result.py +105 -0
- rapidata/api_client/models/paged_result_query_validation_rapid_eligibility_result.py +105 -0
- rapidata/api_client/models/paged_result_rapid_model.py +105 -0
- rapidata/api_client/models/paged_result_runs_by_leaderboard_result.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_identifier.py +105 -0
- rapidata/api_client/models/paged_result_sample_by_participant.py +105 -0
- rapidata/api_client/models/paged_result_standing_by_leaderboard.py +105 -0
- rapidata/api_client/models/paged_result_validation_set_model.py +105 -0
- rapidata/api_client/models/participant_by_benchmark.py +6 -14
- 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.py +12 -1
- rapidata/api_client/models/prompt_metadata_input.py +5 -7
- rapidata/api_client/models/prompt_type.py +38 -0
- rapidata/api_client/models/proxy_file_wrapper.py +17 -2
- rapidata/api_client/models/public_order_model.py +2 -2
- rapidata/api_client/models/public_rapid_response.py +112 -0
- rapidata/api_client/models/query_audiences_result.py +118 -0
- rapidata/api_client/models/query_datapoints_by_dataset_id_result.py +95 -0
- rapidata/api_client/models/query_job_definitions_result.py +97 -0
- rapidata/api_client/models/query_job_revisions_result.py +95 -0
- rapidata/api_client/models/query_jobs_result.py +103 -0
- rapidata/api_client/models/query_model.py +10 -5
- rapidata/api_client/models/query_rapids_for_audience_result.py +150 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_model_query_validation_model.py +107 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result.py +103 -0
- rapidata/api_client/models/query_validation_rapid_eligibility_result_truth.py +280 -0
- rapidata/api_client/models/rapid_issue.py +2 -2
- rapidata/api_client/models/rapid_modality.py +46 -0
- rapidata/api_client/models/rapid_model.py +33 -49
- rapidata/api_client/models/rapid_result_model.py +7 -7
- rapidata/api_client/models/rapid_skipped_model.py +5 -5
- rapidata/api_client/models/rapid_state.py +2 -2
- rapidata/api_client/models/read_bridge_token_keys_result.py +10 -24
- rapidata/api_client/models/reference_asset_input.py +100 -0
- rapidata/api_client/models/report_model.py +9 -15
- rapidata/api_client/models/response_count_filter.py +103 -0
- rapidata/api_client/models/response_count_user_filter_model.py +2 -8
- rapidata/api_client/models/retrieval_mode.py +2 -2
- rapidata/api_client/models/root_filter.py +5 -14
- rapidata/api_client/models/run_status.py +2 -2
- rapidata/api_client/models/runs_by_leaderboard_result.py +6 -12
- rapidata/api_client/models/sample_by_identifier.py +125 -0
- rapidata/api_client/models/sample_by_identifier_paged_result.py +105 -0
- rapidata/api_client/models/sample_by_participant.py +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 +15 -5
- rapidata/api_client/models/simple_workflow_config_blueprint.py +37 -23
- rapidata/api_client/models/simple_workflow_config_model.py +11 -3
- rapidata/api_client/models/simple_workflow_model.py +14 -4
- rapidata/api_client/models/simple_workflow_model1.py +4 -11
- rapidata/api_client/models/simple_workflow_model_blueprint.py +1 -1
- rapidata/api_client/models/sort_criterion.py +5 -11
- rapidata/api_client/models/sort_direction.py +2 -2
- rapidata/api_client/models/source_url_metadata.py +12 -1
- rapidata/api_client/models/standing_by_benchmark.py +113 -0
- rapidata/api_client/models/standing_by_leaderboard.py +19 -21
- 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/streams_metadata.py +12 -1
- 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 +18 -2
- rapidata/api_client/models/text_metadata_input.py +111 -0
- rapidata/api_client/models/text_metadata_model.py +7 -2
- rapidata/api_client/models/transcription_metadata.py +9 -1
- rapidata/api_client/models/transcription_metadata_input.py +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 +106 -0
- 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/user_score_filter.py +102 -0
- rapidata/api_client/models/user_state.py +38 -0
- rapidata/api_client/models/user_state_filter.py +101 -0
- rapidata/api_client/models/validation_chance.py +20 -3
- rapidata/api_client/models/validation_problem_details.py +117 -0
- rapidata/api_client/models/validation_set_model.py +39 -5
- rapidata/api_client/models/validation_set_overview_model.py +2 -2
- rapidata/api_client/models/video_duration_metadata.py +12 -1
- rapidata/api_client/models/workflow_aggregation_step_model.py +3 -12
- rapidata/api_client/models/workflow_config_artifact_model_workflow_config.py +23 -9
- rapidata/api_client/models/workflow_state.py +2 -2
- rapidata/api_client/models/zip_entry_file_wrapper.py +33 -2
- rapidata/api_client/rest.py +2 -2
- rapidata/api_client_README.md +384 -318
- rapidata/rapidata_client/__init__.py +17 -22
- rapidata/rapidata_client/api/rapidata_api_client.py +253 -0
- rapidata/rapidata_client/audience/__init__.py +2 -0
- rapidata/rapidata_client/audience/audience_example_handler.py +168 -0
- rapidata/rapidata_client/audience/rapidata_audience.py +287 -0
- rapidata/rapidata_client/audience/rapidata_audience_manager.py +162 -0
- rapidata/rapidata_client/benchmark/_detail_mapper.py +11 -9
- rapidata/rapidata_client/benchmark/leaderboard/rapidata_leaderboard.py +98 -54
- rapidata/rapidata_client/benchmark/participant/_participant.py +90 -46
- rapidata/rapidata_client/benchmark/rapidata_benchmark.py +388 -225
- rapidata/rapidata_client/benchmark/rapidata_benchmark_manager.py +172 -65
- rapidata/rapidata_client/config/__init__.py +4 -0
- rapidata/rapidata_client/config/logger.py +135 -0
- rapidata/rapidata_client/config/logging_config.py +55 -0
- rapidata/rapidata_client/config/managed_print.py +6 -0
- rapidata/rapidata_client/config/order_config.py +14 -0
- rapidata/rapidata_client/config/rapidata_config.py +36 -0
- rapidata/rapidata_client/config/tracer.py +184 -0
- rapidata/rapidata_client/config/upload_config.py +64 -0
- rapidata/rapidata_client/datapoints/__init__.py +8 -3
- rapidata/rapidata_client/datapoints/_asset_uploader.py +184 -0
- rapidata/rapidata_client/datapoints/_datapoint.py +92 -0
- rapidata/rapidata_client/datapoints/_datapoint_uploader.py +47 -0
- rapidata/rapidata_client/datapoints/_datapoints_validator.py +70 -0
- rapidata/rapidata_client/datapoints/assets/__init__.py +0 -10
- rapidata/rapidata_client/datapoints/assets/constants.py +7 -0
- 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 +15 -41
- 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 +51 -20
- rapidata/rapidata_client/filter/user_score_filter.py +62 -24
- rapidata/rapidata_client/job/__init__.py +3 -0
- rapidata/rapidata_client/job/job_definition.py +110 -0
- rapidata/rapidata_client/job/job_manager.py +758 -0
- rapidata/rapidata_client/job/rapidata_job.py +326 -0
- rapidata/rapidata_client/order/__init__.py +2 -0
- rapidata/rapidata_client/order/_rapidata_order_builder.py +273 -122
- rapidata/rapidata_client/order/rapidata_order.py +316 -160
- rapidata/rapidata_client/order/rapidata_order_manager.py +680 -421
- rapidata/rapidata_client/rapidata_client.py +115 -37
- 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/__init__.py +1 -1
- rapidata/rapidata_client/selection/_base_selection.py +9 -2
- rapidata/rapidata_client/selection/ab_test_selection.py +28 -20
- rapidata/rapidata_client/selection/capped_selection.py +23 -16
- rapidata/rapidata_client/selection/conditional_validation_selection.py +43 -24
- rapidata/rapidata_client/selection/demographic_selection.py +21 -6
- rapidata/rapidata_client/selection/effort_selection.py +31 -8
- rapidata/rapidata_client/selection/labeling_selection.py +34 -11
- rapidata/rapidata_client/selection/{retrieval_modes.py → rapidata_retrieval_modes.py} +7 -4
- rapidata/rapidata_client/selection/rapidata_selections.py +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 +96 -18
- rapidata/rapidata_client/validation/rapids/__init__.py +2 -0
- rapidata/rapidata_client/validation/rapids/_validation_rapid_uploader.py +48 -0
- rapidata/rapidata_client/validation/rapids/box.py +37 -12
- rapidata/rapidata_client/validation/rapids/rapids.py +29 -83
- rapidata/rapidata_client/validation/rapids/rapids_manager.py +369 -211
- rapidata/rapidata_client/validation/validation_set_manager.py +505 -276
- rapidata/rapidata_client/workflow/__init__.py +2 -2
- rapidata/rapidata_client/workflow/_base_workflow.py +25 -7
- rapidata/rapidata_client/workflow/_classify_workflow.py +58 -15
- rapidata/rapidata_client/workflow/_compare_workflow.py +44 -9
- rapidata/rapidata_client/workflow/_draw_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_evaluation_workflow.py +28 -7
- rapidata/rapidata_client/workflow/_free_text_workflow.py +46 -9
- rapidata/rapidata_client/workflow/_locate_workflow.py +40 -10
- rapidata/rapidata_client/workflow/_multi_ranking_workflow.py +90 -0
- rapidata/rapidata_client/workflow/_select_words_workflow.py +51 -11
- rapidata/rapidata_client/workflow/_timestamp_workflow.py +42 -11
- rapidata/service/__init__.py +0 -1
- rapidata/service/credential_manager.py +14 -14
- rapidata/service/openapi_service.py +119 -34
- 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.35.1.dist-info → rapidata-3.0.0a8.dist-info}/WHEEL +1 -1
- rapidata/rapidata_client/api/rapidata_exception.py +0 -107
- 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 -306
- rapidata/rapidata_client/datapoints/assets/_multi_asset.py +0 -61
- rapidata/rapidata_client/datapoints/assets/_sessions.py +0 -35
- 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/datapoint.py +0 -108
- 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 -396
- rapidata/rapidata_client/workflow/_ranking_workflow.py +0 -47
- rapidata/service/local_file_service.py +0 -25
- rapidata-2.35.1.dist-info/METADATA +0 -35
- rapidata-2.35.1.dist-info/RECORD +0 -657
- {rapidata-2.35.1.dist-info → rapidata-3.0.0a8.dist-info/licenses}/LICENSE +0 -0
|
@@ -1,33 +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
|
-
|
|
19
|
-
|
|
20
|
-
from rapidata.rapidata_client.benchmark.participant._participant import (
|
|
21
|
-
BenchmarkParticipant,
|
|
22
|
-
)
|
|
23
|
-
from rapidata.rapidata_client.logging import logger
|
|
24
|
-
from rapidata.service.openapi_service import OpenAPIService
|
|
25
|
-
|
|
26
|
-
from rapidata.rapidata_client.benchmark.leaderboard.rapidata_leaderboard import (
|
|
27
|
-
RapidataLeaderboard,
|
|
28
|
-
)
|
|
29
|
-
from rapidata.rapidata_client.datapoints.assets import MediaAsset
|
|
30
|
-
from rapidata.rapidata_client.benchmark._detail_mapper import DetailMapper
|
|
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
|
|
31
17
|
|
|
32
18
|
|
|
33
19
|
class RapidataBenchmark:
|
|
@@ -43,54 +29,67 @@ class RapidataBenchmark:
|
|
|
43
29
|
"""
|
|
44
30
|
|
|
45
31
|
def __init__(self, name: str, id: str, openapi_service: OpenAPIService):
|
|
32
|
+
from rapidata.rapidata_client.datapoints._asset_uploader import AssetUploader
|
|
33
|
+
|
|
46
34
|
self.name = name
|
|
47
35
|
self.id = id
|
|
48
|
-
self.
|
|
36
|
+
self._openapi_service = openapi_service
|
|
49
37
|
self.__prompts: list[str | None] = []
|
|
50
38
|
self.__prompt_assets: list[str | None] = []
|
|
51
|
-
self.__leaderboards: list[RapidataLeaderboard] = []
|
|
39
|
+
self.__leaderboards: list["RapidataLeaderboard"] = []
|
|
52
40
|
self.__identifiers: list[str] = []
|
|
53
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)
|
|
54
46
|
|
|
55
47
|
def __instantiate_prompts(self) -> None:
|
|
56
|
-
|
|
57
|
-
|
|
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
|
+
)
|
|
58
55
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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(
|
|
62
62
|
benchmark_id=self.id,
|
|
63
63
|
request=QueryModel(page=PageInfo(index=current_page, size=100)),
|
|
64
64
|
)
|
|
65
|
-
)
|
|
66
65
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
if prompts_result.total_pages is None:
|
|
67
|
+
raise ValueError(
|
|
68
|
+
"An error occurred while fetching prompts: total_pages is None"
|
|
69
|
+
)
|
|
71
70
|
|
|
72
|
-
|
|
71
|
+
total_pages = prompts_result.total_pages
|
|
73
72
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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)
|
|
88
87
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
88
|
+
self.__tags.append(prompt.tags)
|
|
89
|
+
if current_page >= total_pages:
|
|
90
|
+
break
|
|
92
91
|
|
|
93
|
-
|
|
92
|
+
current_page += 1
|
|
94
93
|
|
|
95
94
|
@property
|
|
96
95
|
def identifiers(self) -> list[str]:
|
|
@@ -134,122 +133,157 @@ class RapidataBenchmark:
|
|
|
134
133
|
"""
|
|
135
134
|
Returns the leaderboards that are registered for the benchmark.
|
|
136
135
|
"""
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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
|
+
)
|
|
140
141
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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,
|
|
144
150
|
request=QueryModel(
|
|
145
|
-
filter=RootFilter(
|
|
146
|
-
filters=[
|
|
147
|
-
Filter(
|
|
148
|
-
field="BenchmarkId",
|
|
149
|
-
operator="Eq",
|
|
150
|
-
value=self.id,
|
|
151
|
-
)
|
|
152
|
-
]
|
|
153
|
-
),
|
|
154
151
|
page=PageInfo(index=current_page, size=100),
|
|
155
|
-
)
|
|
152
|
+
),
|
|
156
153
|
)
|
|
157
|
-
)
|
|
158
154
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
)
|
|
163
|
-
|
|
164
|
-
total_pages = leaderboards_result.total_pages
|
|
165
|
-
|
|
166
|
-
self.__leaderboards.extend(
|
|
167
|
-
[
|
|
168
|
-
RapidataLeaderboard(
|
|
169
|
-
leaderboard.name,
|
|
170
|
-
leaderboard.instruction,
|
|
171
|
-
leaderboard.show_prompt,
|
|
172
|
-
leaderboard.show_prompt_asset,
|
|
173
|
-
leaderboard.is_inversed,
|
|
174
|
-
leaderboard.response_budget,
|
|
175
|
-
leaderboard.min_responses,
|
|
176
|
-
leaderboard.id,
|
|
177
|
-
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"
|
|
178
158
|
)
|
|
179
|
-
for leaderboard in leaderboards_result.items
|
|
180
|
-
]
|
|
181
|
-
)
|
|
182
159
|
|
|
183
|
-
|
|
184
|
-
|
|
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
|
+
)
|
|
185
179
|
|
|
186
|
-
|
|
180
|
+
if current_page >= total_pages:
|
|
181
|
+
break
|
|
182
|
+
|
|
183
|
+
current_page += 1
|
|
187
184
|
|
|
188
|
-
|
|
185
|
+
return self.__leaderboards
|
|
189
186
|
|
|
190
187
|
def add_prompt(
|
|
191
188
|
self,
|
|
192
|
-
identifier: str,
|
|
189
|
+
identifier: str | None = None,
|
|
193
190
|
prompt: str | None = None,
|
|
194
|
-
|
|
191
|
+
prompt_asset: str | None = None,
|
|
195
192
|
tags: Optional[list[str]] = None,
|
|
196
193
|
):
|
|
197
194
|
"""
|
|
198
195
|
Adds a prompt to the benchmark.
|
|
199
196
|
|
|
200
197
|
Args:
|
|
201
|
-
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.
|
|
202
199
|
prompt: The prompt that will be used to evaluate the model.
|
|
203
|
-
|
|
200
|
+
prompt_asset: The prompt asset that will be used to evaluate the model. Provided as a link to the asset.
|
|
204
201
|
tags: The tags can be used to filter the leaderboard results. They will NOT be shown to the users.
|
|
205
202
|
"""
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
raise ValueError("Identifier must be a string.")
|
|
211
|
-
|
|
212
|
-
if prompt is None and asset is None:
|
|
213
|
-
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
|
+
)
|
|
214
207
|
|
|
215
|
-
|
|
216
|
-
raise ValueError("Prompt must be a string.")
|
|
208
|
+
from rapidata.api_client.models.i_asset_input import IAssetInput
|
|
217
209
|
|
|
218
|
-
|
|
219
|
-
|
|
210
|
+
with tracer.start_as_current_span("RapidataBenchmark.add_prompt"):
|
|
211
|
+
if tags is None:
|
|
212
|
+
tags = []
|
|
220
213
|
|
|
221
|
-
|
|
222
|
-
|
|
214
|
+
if prompt is None and prompt_asset is None:
|
|
215
|
+
raise ValueError("Prompt or prompt asset must be provided.")
|
|
223
216
|
|
|
224
|
-
|
|
225
|
-
|
|
217
|
+
if identifier is None and prompt is None:
|
|
218
|
+
raise ValueError("Identifier or prompt must be provided.")
|
|
226
219
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
):
|
|
230
|
-
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.")
|
|
231
222
|
|
|
232
|
-
|
|
223
|
+
if prompt and not isinstance(prompt, str):
|
|
224
|
+
raise ValueError("Prompt must be a string.")
|
|
233
225
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
+
)
|
|
237
230
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
promptAsset=(
|
|
244
|
-
SubmitPromptModelPromptAsset(
|
|
245
|
-
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."
|
|
246
236
|
)
|
|
247
|
-
|
|
248
|
-
|
|
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,
|
|
249
285
|
),
|
|
250
|
-
|
|
251
|
-
),
|
|
252
|
-
)
|
|
286
|
+
)
|
|
253
287
|
|
|
254
288
|
def create_leaderboard(
|
|
255
289
|
self,
|
|
@@ -258,8 +292,11 @@ class RapidataBenchmark:
|
|
|
258
292
|
show_prompt: bool = False,
|
|
259
293
|
show_prompt_asset: bool = False,
|
|
260
294
|
inverse_ranking: bool = False,
|
|
261
|
-
level_of_detail:
|
|
262
|
-
min_responses_per_matchup: int =
|
|
295
|
+
level_of_detail: LevelOfDetail | None = None,
|
|
296
|
+
min_responses_per_matchup: int | None = None,
|
|
297
|
+
validation_set_id: str | None = None,
|
|
298
|
+
filters: Sequence["RapidataFilter"] | None = None,
|
|
299
|
+
settings: Sequence["RapidataSetting"] | None = None,
|
|
263
300
|
) -> RapidataLeaderboard:
|
|
264
301
|
"""
|
|
265
302
|
Creates a new leaderboard for the benchmark.
|
|
@@ -272,113 +309,239 @@ class RapidataBenchmark:
|
|
|
272
309
|
inverse_ranking: Whether to inverse the ranking of the leaderboard. (if the question is inversed, e.g. "Which video is worse?")
|
|
273
310
|
level_of_detail: The level of detail of the leaderboard. This will effect how many comparisons are done per model evaluation. (default: "low")
|
|
274
311
|
min_responses_per_matchup: The minimum number of responses required to be considered for the leaderboard. (default: 3)
|
|
312
|
+
validation_set_id: The id of the validation set that should be attached to the leaderboard. (default: None)
|
|
313
|
+
filters: The filters that should be applied to the leaderboard. Will determine who can solve answer in the leaderboard. (default: [])
|
|
314
|
+
settings: The settings that should be applied to the leaderboard. Will determine the behavior of the tasks on the leaderboard. (default: [])
|
|
275
315
|
"""
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
if min_responses_per_matchup < 3:
|
|
280
|
-
raise ValueError("Min responses per matchup must be at least 3")
|
|
281
|
-
|
|
282
|
-
leaderboard_result = self.__openapi_service.leaderboard_api.leaderboard_post(
|
|
283
|
-
create_leaderboard_model=CreateLeaderboardModel(
|
|
284
|
-
benchmarkId=self.id,
|
|
285
|
-
name=name,
|
|
286
|
-
instruction=instruction,
|
|
287
|
-
showPrompt=show_prompt,
|
|
288
|
-
showPromptAsset=show_prompt_asset,
|
|
289
|
-
isInversed=inverse_ranking,
|
|
290
|
-
minResponses=min_responses_per_matchup,
|
|
291
|
-
responseBudget=DetailMapper.get_budget(level_of_detail),
|
|
292
|
-
)
|
|
316
|
+
from rapidata.api_client.models.create_leaderboard_model import (
|
|
317
|
+
CreateLeaderboardModel,
|
|
293
318
|
)
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
), "The leaderboard was not created for the correct benchmark."
|
|
298
|
-
|
|
299
|
-
return RapidataLeaderboard(
|
|
300
|
-
name,
|
|
301
|
-
instruction,
|
|
302
|
-
show_prompt,
|
|
303
|
-
show_prompt_asset,
|
|
304
|
-
inverse_ranking,
|
|
305
|
-
leaderboard_result.response_budget,
|
|
306
|
-
min_responses_per_matchup,
|
|
307
|
-
leaderboard_result.id,
|
|
308
|
-
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,
|
|
309
322
|
)
|
|
310
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
|
+
|
|
311
400
|
def evaluate_model(
|
|
312
|
-
self,
|
|
401
|
+
self,
|
|
402
|
+
name: str,
|
|
403
|
+
media: list[str],
|
|
404
|
+
identifiers: list[str] | None = None,
|
|
405
|
+
prompts: list[str] | None = None,
|
|
313
406
|
) -> None:
|
|
314
407
|
"""
|
|
315
408
|
Evaluates a model on the benchmark across all leaderboards.
|
|
316
409
|
|
|
410
|
+
prompts or identifiers must be provided to match the media.
|
|
411
|
+
|
|
317
412
|
Args:
|
|
318
413
|
name: The name of the model.
|
|
319
414
|
media: The generated images/videos that will be used to evaluate the model.
|
|
320
|
-
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
|
|
321
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.
|
|
322
418
|
"""
|
|
323
|
-
|
|
324
|
-
|
|
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")
|
|
325
429
|
|
|
326
|
-
|
|
327
|
-
|
|
430
|
+
if not identifiers and not prompts:
|
|
431
|
+
raise ValueError("Identifiers or prompts must be provided.")
|
|
328
432
|
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
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
|
+
),
|
|
333
457
|
)
|
|
334
458
|
|
|
335
|
-
|
|
336
|
-
assets: list[MediaAsset] = []
|
|
337
|
-
for media_path in media:
|
|
338
|
-
assets.append(MediaAsset(media_path))
|
|
459
|
+
logger.info(f"Participant created: {participant_result.participant_id}")
|
|
339
460
|
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
name=name,
|
|
344
|
-
),
|
|
345
|
-
)
|
|
461
|
+
participant = BenchmarkParticipant(
|
|
462
|
+
name, participant_result.participant_id, self._openapi_service
|
|
463
|
+
)
|
|
346
464
|
|
|
347
|
-
|
|
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
|
+
)
|
|
348
469
|
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
470
|
+
successful_uploads, failed_uploads = participant.upload_media(
|
|
471
|
+
media,
|
|
472
|
+
identifiers,
|
|
473
|
+
)
|
|
352
474
|
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
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
|
+
)
|
|
357
484
|
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
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
|
+
)
|
|
490
|
+
|
|
491
|
+
if len(successful_uploads) == 0:
|
|
492
|
+
raise RuntimeError(
|
|
493
|
+
"No uploads were successful. The model evaluation will not be completed."
|
|
494
|
+
)
|
|
365
495
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
496
|
+
self._openapi_service.participant_api.participants_participant_id_submit_post(
|
|
497
|
+
participant_id=participant_result.participant_id
|
|
498
|
+
)
|
|
499
|
+
|
|
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="%/:=&?~#+!$,;'@()*[]"
|
|
369
510
|
)
|
|
370
|
-
|
|
371
|
-
|
|
511
|
+
managed_print(
|
|
512
|
+
Fore.RED
|
|
513
|
+
+ f"Please open this URL in your browser: '{encoded_url}'"
|
|
514
|
+
+ Fore.RESET
|
|
372
515
|
)
|
|
373
516
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
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,
|
|
377
527
|
)
|
|
378
528
|
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
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)
|
|
382
545
|
|
|
383
546
|
def __str__(self) -> str:
|
|
384
547
|
return f"RapidataBenchmark(name={self.name}, id={self.id})"
|