abacusai.api_class.model ======================== .. py:module:: abacusai.api_class.model Classes ------- .. autoapisummary:: abacusai.api_class.model.TrainingConfig abacusai.api_class.model.PersonalizationTrainingConfig abacusai.api_class.model.RegressionTrainingConfig abacusai.api_class.model.ForecastingTrainingConfig abacusai.api_class.model.NamedEntityExtractionTrainingConfig abacusai.api_class.model.NaturalLanguageSearchTrainingConfig abacusai.api_class.model.ChatLLMTrainingConfig abacusai.api_class.model.SentenceBoundaryDetectionTrainingConfig abacusai.api_class.model.SentimentDetectionTrainingConfig abacusai.api_class.model.DocumentClassificationTrainingConfig abacusai.api_class.model.DocumentSummarizationTrainingConfig abacusai.api_class.model.DocumentVisualizationTrainingConfig abacusai.api_class.model.ClusteringTrainingConfig abacusai.api_class.model.ClusteringTimeseriesTrainingConfig abacusai.api_class.model.EventAnomalyTrainingConfig abacusai.api_class.model.TimeseriesAnomalyTrainingConfig abacusai.api_class.model.CumulativeForecastingTrainingConfig abacusai.api_class.model.ThemeAnalysisTrainingConfig abacusai.api_class.model.AIAgentTrainingConfig abacusai.api_class.model.CustomTrainedModelTrainingConfig abacusai.api_class.model.CustomAlgorithmTrainingConfig abacusai.api_class.model.OptimizationTrainingConfig abacusai.api_class.model._TrainingConfigFactory abacusai.api_class.model.DeployableAlgorithm Module Contents --------------- .. py:class:: TrainingConfig Bases: :py:obj:`abacusai.api_class.abstract.ApiClass` An abstract class for the training config options used to train the model. .. py:attribute:: _upper_snake_case_keys :type: bool :value: True .. py:attribute:: _support_kwargs :type: bool :value: True .. py:attribute:: kwargs :type: dict .. py:attribute:: problem_type :type: abacusai.api_class.enums.ProblemType :value: None .. py:attribute:: algorithm :type: str :value: None .. py:method:: _get_builder() :classmethod: .. py:class:: PersonalizationTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the PERSONALIZATION problem type :param objective: Ranking scheme used to select final best model. :type objective: PersonalizationObjective :param sort_objective: Ranking scheme used to sort models on the metrics page. :type sort_objective: PersonalizationObjective :param training_mode: whether to train in production or experimental mode. Defaults to EXP. :type training_mode: PersonalizationTrainingMode :param target_action_types: List of action types to use as targets for training. :type target_action_types: List[str] :param target_action_weights: Dictionary of action types to weights for training. :type target_action_weights: Dict[str, float] :param session_event_types: List of event types to treat as occurrences of sessions. :type session_event_types: List[str] :param test_split: Percent of dataset to use for test data. We support using a range between 6% to 20% of your dataset to use as test data. :type test_split: int :param recent_days_for_training: Limit training data to a certain latest number of days. :type recent_days_for_training: int :param training_start_date: Only consider training interaction data after this date. Specified in the timezone of the dataset. :type training_start_date: str :param test_on_user_split: Use user splits instead of using time splits, when validating and testing the model. :type test_on_user_split: bool :param test_split_on_last_k_items: Use last k items instead of global timestamp splits, when validating and testing the model. :type test_split_on_last_k_items: bool :param test_last_items_length: Number of items to leave out for each user when using leave k out folds. :type test_last_items_length: int :param test_window_length_hours: Duration (in hours) of most recent time window to use when validating and testing the model. :type test_window_length_hours: int :param explicit_time_split: Sets an explicit time-based test boundary. :type explicit_time_split: bool :param test_row_indicator: Column indicating which rows to use for training (TRAIN), validation (VAL) and testing (TEST). :type test_row_indicator: str :param full_data_retraining: Train models separately with all the data. :type full_data_retraining: bool :param sequential_training: Train a mode sequentially through time. :type sequential_training: bool :param data_split_feature_group_table_name: Specify the table name of the feature group to export training data with the fold column. :type data_split_feature_group_table_name: str :param optimized_event_type: The final event type to optimize for and compute metrics on. :type optimized_event_type: str :param dropout_rate: Dropout rate for neural network. :type dropout_rate: int :param batch_size: Batch size for neural network. :type batch_size: BatchSize :param disable_transformer: Disable training the transformer algorithm. :type disable_transformer: bool :param disable_gpu: Disable training on GPU. :type disable_gpu: boo :param filter_history: Do not recommend items the user has already interacted with. :type filter_history: bool :param action_types_exclusion_days: Mapping from action type to number of days for which we exclude previously interacted items from prediction :type action_types_exclusion_days: Dict[str, float] :param session_dedupe_mins: Minimum number of minutes between two sessions for a user. :type session_dedupe_mins: float :param max_history_length: Maximum length of user-item history to include user in training examples. :type max_history_length: int :param compute_rerank_metrics: Compute metrics based on rerank results. :type compute_rerank_metrics: bool :param add_time_features: Include interaction time as a feature. :type add_time_features: bool :param disable_timestamp_scalar_features: Exclude timestamp scalar features. :type disable_timestamp_scalar_features: bool :param compute_session_metrics: Evaluate models based on how well they are able to predict the next session of interactions. :type compute_session_metrics: bool :param max_user_history_len_percentile: Filter out users with history length above this percentile. :type max_user_history_len_percentile: int :param downsample_item_popularity_percentile: Downsample items more popular than this percentile. :type downsample_item_popularity_percentile: float :param use_user_id_feature: Use user id as a feature in CTR models. :type use_user_id_feature: bool :param min_item_history: Minimum number of interactions an item must have to be included in training. :type min_item_history: int :param query_column: Name of column in the interactions table that represents a natural language query, e.g. 'blue t-shirt'. :type query_column: str :param item_query_column: Name of column in the item catalog that will be matched to the query column in the interactions table. :type item_query_column: str :param include_item_id_feature: Add Item-Id to the input features of the model. Applicable for Embedding distance and CTR models. :type include_item_id_feature: bool .. py:attribute:: objective :type: abacusai.api_class.enums.PersonalizationObjective :value: None .. py:attribute:: sort_objective :type: abacusai.api_class.enums.PersonalizationObjective :value: None .. py:attribute:: training_mode :type: abacusai.api_class.enums.PersonalizationTrainingMode :value: None .. py:attribute:: target_action_types :type: List[str] :value: None .. py:attribute:: target_action_weights :type: Dict[str, float] :value: None .. py:attribute:: session_event_types :type: List[str] :value: None .. py:attribute:: test_split :type: int :value: None .. py:attribute:: recent_days_for_training :type: int :value: None .. py:attribute:: training_start_date :type: str :value: None .. py:attribute:: test_on_user_split :type: bool :value: None .. py:attribute:: test_split_on_last_k_items :type: bool :value: None .. py:attribute:: test_last_items_length :type: int :value: None .. py:attribute:: test_window_length_hours :type: int :value: None .. py:attribute:: explicit_time_split :type: bool :value: None .. py:attribute:: test_row_indicator :type: str :value: None .. py:attribute:: full_data_retraining :type: bool :value: None .. py:attribute:: sequential_training :type: bool :value: None .. py:attribute:: data_split_feature_group_table_name :type: str :value: None .. py:attribute:: optimized_event_type :type: str :value: None .. py:attribute:: dropout_rate :type: int :value: None .. py:attribute:: batch_size :type: abacusai.api_class.enums.BatchSize :value: None .. py:attribute:: disable_transformer :type: bool :value: None .. py:attribute:: disable_gpu :type: bool :value: None .. py:attribute:: filter_history :type: bool :value: None .. py:attribute:: action_types_exclusion_days :type: Dict[str, float] :value: None .. py:attribute:: max_history_length :type: int :value: None .. py:attribute:: compute_rerank_metrics :type: bool :value: None .. py:attribute:: add_time_features :type: bool :value: None .. py:attribute:: disable_timestamp_scalar_features :type: bool :value: None .. py:attribute:: compute_session_metrics :type: bool :value: None .. py:attribute:: query_column :type: str :value: None .. py:attribute:: item_query_column :type: str :value: None .. py:attribute:: use_user_id_feature :type: bool :value: None .. py:attribute:: session_dedupe_mins :type: float :value: None .. py:attribute:: include_item_id_feature :type: bool :value: None .. py:attribute:: max_user_history_len_percentile :type: int :value: None .. py:attribute:: downsample_item_popularity_percentile :type: float :value: None .. py:attribute:: min_item_history :type: int :value: None .. py:method:: __post_init__() .. py:class:: RegressionTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the PREDICTIVE_MODELING problem type :param objective: Ranking scheme used to select final best model. :type objective: RegressionObjective :param sort_objective: Ranking scheme used to sort models on the metrics page. :type sort_objective: RegressionObjective :param tree_hpo_mode: (RegressionTreeHPOMode): Turning off Rapid Experimentation will take longer to train. :param type_of_split: Type of data splitting into train/test (validation also). :type type_of_split: RegressionTypeOfSplit :param test_split: Percent of dataset to use for test data. We support using a range between 5% to 20% of your dataset to use as test data. :type test_split: int :param disable_test_val_fold: Do not create a TEST_VAL set. All records which would be part of the TEST_VAL fold otherwise, remain in the TEST fold. :type disable_test_val_fold: bool :param k_fold_cross_validation: Use this to force k-fold cross validation bagging on or off. :type k_fold_cross_validation: bool :param num_cv_folds: Specify the value of k in k-fold cross validation. :type num_cv_folds: int :param timestamp_based_splitting_column: Timestamp column selected for splitting into test and train. :type timestamp_based_splitting_column: str :param timestamp_based_splitting_method: Method of selecting TEST set, top percentile wise or after a given timestamp. :type timestamp_based_splitting_method: RegressionTimeSplitMethod :param test_splitting_timestamp: Rows with timestamp greater than this will be considered to be in the test set. :type test_splitting_timestamp: str :param sampling_unit_keys: Constrain train/test separation to partition a column. :type sampling_unit_keys: List[str] :param test_row_indicator: Column indicating which rows to use for training (TRAIN) and testing (TEST). Validation (VAL) can also be specified. :type test_row_indicator: str :param full_data_retraining: Train models separately with all the data. :type full_data_retraining: bool :param rebalance_classes: Class weights are computed as the inverse of the class frequency from the training dataset when this option is selected as "Yes". It is useful when the classes in the dataset are unbalanced. Re-balancing classes generally boosts recall at the cost of precision on rare classes. :type rebalance_classes: bool :param rare_class_augmentation_threshold: Augments any rare class whose relative frequency with respect to the most frequent class is less than this threshold. Default = 0.1 for classification problems with rare classes. :type rare_class_augmentation_threshold: float :param augmentation_strategy: Strategy to deal with class imbalance and data augmentation. :type augmentation_strategy: RegressionAugmentationStrategy :param training_rows_downsample_ratio: Uses this ratio to train on a sample of the dataset provided. :type training_rows_downsample_ratio: float :param active_labels_column: Specify a column to use as the active columns in a multi label setting. :type active_labels_column: str :param min_categorical_count: Minimum threshold to consider a value different from the unknown placeholder. :type min_categorical_count: int :param sample_weight: Specify a column to use as the weight of a sample for training and eval. :type sample_weight: str :param numeric_clipping_percentile: Uses this option to clip the top and bottom x percentile of numeric feature columns where x is the value of this option. :type numeric_clipping_percentile: float :param target_transform: Specify a transform (e.g. log, quantile) to apply to the target variable. :type target_transform: RegressionTargetTransform :param ignore_datetime_features: Remove all datetime features from the model. Useful while generalizing to different time periods. :type ignore_datetime_features: bool :param max_text_words: Maximum number of words to use from text fields. :type max_text_words: int :param perform_feature_selection: If enabled, additional algorithms which support feature selection as a pretraining step will be trained separately with the selected subset of features. The details about their selected features can be found in their respective logs. :type perform_feature_selection: bool :param feature_selection_intensity: This determines the strictness with which features will be filtered out. 1 being very lenient (more features kept), 100 being very strict. :type feature_selection_intensity: int :param batch_size: Batch size. :type batch_size: BatchSize :param dropout_rate: Dropout percentage rate. :type dropout_rate: int :param pretrained_model_name: Enable algorithms which process text using pretrained multilingual NLP models. :type pretrained_model_name: str :param pretrained_llm_name: Enable algorithms which process text using pretrained large language models. :type pretrained_llm_name: str :param is_multilingual: Enable algorithms which process text using pretrained multilingual NLP models. :type is_multilingual: bool :param loss_function: Loss function to be used as objective for model training. :type loss_function: RegressionLossFunction :param loss_parameters: Loss function params in format =;=;..... :type loss_parameters: str :param target_encode_categoricals: Use this to turn target encoding on categorical features on or off. :type target_encode_categoricals: bool :param drop_original_categoricals: This option helps us choose whether to also feed the original label encoded categorical columns to the mdoels along with their target encoded versions. :type drop_original_categoricals: bool :param monotonically_increasing_features: Constrain the model such that it behaves as if the target feature is monotonically increasing with the selected features :type monotonically_increasing_features: List[str] :param monotonically_decreasing_features: Constrain the model such that it behaves as if the target feature is monotonically decreasing with the selected features :type monotonically_decreasing_features: List[str] :param data_split_feature_group_table_name: Specify the table name of the feature group to export training data with the fold column. :type data_split_feature_group_table_name: str :param custom_loss_functions: Registered custom losses available for selection. :type custom_loss_functions: List[str] :param custom_metrics: Registered custom metrics available for selection. :type custom_metrics: List[str] :param partial_dependence_analysis: Specify whether to run partial dependence plots for all features or only some features. :type partial_dependence_analysis: PartialDependenceAnalysis :param do_masked_language_model_pretraining: Specify whether to run a masked language model unsupervised pretraining step before supervized training in certain supported algorithms which use BERT-like backbones. :type do_masked_language_model_pretraining: bool :param max_tokens_in_sentence: Specify the max tokens to be kept in a sentence based on the truncation strategy. :type max_tokens_in_sentence: int :param truncation_strategy: What strategy to use to deal with text rows with more than a given number of tokens (if num of tokens is more than "max_tokens_in_sentence"). :type truncation_strategy: str .. py:attribute:: objective :type: abacusai.api_class.enums.RegressionObjective :value: None .. py:attribute:: sort_objective :type: abacusai.api_class.enums.RegressionObjective :value: None .. py:attribute:: tree_hpo_mode :type: abacusai.api_class.enums.RegressionTreeHPOMode :value: None .. py:attribute:: partial_dependence_analysis :type: abacusai.api_class.enums.PartialDependenceAnalysis :value: None .. py:attribute:: type_of_split :type: abacusai.api_class.enums.RegressionTypeOfSplit :value: None .. py:attribute:: test_split :type: int :value: None .. py:attribute:: disable_test_val_fold :type: bool :value: None .. py:attribute:: k_fold_cross_validation :type: bool :value: None .. py:attribute:: num_cv_folds :type: int :value: None .. py:attribute:: timestamp_based_splitting_column :type: str :value: None .. py:attribute:: timestamp_based_splitting_method :type: abacusai.api_class.enums.RegressionTimeSplitMethod :value: None .. py:attribute:: test_splitting_timestamp :type: str :value: None .. py:attribute:: sampling_unit_keys :type: List[str] :value: None .. py:attribute:: test_row_indicator :type: str :value: None .. py:attribute:: full_data_retraining :type: bool :value: None .. py:attribute:: rebalance_classes :type: bool :value: None .. py:attribute:: rare_class_augmentation_threshold :type: float :value: None .. py:attribute:: augmentation_strategy :type: abacusai.api_class.enums.RegressionAugmentationStrategy :value: None .. py:attribute:: training_rows_downsample_ratio :type: float :value: None .. py:attribute:: active_labels_column :type: str :value: None .. py:attribute:: min_categorical_count :type: int :value: None .. py:attribute:: sample_weight :type: str :value: None .. py:attribute:: numeric_clipping_percentile :type: float :value: None .. py:attribute:: target_transform :type: abacusai.api_class.enums.RegressionTargetTransform :value: None .. py:attribute:: ignore_datetime_features :type: bool :value: None .. py:attribute:: max_text_words :type: int :value: None .. py:attribute:: perform_feature_selection :type: bool :value: None .. py:attribute:: feature_selection_intensity :type: int :value: None .. py:attribute:: batch_size :type: abacusai.api_class.enums.BatchSize :value: None .. py:attribute:: dropout_rate :type: int :value: None .. py:attribute:: pretrained_model_name :type: str :value: None .. py:attribute:: pretrained_llm_name :type: str :value: None .. py:attribute:: is_multilingual :type: bool :value: None .. py:attribute:: do_masked_language_model_pretraining :type: bool :value: None .. py:attribute:: max_tokens_in_sentence :type: int :value: None .. py:attribute:: truncation_strategy :type: str :value: None .. py:attribute:: loss_function :type: abacusai.api_class.enums.RegressionLossFunction :value: None .. py:attribute:: loss_parameters :type: str :value: None .. py:attribute:: target_encode_categoricals :type: bool :value: None .. py:attribute:: drop_original_categoricals :type: bool :value: None .. py:attribute:: monotonically_increasing_features :type: List[str] :value: None .. py:attribute:: monotonically_decreasing_features :type: List[str] :value: None .. py:attribute:: data_split_feature_group_table_name :type: str :value: None .. py:attribute:: custom_loss_functions :type: List[str] :value: None .. py:attribute:: custom_metrics :type: List[str] :value: None .. py:method:: __post_init__() .. py:class:: ForecastingTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the FORECASTING problem type :param prediction_length: How many timesteps in the future to predict. :type prediction_length: int :param objective: Ranking scheme used to select final best model. :type objective: ForecastingObjective :param sort_objective: Ranking scheme used to sort models on the metrics page. :type sort_objective: ForecastingObjective :param forecast_frequency: Forecast frequency. :type forecast_frequency: ForecastingFrequency :param probability_quantiles: Prediction quantiles. :type probability_quantiles: List[float] :param force_prediction_length: Force length of test window to be the same as prediction length. :type force_prediction_length: int :param filter_items: Filter items with small history and volume. :type filter_items: bool :param enable_feature_selection: Enable feature selection. :type enable_feature_selection: bool :param enable_padding: Pad series to the max_date of the dataset :type enable_padding: bool :param enable_cold_start: Enable cold start forecasting by training/predicting for zero history items. :type enable_cold_start: bool :param enable_multiple_backtests: Whether to enable multiple backtesting or not. :type enable_multiple_backtests: bool :param num_backtesting_windows: Total backtesting windows to use for the training. :type num_backtesting_windows: int :param backtesting_window_step_size: Use this step size to shift backtesting windows for model training. :type backtesting_window_step_size: int :param full_data_retraining: Train models separately with all the data. :type full_data_retraining: bool :param additional_forecast_keys: List[str]: List of categoricals in timeseries that can act as multi-identifier. :param experimentation_mode: Selecting Thorough Experimentation will take longer to train. :type experimentation_mode: ExperimentationMode :param type_of_split: Type of data splitting into train/test. :type type_of_split: ForecastingDataSplitType :param test_by_item: Partition train/test data by item rather than time if true. :type test_by_item: bool :param test_start: Limit training data to dates before the given test start. :type test_start: str :param test_split: Percent of dataset to use for test data. We support using a range between 5% to 20% of your dataset to use as test data. :type test_split: int :param loss_function: Loss function for training neural network. :type loss_function: ForecastingLossFunction :param underprediction_weight: Weight for underpredictions :type underprediction_weight: float :param disable_networks_without_analytic_quantiles: Disable neural networks, which quantile functions do not have analytic expressions (e.g, mixture models) :type disable_networks_without_analytic_quantiles: bool :param initial_learning_rate: Initial learning rate. :type initial_learning_rate: float :param l2_regularization_factor: L2 regularization factor. :type l2_regularization_factor: float :param dropout_rate: Dropout percentage rate. :type dropout_rate: int :param recurrent_layers: Number of recurrent layers to stack in network. :type recurrent_layers: int :param recurrent_units: Number of units in each recurrent layer. :type recurrent_units: int :param convolutional_layers: Number of convolutional layers to stack on top of recurrent layers in network. :type convolutional_layers: int :param convolution_filters: Number of filters in each convolution. :type convolution_filters: int :param local_scaling_mode: Options to make NN inputs stationary in high dynamic range datasets. :type local_scaling_mode: ForecastingLocalScaling :param zero_predictor: Include subnetwork to classify points where target equals zero. :type zero_predictor: bool :param skip_missing: Make the RNN ignore missing entries rather instead of processing them. :type skip_missing: bool :param batch_size: Batch size. :type batch_size: ForecastingBatchSize :param batch_renormalization: Enable batch renormalization between layers. :type batch_renormalization: bool :param history_length: While training, how much history to consider. :type history_length: int :param prediction_step_size: Number of future periods to include in objective for each training sample. :type prediction_step_size: int :param training_point_overlap: Amount of overlap to allow between training samples. :type training_point_overlap: float :param max_scale_context: Maximum context to use for local scaling. :type max_scale_context: int :param quantiles_extension_method: Quantile extension method :type quantiles_extension_method: ForecastingQuanitlesExtensionMethod :param number_of_samples: Number of samples for ancestral simulation :type number_of_samples: int :param symmetrize_quantiles: Force symmetric quantiles (like in Gaussian distribution) :type symmetrize_quantiles: bool :param use_log_transforms: Apply logarithmic transformations to input data. :type use_log_transforms: bool :param smooth_history: Smooth (low pass filter) the timeseries. :type smooth_history: float :param local_scale_target: Using per training/prediction window target scaling. :type local_scale_target: bool :param use_clipping: Apply clipping to input data to stabilize the training. :type use_clipping: bool :param timeseries_weight_column: If set, we use the values in this column from timeseries data to assign time dependent item weights during training and evaluation. :type timeseries_weight_column: str :param item_attributes_weight_column: If set, we use the values in this column from item attributes data to assign weights to items during training and evaluation. :type item_attributes_weight_column: str :param use_timeseries_weights_in_objective: If True, we include weights from column set as "TIMESERIES WEIGHT COLUMN" in objective functions. :type use_timeseries_weights_in_objective: bool :param use_item_weights_in_objective: If True, we include weights from column set as "ITEM ATTRIBUTES WEIGHT COLUMN" in objective functions. :type use_item_weights_in_objective: bool :param skip_timeseries_weight_scaling: If True, we will avoid normalizing the weights. :type skip_timeseries_weight_scaling: bool :param timeseries_loss_weight_column: Use value in this column to weight the loss while training. :type timeseries_loss_weight_column: str :param use_item_id: Include a feature to indicate the item being forecast. :type use_item_id: bool :param use_all_item_totals: Include as input total target across items. :type use_all_item_totals: bool :param handle_zeros_as_missing_values: If True, handle zero values in demand as missing data. :type handle_zeros_as_missing_values: bool :param datetime_holiday_calendars: Holiday calendars to augment training with. :type datetime_holiday_calendars: List[HolidayCalendars] :param fill_missing_values: Strategy for filling in missing values. :type fill_missing_values: List[List[dict]] :param enable_clustering: Enable clustering in forecasting. :type enable_clustering: bool :param data_split_feature_group_table_name: Specify the table name of the feature group to export training data with the fold column. :type data_split_feature_group_table_name: str :param custom_loss_functions: Registered custom losses available for selection. :type custom_loss_functions: List[str] :param custom_metrics: Registered custom metrics available for selection. :type custom_metrics: List[str] :param return_fractional_forecasts: Use this to return fractional forecast values while prediction :param allow_training_with_small_history: Allows training with fewer than 100 rows in the dataset .. py:attribute:: prediction_length :type: int :value: None .. py:attribute:: objective :type: abacusai.api_class.enums.ForecastingObjective :value: None .. py:attribute:: sort_objective :type: abacusai.api_class.enums.ForecastingObjective :value: None .. py:attribute:: forecast_frequency :type: abacusai.api_class.enums.ForecastingFrequency :value: None .. py:attribute:: probability_quantiles :type: List[float] :value: None .. py:attribute:: force_prediction_length :type: bool :value: None .. py:attribute:: filter_items :type: bool :value: None .. py:attribute:: enable_feature_selection :type: bool :value: None .. py:attribute:: enable_padding :type: bool :value: None .. py:attribute:: enable_cold_start :type: bool :value: None .. py:attribute:: enable_multiple_backtests :type: bool :value: None .. py:attribute:: num_backtesting_windows :type: int :value: None .. py:attribute:: backtesting_window_step_size :type: int :value: None .. py:attribute:: full_data_retraining :type: bool :value: None .. py:attribute:: additional_forecast_keys :type: List[str] :value: None .. py:attribute:: experimentation_mode :type: abacusai.api_class.enums.ExperimentationMode :value: None .. py:attribute:: type_of_split :type: abacusai.api_class.enums.ForecastingDataSplitType :value: None .. py:attribute:: test_by_item :type: bool :value: None .. py:attribute:: test_start :type: str :value: None .. py:attribute:: test_split :type: int :value: None .. py:attribute:: loss_function :type: abacusai.api_class.enums.ForecastingLossFunction :value: None .. py:attribute:: underprediction_weight :type: float :value: None .. py:attribute:: disable_networks_without_analytic_quantiles :type: bool :value: None .. py:attribute:: initial_learning_rate :type: float :value: None .. py:attribute:: l2_regularization_factor :type: float :value: None .. py:attribute:: dropout_rate :type: int :value: None .. py:attribute:: recurrent_layers :type: int :value: None .. py:attribute:: recurrent_units :type: int :value: None .. py:attribute:: convolutional_layers :type: int :value: None .. py:attribute:: convolution_filters :type: int :value: None .. py:attribute:: local_scaling_mode :type: abacusai.api_class.enums.ForecastingLocalScaling :value: None .. py:attribute:: zero_predictor :type: bool :value: None .. py:attribute:: skip_missing :type: bool :value: None .. py:attribute:: batch_size :type: abacusai.api_class.enums.BatchSize :value: None .. py:attribute:: batch_renormalization :type: bool :value: None .. py:attribute:: history_length :type: int :value: None .. py:attribute:: prediction_step_size :type: int :value: None .. py:attribute:: training_point_overlap :type: float :value: None .. py:attribute:: max_scale_context :type: int :value: None .. py:attribute:: quantiles_extension_method :type: abacusai.api_class.enums.ForecastingQuanitlesExtensionMethod :value: None .. py:attribute:: number_of_samples :type: int :value: None .. py:attribute:: symmetrize_quantiles :type: bool :value: None .. py:attribute:: use_log_transforms :type: bool :value: None .. py:attribute:: smooth_history :type: float :value: None .. py:attribute:: local_scale_target :type: bool :value: None .. py:attribute:: use_clipping :type: bool :value: None .. py:attribute:: timeseries_weight_column :type: str :value: None .. py:attribute:: item_attributes_weight_column :type: str :value: None .. py:attribute:: use_timeseries_weights_in_objective :type: bool :value: None .. py:attribute:: use_item_weights_in_objective :type: bool :value: None .. py:attribute:: skip_timeseries_weight_scaling :type: bool :value: None .. py:attribute:: timeseries_loss_weight_column :type: str :value: None .. py:attribute:: use_item_id :type: bool :value: None .. py:attribute:: use_all_item_totals :type: bool :value: None .. py:attribute:: handle_zeros_as_missing_values :type: bool :value: None .. py:attribute:: datetime_holiday_calendars :type: List[abacusai.api_class.enums.HolidayCalendars] :value: None .. py:attribute:: fill_missing_values :type: List[List[dict]] :value: None .. py:attribute:: enable_clustering :type: bool :value: None .. py:attribute:: data_split_feature_group_table_name :type: str :value: None .. py:attribute:: custom_loss_functions :type: List[str] :value: None .. py:attribute:: custom_metrics :type: List[str] :value: None .. py:attribute:: return_fractional_forecasts :type: bool :value: None .. py:attribute:: allow_training_with_small_history :type: bool :value: None .. py:method:: __post_init__() .. py:class:: NamedEntityExtractionTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the NAMED_ENTITY_EXTRACTION problem type :param llm_for_ner: LLM to use for NER from among available LLM :type llm_for_ner: NERForLLM :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int :param test_row_indicator: Column indicating which rows to use for training (TRAIN) and testing (TEST). :type test_row_indicator: str :param active_labels_column: Entities that have been marked in a particular text :type active_labels_column: str :param document_format: Format of the input documents. :type document_format: NLPDocumentFormat :param minimum_bounding_box_overlap_ratio: Tokens are considered to belong to annotation if the user bounding box is provided and ratio of (token_bounding_box ∩ annotation_bounding_box) / token_bounding_area is greater than the provided value. :type minimum_bounding_box_overlap_ratio: float :param save_predicted_pdf: Whether to save predicted PDF documents :type save_predicted_pdf: bool :param enhanced_ocr: Enhanced text extraction from predicted digital documents :type enhanced_ocr: bool :param additional_extraction_instructions: Additional instructions to guide the LLM in extracting the entities. Only used with LLM algorithms. :type additional_extraction_instructions: str .. py:attribute:: llm_for_ner :type: abacusai.api_class.enums.LLMName :value: None .. py:attribute:: test_split :type: int :value: None .. py:attribute:: test_row_indicator :type: str :value: None .. py:attribute:: active_labels_column :type: str :value: None .. py:attribute:: document_format :type: abacusai.api_class.enums.NLPDocumentFormat :value: None .. py:attribute:: minimum_bounding_box_overlap_ratio :type: float :value: 0.0 .. py:attribute:: save_predicted_pdf :type: bool :value: True .. py:attribute:: enhanced_ocr :type: bool :value: False .. py:attribute:: additional_extraction_instructions :type: str :value: None .. py:method:: __post_init__() .. py:class:: NaturalLanguageSearchTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the NATURAL_LANGUAGE_SEARCH problem type :param abacus_internal_model: Use a Abacus.AI LLM to answer questions about your data without using any external APIs :type abacus_internal_model: bool :param num_completion_tokens: Default for maximum number of tokens for chat answers. Reducing this will get faster responses which are more succinct :type num_completion_tokens: int :param larger_embeddings: Use a higher dimension embedding model. :type larger_embeddings: bool :param search_chunk_size: Chunk size for indexing the documents. :type search_chunk_size: int :param chunk_overlap_fraction: Overlap in chunks while indexing the documents. :type chunk_overlap_fraction: float :param index_fraction: Fraction of the chunk to use for indexing. :type index_fraction: float .. py:attribute:: abacus_internal_model :type: bool :value: None .. py:attribute:: num_completion_tokens :type: int :value: None .. py:attribute:: larger_embeddings :type: bool :value: None .. py:attribute:: search_chunk_size :type: int :value: None .. py:attribute:: index_fraction :type: float :value: None .. py:attribute:: chunk_overlap_fraction :type: float :value: None .. py:method:: __post_init__() .. py:class:: ChatLLMTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the CHAT_LLM problem type :param document_retrievers: List of names or IDs of document retrievers to use as vector stores of information for RAG responses. :type document_retrievers: List[str] :param num_completion_tokens: Default for maximum number of tokens for chat answers. Reducing this will get faster responses which are more succinct. :type num_completion_tokens: int :param temperature: The generative LLM temperature. :type temperature: float :param retrieval_columns: Include the metadata column values in the retrieved search results. :type retrieval_columns: list :param filter_columns: Allow users to filter the document retrievers on these metadata columns. :type filter_columns: list :param include_general_knowledge: Allow the LLM to rely not just on RAG search results, but to fall back on general knowledge. Disabled by default. :type include_general_knowledge: bool :param enable_web_search: Allow the LLM to use Web Search Engines to retrieve information for better results. :type enable_web_search: bool :param behavior_instructions: Customize the overall behaviour of the model. This controls things like - when to execute code (if enabled), write sql query, search web (if enabled), etc. :type behavior_instructions: str :param response_instructions: Customized instructions for how the model should respond inlcuding the format, persona and tone of the answers. :type response_instructions: str :param enable_llm_rewrite: If enabled, an LLM will rewrite the RAG queries sent to document retriever. Disabled by default. :type enable_llm_rewrite: bool :param column_filtering_instructions: Instructions for a LLM call to automatically generate filter expressions on document metadata to retrieve relevant documents for the conversation. :type column_filtering_instructions: str :param keyword_requirement_instructions: Instructions for a LLM call to automatically generate keyword requirements to retrieve relevant documents for the conversation. :type keyword_requirement_instructions: str :param query_rewrite_instructions: Special instructions for the LLM which rewrites the RAG query. :type query_rewrite_instructions: str :param max_search_results: Maximum number of search results in the retrieval augmentation step. If we know that the questions are likely to have snippets which are easily matched in the documents, then a lower number will help with accuracy. :type max_search_results: int :param data_feature_group_ids: (List[str]): List of feature group IDs to use to possibly query for the ChatLLM. The created ChatLLM is commonly referred to as DataLLM. :param data_prompt_context: Prompt context for the data feature group IDs. :type data_prompt_context: str :param data_prompt_table_context: Dict of table name and table context pairs to provide table wise context for each structured data table. :type data_prompt_table_context: Dict[str, str] :param data_prompt_column_context: Dict of 'table_name.column_name' and 'column_context' pairs to provide column context for some selected columns in the selected structured data table. This replaces the default auto-generated information about the column data. :type data_prompt_column_context: Dict[str, str] :param hide_sql_and_code: When running data queries, this will hide the generated SQL and Code in the response. :type hide_sql_and_code: bool :param disable_data_summarization: After executing a query summarize the reponse and reply back with only the table and query run. :type disable_data_summarization: bool :param data_columns_to_ignore: Columns to ignore while encoding information about structured data tables in context for the LLM. A list of strings of format "." :type data_columns_to_ignore: List[str] :param search_score_cutoff: Minimum search score to consider a document as a valid search result. :type search_score_cutoff: float :param include_bm25_retrieval: Combine BM25 search score with vector search using reciprocal rank fusion. :type include_bm25_retrieval: bool :param database_connector_id: Database connector ID to use for connecting external database that gives access to structured data to the LLM. :type database_connector_id: str :param database_connector_tables: List of tables to use from the database connector for the ChatLLM. :type database_connector_tables: List[str] :param enable_code_execution: Enable python code execution in the ChatLLM. This equips the LLM with a python kernel in which all its code is executed. :type enable_code_execution: bool :param enable_response_caching: Enable caching of LLM responses to speed up response times and improve reproducibility. :type enable_response_caching: bool :param unknown_answer_phrase: Fallback response when the LLM can't find an answer. :type unknown_answer_phrase: str :param enable_tool_bar: Enable the tool bar in Enterprise ChatLLM to provide additional functionalities like tool_use, web_search, image_gen, etc. :type enable_tool_bar: bool :param enable_inline_source_citations: Enable inline citations of the sources in the response. :type enable_inline_source_citations: bool :param response_format: (str): When set to 'JSON', the LLM will generate a JSON formatted string. :param json_response_instructions: Instructions to be followed while generating the json_response if `response_format` is set to "JSON". This can include the schema information if the schema is dynamic and its keys cannot be pre-determined. :type json_response_instructions: str :param json_response_schema: Specifies the JSON schema that the model should adhere to if `response_format` is set to "JSON". This should be a json-formatted string where each field of the expected schema is mapped to a dictionary containing the fields 'type', 'required' and 'description'. For example - '{"sample_field": {"type": "integer", "required": true, "description": "Sample Field"}}' :type json_response_schema: str :param mask_pii: Mask PII in the prompts and uploaded documents before sending it to the LLM. :type mask_pii: bool :param custom_tools: List of custom tool names to be used in the chat. :type custom_tools: List[str] .. py:attribute:: document_retrievers :type: List[str] :value: None .. py:attribute:: num_completion_tokens :type: int :value: None .. py:attribute:: temperature :type: float :value: None .. py:attribute:: retrieval_columns :type: list :value: None .. py:attribute:: filter_columns :type: list :value: None .. py:attribute:: include_general_knowledge :type: bool :value: None .. py:attribute:: enable_web_search :type: bool :value: None .. py:attribute:: behavior_instructions :type: str :value: None .. py:attribute:: response_instructions :type: str :value: None .. py:attribute:: enable_llm_rewrite :type: bool :value: None .. py:attribute:: column_filtering_instructions :type: str :value: None .. py:attribute:: keyword_requirement_instructions :type: str :value: None .. py:attribute:: query_rewrite_instructions :type: str :value: None .. py:attribute:: max_search_results :type: int :value: None .. py:attribute:: data_feature_group_ids :type: List[str] :value: None .. py:attribute:: data_prompt_context :type: str :value: None .. py:attribute:: data_prompt_table_context :type: Dict[str, str] :value: None .. py:attribute:: data_prompt_column_context :type: Dict[str, str] :value: None .. py:attribute:: hide_sql_and_code :type: bool :value: None .. py:attribute:: disable_data_summarization :type: bool :value: None .. py:attribute:: data_columns_to_ignore :type: List[str] :value: None .. py:attribute:: search_score_cutoff :type: float :value: None .. py:attribute:: include_bm25_retrieval :type: bool :value: None .. py:attribute:: database_connector_id :type: str :value: None .. py:attribute:: database_connector_tables :type: List[str] :value: None .. py:attribute:: enable_code_execution :type: bool :value: None .. py:attribute:: metadata_columns :type: list :value: None .. py:attribute:: lookup_rewrite_instructions :type: str :value: None .. py:attribute:: enable_response_caching :type: bool :value: None .. py:attribute:: unknown_answer_phrase :type: str :value: None .. py:attribute:: enable_tool_bar :type: bool :value: None .. py:attribute:: enable_inline_source_citations :type: bool :value: None .. py:attribute:: response_format :type: str :value: None .. py:attribute:: json_response_instructions :type: str :value: None .. py:attribute:: json_response_schema :type: str :value: None .. py:attribute:: mask_pii :type: bool :value: None .. py:attribute:: custom_tools :type: List[str] :value: None .. py:method:: __post_init__() .. py:class:: SentenceBoundaryDetectionTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the SENTENCE_BOUNDARY_DETECTION problem type :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int :param dropout_rate: Dropout rate for neural network. :type dropout_rate: float :param batch_size: Batch size for neural network. :type batch_size: BatchSize .. py:attribute:: test_split :type: int :value: None .. py:attribute:: dropout_rate :type: float :value: None .. py:attribute:: batch_size :type: abacusai.api_class.enums.BatchSize :value: None .. py:method:: __post_init__() .. py:class:: SentimentDetectionTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the SENTIMENT_DETECTION problem type :param sentiment_type: Type of sentiment to detect. :type sentiment_type: SentimentType :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int .. py:attribute:: sentiment_type :type: abacusai.api_class.enums.SentimentType :value: None .. py:attribute:: test_split :type: int :value: None .. py:method:: __post_init__() .. py:class:: DocumentClassificationTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the DOCUMENT_CLASSIFICATION problem type :param zero_shot_hypotheses: Zero shot hypotheses. Example text: 'This text is about pricing'. :type zero_shot_hypotheses: List[str] :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int .. py:attribute:: zero_shot_hypotheses :type: List[str] :value: None .. py:attribute:: test_split :type: int :value: None .. py:method:: __post_init__() .. py:class:: DocumentSummarizationTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the DOCUMENT_SUMMARIZATION problem type :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int :param dropout_rate: Dropout rate for neural network. :type dropout_rate: float :param batch_size: Batch size for neural network. :type batch_size: BatchSize .. py:attribute:: test_split :type: int :value: None .. py:attribute:: dropout_rate :type: float :value: None .. py:attribute:: batch_size :type: abacusai.api_class.enums.BatchSize :value: None .. py:method:: __post_init__() .. py:class:: DocumentVisualizationTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the DOCUMENT_VISUALIZATION problem type :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int :param dropout_rate: Dropout rate for neural network. :type dropout_rate: float :param batch_size: Batch size for neural network. :type batch_size: BatchSize .. py:attribute:: test_split :type: int :value: None .. py:attribute:: dropout_rate :type: float :value: None .. py:attribute:: batch_size :type: abacusai.api_class.enums.BatchSize :value: None .. py:method:: __post_init__() .. py:class:: ClusteringTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the CLUSTERING problem type :param num_clusters_selection: Number of clusters. If None, will be selected automatically. :type num_clusters_selection: int .. py:attribute:: num_clusters_selection :type: int :value: None .. py:method:: __post_init__() .. py:class:: ClusteringTimeseriesTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the CLUSTERING_TIMESERIES problem type :param num_clusters_selection: Number of clusters. If None, will be selected automatically. :type num_clusters_selection: int :param imputation: Imputation method for missing values. :type imputation: ClusteringImputationMethod .. py:attribute:: num_clusters_selection :type: int :value: None .. py:attribute:: imputation :type: abacusai.api_class.enums.ClusteringImputationMethod :value: None .. py:method:: __post_init__() .. py:class:: EventAnomalyTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the EVENT_ANOMALY problem type :param anomaly_fraction: The fraction of the dataset to classify as anomalous, between 0 and 0.5 :type anomaly_fraction: float .. py:attribute:: anomaly_fraction :type: float :value: None .. py:method:: __post_init__() .. py:class:: TimeseriesAnomalyTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the TS_ANOMALY problem type :param type_of_split: Type of data splitting into train/test. :type type_of_split: TimeseriesAnomalyDataSplitType :param test_start: Limit training data to dates before the given test start. :type test_start: str :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int :param fill_missing_values: strategies to fill missing values and missing timestamps :type fill_missing_values: List[List[dict]] :param handle_zeros_as_missing_values: If True, handle zero values in numeric columns as missing data :type handle_zeros_as_missing_values: bool :param timeseries_frequency: set this to control frequency of filling missing values :type timeseries_frequency: str :param min_samples_in_normal_region: Adjust this to fine-tune the number of anomalies to be identified. :type min_samples_in_normal_region: int :param anomaly_type: select what kind of peaks to detect as anomalies :type anomaly_type: TimeseriesAnomalyTypeOfAnomaly :param hyperparameter_calculation_with_heuristics: Enable heuristic calculation to get hyperparameters for the model :type hyperparameter_calculation_with_heuristics: TimeseriesAnomalyUseHeuristic :param threshold_score: Threshold score for anomaly detection :type threshold_score: float :param additional_anomaly_ids: List of categorical columns that can act as multi-identifier :type additional_anomaly_ids: List[str] .. py:attribute:: type_of_split :type: abacusai.api_class.enums.TimeseriesAnomalyDataSplitType :value: None .. py:attribute:: test_start :type: str :value: None .. py:attribute:: test_split :type: int :value: None .. py:attribute:: fill_missing_values :type: List[List[dict]] :value: None .. py:attribute:: handle_zeros_as_missing_values :type: bool :value: None .. py:attribute:: timeseries_frequency :type: str :value: None .. py:attribute:: min_samples_in_normal_region :type: int :value: None .. py:attribute:: anomaly_type :type: abacusai.api_class.enums.TimeseriesAnomalyTypeOfAnomaly :value: None .. py:attribute:: hyperparameter_calculation_with_heuristics :type: abacusai.api_class.enums.TimeseriesAnomalyUseHeuristic :value: None .. py:attribute:: threshold_score :type: float :value: None .. py:attribute:: additional_anomaly_ids :type: List[str] :value: None .. py:method:: __post_init__() .. py:class:: CumulativeForecastingTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the CUMULATIVE_FORECASTING problem type :param test_split: Percent of dataset to use for test data. We support using a range between 5 ( i.e. 5% ) to 20 ( i.e. 20% ) of your dataset. :type test_split: int :param historical_frequency: Forecast frequency :type historical_frequency: str :param cumulative_prediction_lengths: List of Cumulative Prediction Frequencies. Each prediction length must be between 1 and 365. :type cumulative_prediction_lengths: List[int] :param skip_input_transform: Avoid doing numeric scaling transformations on the input. :type skip_input_transform: bool :param skip_target_transform: Avoid doing numeric scaling transformations on the target. :type skip_target_transform: bool :param predict_residuals: Predict residuals instead of totals at each prediction step. :type predict_residuals: bool .. py:attribute:: test_split :type: int :value: None .. py:attribute:: historical_frequency :type: str :value: None .. py:attribute:: cumulative_prediction_lengths :type: List[int] :value: None .. py:attribute:: skip_input_transform :type: bool :value: None .. py:attribute:: skip_target_transform :type: bool :value: None .. py:attribute:: predict_residuals :type: bool :value: None .. py:method:: __post_init__() .. py:class:: ThemeAnalysisTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the THEME ANALYSIS problem type .. py:method:: __post_init__() .. py:class:: AIAgentTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the AI_AGENT problem type :param description: Description of the agent function. :type description: str :param agent_interface: The interface that the agent will be deployed with. :type agent_interface: AgentInterface :param agent_connectors: (List[enums.ApplicationConnectorType]): The connectors needed for the agent to function. .. py:attribute:: description :type: str :value: None .. py:attribute:: agent_interface :type: abacusai.api_class.enums.AgentInterface :value: None .. py:attribute:: agent_connectors :type: List[abacusai.api_class.enums.ApplicationConnectorType] :value: None .. py:attribute:: enable_binary_input :type: bool :value: None .. py:attribute:: agent_input_schema :type: dict :value: None .. py:attribute:: agent_output_schema :type: dict :value: None .. py:method:: __post_init__() .. py:class:: CustomTrainedModelTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the CUSTOM_TRAINED_MODEL problem type :param max_catalog_size: Maximum expected catalog size. :type max_catalog_size: int :param max_dimension: Maximum expected dimension of the catalog. :type max_dimension: int :param index_output_path: Fully qualified cloud location (GCS, S3, etc) to export snapshots of the embedding to. :type index_output_path: str :param docker_image_uri: Docker image URI. :type docker_image_uri: str :param service_port: Service port. :type service_port: int :param streaming_embeddings: Flag to enable streaming embeddings. :type streaming_embeddings: bool .. py:attribute:: max_catalog_size :type: int :value: None .. py:attribute:: max_dimension :type: int :value: None .. py:attribute:: index_output_path :type: str :value: None .. py:attribute:: docker_image_uri :type: str :value: None .. py:attribute:: service_port :type: int :value: None .. py:attribute:: streaming_embeddings :type: bool :value: None .. py:method:: __post_init__() .. py:class:: CustomAlgorithmTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the CUSTOM_ALGORITHM problem type :param timeout_minutes: Timeout for the model training in minutes. :type timeout_minutes: int .. py:attribute:: timeout_minutes :type: int :value: None .. py:method:: __post_init__() .. py:class:: OptimizationTrainingConfig Bases: :py:obj:`TrainingConfig` Training config for the OPTIMIZATION problem type :param solve_time_limit: The maximum time in seconds to spend solving the problem. Accepts values between 0 and 86400. :type solve_time_limit: float :param optimality_gap_limit: The stopping optimality gap limit. Optimality gap is fractional difference between the best known solution and the best possible solution. Accepts values between 0 and 1. :type optimality_gap_limit: float :param include_all_partitions: Include all partitions in the model training. Default is False. :type include_all_partitions: bool :param include_specific_partitions: Include specific partitions in partitioned model training. Default is empty list. :type include_specific_partitions: List[str] .. py:attribute:: solve_time_limit :type: float :value: None .. py:attribute:: optimality_gap_limit :type: float :value: None .. py:attribute:: include_all_partitions :type: bool :value: None .. py:attribute:: include_specific_partitions :type: List[str] :value: None .. py:method:: __post_init__() .. py:class:: _TrainingConfigFactory Bases: :py:obj:`abacusai.api_class.abstract._ApiClassFactory` Helper class that provides a standard way to create an ABC using inheritance. .. py:attribute:: config_abstract_class .. py:attribute:: config_class_key :value: 'problem_type' .. py:attribute:: config_class_map .. py:class:: DeployableAlgorithm Bases: :py:obj:`abacusai.api_class.abstract.ApiClass` Algorithm that can be deployed to a model. :param algorithm: ID of the algorithm. :type algorithm: str :param name: Name of the algorithm. :type name: str :param only_offline_deployable: Whether the algorithm can only be deployed offline. :type only_offline_deployable: bool :param trained_model_types: List of trained model types. :type trained_model_types: List[dict] .. py:attribute:: algorithm :type: str :value: None .. py:attribute:: name :type: str :value: None .. py:attribute:: only_offline_deployable :type: bool :value: None .. py:attribute:: trained_model_types :type: List[dict] :value: None