abacusai.api_class — AbacusAI documentation

# abacusai.api_class

## Submodules

- abacusai.api_class.abstract
- abacusai.api_class.ai_agents
- abacusai.api_class.ai_chat
- abacusai.api_class.batch_prediction
- abacusai.api_class.blob_input
- abacusai.api_class.connectors
- abacusai.api_class.dataset
- abacusai.api_class.dataset_application_connector
- abacusai.api_class.deployment
- abacusai.api_class.document_retriever
- abacusai.api_class.enums
- abacusai.api_class.feature_group
- abacusai.api_class.model
- abacusai.api_class.monitor
- abacusai.api_class.monitor_alert
- abacusai.api_class.project
- abacusai.api_class.python_functions
- abacusai.api_class.refresh
- abacusai.api_class.segments

## Attributes

`DocumentRetrieverConfig` |
`Segment` |

## Classes

`ApiClass` | Helper class that provides a standard way to create an ABC using
`FieldDescriptor` | Configs for vector store indexing.
`JSONSchema` |
`WorkflowNodeInputMapping` | Represents a mapping of inputs to a workflow node.
`WorkflowNodeInputSchema` | A schema conformant to react-jsonschema-form for workflow node input.
`WorkflowNodeOutputMapping` | Represents a mapping of output from a workflow node.
`WorkflowNodeOutputSchema` | A schema conformant to react-jsonschema-form for a workflow node output.
`TriggerConfig` | Represents the configuration for a trigger workflow node.
`WorkflowGraphNode` | Represents a node in an Agent workflow graph.
`DecisionNode` | Represents a decision node in an Agent workflow graph. It is connected between two workflow nodes and is used to determine if subsequent nodes should be executed.
`WorkflowGraphEdge` | Represents an edge in an Agent workflow graph.
`WorkflowGraph` | Represents an Agent workflow graph.
`AgentConversationMessage` | Message format for agent conversation
`WorkflowNodeTemplateConfig` | Represents a WorkflowNode template config.
`WorkflowNodeTemplateInput` | Represents an input to the workflow node generated using template.
`WorkflowNodeTemplateOutput` | Represents an output returned by the workflow node generated using template.
`ApiClass` | Helper class that provides a standard way to create an ABC using
`HotkeyPrompt` | A config class for a Data Science Co-Pilot Hotkey
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`BatchPredictionArgs` | An abstract class for Batch Prediction args specific to problem type.
`ForecastingBatchPredictionArgs` | Batch Prediction Config for the FORECASTING problem type
`NamedEntityExtractionBatchPredictionArgs` | Batch Prediction Config for the NAMED_ENTITY_EXTRACTION problem type
`PersonalizationBatchPredictionArgs` | Batch Prediction Config for the PERSONALIZATION problem type
`PredictiveModelingBatchPredictionArgs` | Batch Prediction Config for the PREDICTIVE_MODELING problem type
`PretrainedModelsBatchPredictionArgs` | Batch Prediction Config for the PRETRAINED_MODELS problem type
`SentenceBoundaryDetectionBatchPredictionArgs` | Batch Prediction Config for the SENTENCE_BOUNDARY_DETECTION problem type
`ThemeAnalysisBatchPredictionArgs` | Batch Prediction Config for the THEME_ANALYSIS problem type
`ChatLLMBatchPredictionArgs` | Batch Prediction Config for the ChatLLM problem type
`TrainablePlugAndPlayBatchPredictionArgs` | Batch Prediction Config for the TrainablePlugAndPlay problem type
`AIAgentBatchPredictionArgs` | Batch Prediction Config for the AIAgents problem type
`_BatchPredictionArgsFactory` |
`ApiClass` | Helper class that provides a standard way to create an ABC using
`Blob` | An object for storing and passing file data.
`BlobInput` | An object for storing and passing file data.
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`DatasetConfig` | An abstract class for dataset configs
`StreamingConnectorDatasetConfig` | An abstract class for dataset configs specific to streaming connectors.
`KafkaDatasetConfig` | Dataset config for Kafka Streaming Connector
`_StreamingConnectorDatasetConfigFactory` |
`ApiClass` | Helper class that provides a standard way to create an ABC using
`DocumentType` | Generic enumeration.
`OcrMode` | Generic enumeration.
`DatasetConfig` | An abstract class for dataset configs
`ParsingConfig` | Custom config for dataset parsing.
`DocumentProcessingConfig` | Document processing configuration.
`DatasetDocumentProcessingConfig` | Document processing configuration for dataset imports.
`IncrementalDatabaseConnectorConfig` | Config information for incremental datasets from database connectors
`AttachmentParsingConfig` | Config information for parsing attachments
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`DatasetConfig` | An abstract class for dataset configs
`DatasetDocumentProcessingConfig` | Document processing configuration for dataset imports.
`ApplicationConnectorDatasetConfig` | An abstract class for dataset configs specific to application connectors.
`ConfluenceDatasetConfig` | Dataset config for Confluence Application Connector
`BoxDatasetConfig` | Dataset config for Box Application Connector
`GoogleAnalyticsDatasetConfig` | Dataset config for Google Analytics Application Connector
`GoogleDriveDatasetConfig` | Dataset config for Google Drive Application Connector
`JiraDatasetConfig` | Dataset config for Jira Application Connector
`OneDriveDatasetConfig` | Dataset config for OneDrive Application Connector
`SharepointDatasetConfig` | Dataset config for Sharepoint Application Connector
`ZendeskDatasetConfig` | Dataset config for Zendesk Application Connector
`AbacusUsageMetricsDatasetConfig` | Dataset config for Abacus Usage Metrics Application Connector
`TeamsScraperDatasetConfig` | Dataset config for Teams Scraper Application Connector
`FreshserviceDatasetConfig` | Dataset config for Freshservice Application Connector
`SftpDatasetConfig` | Dataset config for SFTP Application Connector
`_ApplicationConnectorDatasetConfigFactory` |
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`PredictionArguments` | An abstract class for prediction arguments specific to problem type.
`OptimizationPredictionArguments` | Prediction arguments for the OPTIMIZATION problem type
`TimeseriesAnomalyPredictionArguments` | Prediction arguments for the TS_ANOMALY problem type
`ChatLLMPredictionArguments` | Prediction arguments for the CHAT_LLM problem type
`RegressionPredictionArguments` | Prediction arguments for the PREDICTIVE_MODELING problem type
`ForecastingPredictionArguments` | Prediction arguments for the FORECASTING problem type
`CumulativeForecastingPredictionArguments` | Prediction arguments for the CUMULATIVE_FORECASTING problem type
`NaturalLanguageSearchPredictionArguments` | Prediction arguments for the NATURAL_LANGUAGE_SEARCH problem type
`FeatureStorePredictionArguments` | Prediction arguments for the FEATURE_STORE problem type
`_PredictionArgumentsFactory` |
`ApiClass` | Helper class that provides a standard way to create an ABC using
`VectorStoreTextEncoder` | Generic enumeration.
`VectorStoreConfig` | Config for indexing options of a document retriever. Default values of optional arguments are heuristically selected by the Abacus.AI platform based on the underlying data.
`ApiEnum` | Generic enumeration.
`ProblemType` | Generic enumeration.
`RegressionObjective` | Generic enumeration.
`RegressionTreeHPOMode` | Generic enumeration.
`PartialDependenceAnalysis` | Generic enumeration.
`RegressionAugmentationStrategy` | Generic enumeration.
`RegressionTargetTransform` | Generic enumeration.
`RegressionTypeOfSplit` | Generic enumeration.
`RegressionTimeSplitMethod` | Generic enumeration.
`RegressionLossFunction` | Generic enumeration.
`ExplainerType` | Generic enumeration.
`SamplingMethodType` | Generic enumeration.
`MergeMode` | Generic enumeration.
`OperatorType` | Generic enumeration.
`MarkdownOperatorInputType` | Generic enumeration.
`FillLogic` | Generic enumeration.
`BatchSize` | Generic enumeration.
`HolidayCalendars` | Generic enumeration.
`FileFormat` | Generic enumeration.
`ExperimentationMode` | Generic enumeration.
`PersonalizationTrainingMode` | Generic enumeration.
`PersonalizationObjective` | Generic enumeration.
`ForecastingObjective` | Generic enumeration.
`ForecastingFrequency` | Generic enumeration.
`ForecastingDataSplitType` | Generic enumeration.
`ForecastingLossFunction` | Generic enumeration.
`ForecastingLocalScaling` | Generic enumeration.
`ForecastingFillMethod` | Generic enumeration.
`ForecastingQuanitlesExtensionMethod` | Generic enumeration.
`TimeseriesAnomalyDataSplitType` | Generic enumeration.
`TimeseriesAnomalyTypeOfAnomaly` | Generic enumeration.
`TimeseriesAnomalyUseHeuristic` | Generic enumeration.
`NERObjective` | Generic enumeration.
`NERModelType` | Generic enumeration.
`NLPDocumentFormat` | Generic enumeration.
`SentimentType` | Generic enumeration.
`ClusteringImputationMethod` | Generic enumeration.
`ConnectorType` | Generic enumeration.
`ApplicationConnectorType` | Generic enumeration.
`StreamingConnectorType` | Generic enumeration.
`PythonFunctionArgumentType` | Generic enumeration.
`PythonFunctionOutputArgumentType` | Generic enumeration.
`VectorStoreTextEncoder` | Generic enumeration.
`LLMName` | Generic enumeration.
`MonitorAlertType` | Generic enumeration.
`FeatureDriftType` | Generic enumeration.
`DataIntegrityViolationType` | Generic enumeration.
`BiasType` | Generic enumeration.
`AlertActionType` | Generic enumeration.
`PythonFunctionType` | Generic enumeration.
`EvalArtifactType` | Generic enumeration.
`FieldDescriptorType` | Generic enumeration.
`WorkflowNodeInputType` | Generic enumeration.
`WorkflowNodeOutputType` | Generic enumeration.
`OcrMode` | Generic enumeration.
`DocumentType` | Generic enumeration.
`StdDevThresholdType` | Generic enumeration.
`DataType` | Generic enumeration.
`AgentInterface` | Generic enumeration.
`WorkflowNodeTemplateType` | Generic enumeration.
`ProjectConfigType` | Generic enumeration.
`CPUSize` | Generic enumeration.
`MemorySize` | Generic enumeration.
`ResponseSectionType` | Generic enumeration.
`CodeLanguage` | Generic enumeration.
`DeploymentConversationType` | Generic enumeration.
`AgentClientType` | Generic enumeration.
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`DocumentProcessingConfig` | Document processing configuration.
`SamplingConfig` | An abstract class for the sampling config of a feature group
`NSamplingConfig` | The number of distinct values of the key columns to include in the sample, or number of rows if key columns not specified.
`PercentSamplingConfig` | The fraction of distinct values of the feature group to include in the sample.
`_SamplingConfigFactory` | Helper class that provides a standard way to create an ABC using
`MergeConfig` | An abstract class for the merge config of a feature group
`LastNMergeConfig` | Merge LAST N chunks/versions of an incremental dataset.
`TimeWindowMergeConfig` | Merge rows within a given timewindow of the most recent timestamp
`_MergeConfigFactory` | Helper class that provides a standard way to create an ABC using
`OperatorConfig` | Configuration for a template Feature Group Operation
`UnpivotConfig` | Unpivot Columns in a FeatureGroup.
`MarkdownConfig` | Transform a input column to a markdown column.
`CrawlerTransformConfig` | Transform a input column of urls to html text
`ExtractDocumentDataConfig` | Extracts data from documents.
`DataGenerationConfig` | Generate synthetic data using a model for finetuning an LLM.
`UnionTransformConfig` | Takes Union of current feature group with 1 or more selected feature groups of same type.
`_OperatorConfigFactory` | A class to select and return the the correct type of Operator Config based on a serialized OperatorConfig instance.
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`TrainingConfig` | An abstract class for the training config options used to train the model.
`PersonalizationTrainingConfig` | Training config for the PERSONALIZATION problem type
`RegressionTrainingConfig` | Training config for the PREDICTIVE_MODELING problem type
`ForecastingTrainingConfig` | Training config for the FORECASTING problem type
`NamedEntityExtractionTrainingConfig` | Training config for the NAMED_ENTITY_EXTRACTION problem type
`NaturalLanguageSearchTrainingConfig` | Training config for the NATURAL_LANGUAGE_SEARCH problem type
`ChatLLMTrainingConfig` | Training config for the CHAT_LLM problem type
`SentenceBoundaryDetectionTrainingConfig` | Training config for the SENTENCE_BOUNDARY_DETECTION problem type
`SentimentDetectionTrainingConfig` | Training config for the SENTIMENT_DETECTION problem type
`DocumentClassificationTrainingConfig` | Training config for the DOCUMENT_CLASSIFICATION problem type
`DocumentSummarizationTrainingConfig` | Training config for the DOCUMENT_SUMMARIZATION problem type
`DocumentVisualizationTrainingConfig` | Training config for the DOCUMENT_VISUALIZATION problem type
`ClusteringTrainingConfig` | Training config for the CLUSTERING problem type
`ClusteringTimeseriesTrainingConfig` | Training config for the CLUSTERING_TIMESERIES problem type
`EventAnomalyTrainingConfig` | Training config for the EVENT_ANOMALY problem type
`TimeseriesAnomalyTrainingConfig` | Training config for the TS_ANOMALY problem type
`CumulativeForecastingTrainingConfig` | Training config for the CUMULATIVE_FORECASTING problem type
`ThemeAnalysisTrainingConfig` | Training config for the THEME ANALYSIS problem type
`AIAgentTrainingConfig` | Training config for the AI_AGENT problem type
`CustomTrainedModelTrainingConfig` | Training config for the CUSTOM_TRAINED_MODEL problem type
`CustomAlgorithmTrainingConfig` | Training config for the CUSTOM_ALGORITHM problem type
`OptimizationTrainingConfig` | Training config for the OPTIMIZATION problem type
`_TrainingConfigFactory` |
`DeployableAlgorithm` | Algorithm that can be deployed to a model.
`ApiClass` | Helper class that provides a standard way to create an ABC using
`StdDevThresholdType` | Generic enumeration.
`TimeWindowConfig` | Time Window Configuration
`ForecastingMonitorConfig` | Forecasting Monitor Configuration
`StdDevThreshold` | Std Dev Threshold types
`ItemAttributesStdDevThreshold` | Item Attributes Std Dev Threshold for Monitor Alerts
`RestrictFeatureMappings` | Restrict Feature Mappings for Monitor Filtering
`MonitorFilteringConfig` | Monitor Filtering Configuration
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`AlertConditionConfig` | An abstract class for alert condition configs
`AccuracyBelowThresholdConditionConfig` | Accuracy Below Threshold Condition Config for Monitor Alerts
`FeatureDriftConditionConfig` | Feature Drift Condition Config for Monitor Alerts
`TargetDriftConditionConfig` | Target Drift Condition Config for Monitor Alerts
`HistoryLengthDriftConditionConfig` | History Length Drift Condition Config for Monitor Alerts
`DataIntegrityViolationConditionConfig` | Data Integrity Violation Condition Config for Monitor Alerts
`BiasViolationConditionConfig` | Bias Violation Condition Config for Monitor Alerts
`PredictionCountConditionConfig` | Deployment Prediction Condition Config for Deployment Alerts. By default we monitor if predictions made over a time window has reduced significantly.
`_AlertConditionConfigFactory` |
`AlertActionConfig` | An abstract class for alert action configs
`EmailActionConfig` | Email Action Config for Monitor Alerts
`_AlertActionConfigFactory` |
`MonitorThresholdConfig` | Monitor Threshold Config for Monitor Alerts
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`FeatureMappingConfig` | Feature mapping configuration for a feature group type.
`ProjectFeatureGroupTypeMappingsConfig` | Project feature group type mappings.
`ConstraintConfig` | Constraint configuration.
`ProjectFeatureGroupConfig` | An abstract class for project feature group configuration.
`ConstraintProjectFeatureGroupConfig` | Constraint project feature group configuration.
`ReviewModeProjectFeatureGroupConfig` | Review mode project feature group configuration.
`_ProjectFeatureGroupConfigFactory` |
`ApiClass` | Helper class that provides a standard way to create an ABC using
`PythonFunctionArgument` | A config class for python function arguments
`OutputVariableMapping` | A config class for python function arguments
`ApiClass` | Helper class that provides a standard way to create an ABC using
`_ApiClassFactory` | Helper class that provides a standard way to create an ABC using
`FeatureGroupExportConfig` | An abstract class for feature group exports.
`FileConnectorExportConfig` | File connector export config for feature groups
`DatabaseConnectorExportConfig` | Database connector export config for feature groups
`_FeatureGroupExportConfigFactory` |
`ApiClass` | Helper class that provides a standard way to create an ABC using
`ResponseSection` | A response section that an agent can return to render specific UI elements.
`AgentFlowButtonResponseSection` | A response section that an AI Agent can return to render a button.
`ImageUrlResponseSection` | A response section that an agent can return to render an image.
`TextResponseSection` | A response section that an agent can return to render text.
`RuntimeSchemaResponseSection` | A segment that an agent can return to render json and ui schema in react-jsonschema-form format for workflow nodes.
`CodeResponseSection` | A response section that an agent can return to render code.
`Base64ImageResponseSection` | A response section that an agent can return to render a base64 image.
`CollapseResponseSection` | A response section that an agent can return to render a collapsible component.
`ListResponseSection` | A response section that an agent can return to render a list.
`ChartResponseSection` | A response section that an agent can return to render a chart.
`DataframeResponseSection` | A response section that an agent can return to render a pandas dataframe.

## Functions

`get_clean_function_source_code_for_agent`(func) |
`validate_constructor_arg_types`([friendly_class_name]) |
`validate_input_dict_param`(dict_object, friendly_class_name) |
`deprecated_enums`(*enum_values) |

## Package Contents

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

abacusai.api_class.get_clean_function_source_code_for_agent(func)
  Parameters:

    func (Callable)

abacusai.api_class.validate_constructor_arg_types(friendly_class_name=None)

abacusai.api_class.validate_input_dict_param(dict_object, friendly_class_name, must_contain=[])

class abacusai.api_class.FieldDescriptor

  Bases: `abacusai.api_class.abstract.ApiClass`

  Configs for vector store indexing.

  Parameters:

    - field (str) – The field to be extracted. This will be used as the key in the response.

    - description (str) – The description of this field. If not included, the response_field will be used.

    - example_extraction (Union[str, int, bool, float]) – An example of this extracted field.

    - type (FieldDescriptorType) – The type of this field. If not provided, the default type is STRING.

  field: str
  description: str = None
  example_extraction: str | int | bool | float | list | dict = None
  type: abacusai.api_class.enums.FieldDescriptorType

class abacusai.api_class.JSONSchema
  classmethod from_fields_list(fields_list)
    Parameters:

      fields_list (List[str])

  classmethod to_fields_list(json_schema)
    Return type:

      List[str]

class abacusai.api_class.WorkflowNodeInputMapping

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents a mapping of inputs to a workflow node.

  Parameters:

    - name (str) – The name of the input variable of the node function.

    - variable_type (Union[WorkflowNodeInputType, str]) – The type of the input. If the type is IGNORE, the input will be ignored.

    - variable_source (str) – The name of the node this variable is sourced from. If the type is WORKFLOW_VARIABLE, the value given by the source node will be directly used. If the type is USER_INPUT, the value given by the source node will be used as the default initial value before the user edits it. Set to None if the type is USER_INPUT and the variable doesn’t need a pre-filled initial value.

    - is_required (bool) – Indicates whether the input is required. Defaults to True.

    - description (str) – The description of this input.

    - constant_value (str) – The constant value of this input if variable type is CONSTANT. Only applicable for template nodes.

  name: str
  variable_type: abacusai.api_class.enums.WorkflowNodeInputType
  variable_source: str = None
  source_prop: str = None
  is_required: bool = True
  description: str = None
  constant_value: str = None
  __post_init__()
  to_dict()
  classmethod from_dict(mapping)
    Parameters:

      mapping (dict)

class abacusai.api_class.WorkflowNodeInputSchema

  Bases: `abacusai.api_class.abstract.ApiClass`, `JSONSchema`

  A schema conformant to react-jsonschema-form for workflow node input.

  To initialize a WorkflowNodeInputSchema dependent on another node’s output, use the from_workflow_node method.

  Parameters:

    - json_schema (dict) – The JSON schema for the input, conformant to react-jsonschema-form specification. Must define keys like “title”, “type”, and “properties”. Supported elements include Checkbox, Radio Button, Dropdown, Textarea, Number, Date, and file upload. Nested elements, arrays, and other complex types are not supported.

    - ui_schema (dict) – The UI schema for the input, conformant to react-jsonschema-form specification.

  json_schema: dict
  ui_schema: dict
  schema_source: str = None
  schema_prop: str = None
  runtime_schema: bool = False
  to_dict()
  classmethod from_dict(schema)
    Parameters:

      schema (dict)

  classmethod from_workflow_node(schema_source, schema_prop)

    Creates a WorkflowNodeInputSchema instance which references the schema generated by a WorkflowGraphNode.

    Parameters:

      - schema_source (str) – The name of the source WorkflowGraphNode.

      - schema_prop (str) – The name of the input schema parameter which source node outputs.

  classmethod from_input_mappings(input_mappings)

    Creates a json_schema for the input schema of the node from it’s input mappings.

    Parameters:

      input_mappings (List[WorkflowNodeInputMapping]) – The input mappings for the node.

  classmethod from_tool_variable_mappings(tool_variable_mappings)

    Creates a WorkflowNodeInputSchema for the given tool variable mappings.

    Parameters:

      tool_variable_mappings (List[dict]) – The tool variable mappings for the node.

class abacusai.api_class.WorkflowNodeOutputMapping

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents a mapping of output from a workflow node.

  Parameters:

    - name (str) – The name of the output.

    - variable_type (Union[WorkflowNodeOutputType, str]) – The type of the output in the form of an enum or a string.

    - description (str) – The description of this output.

  name: str
  variable_type: abacusai.api_class.enums.WorkflowNodeOutputType | str
  description: str = None
  __post_init__()
  to_dict()
  classmethod from_dict(mapping)
    Parameters:

      mapping (dict)

class abacusai.api_class.WorkflowNodeOutputSchema

  Bases: `abacusai.api_class.abstract.ApiClass`, `JSONSchema`

  A schema conformant to react-jsonschema-form for a workflow node output.

  Parameters:

    json_schema (dict) – The JSON schema for the output, conformant to react-jsonschema-form specification.

  json_schema: dict
  to_dict()
  classmethod from_dict(schema)
    Parameters:

      schema (dict)

class abacusai.api_class.TriggerConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents the configuration for a trigger workflow node.

  Parameters:

    sleep_time (int) – The time in seconds to wait before the node gets executed again.

  sleep_time: int = None
  to_dict()
  classmethod from_dict(configs)
    Parameters:

      configs (dict)

class abacusai.api_class.WorkflowGraphNode(name, function=None, input_mappings=None, output_mappings=None, function_name=None, source_code=None, input_schema=None, output_schema=None, template_metadata=None, trigger_config=None)

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents a node in an Agent workflow graph.

  Parameters:

    - name (str) – A unique name for the workflow node.

    - input_mappings (List[WorkflowNodeInputMapping]) – List of input mappings for the node. Each arg/kwarg of the node function should have a corresponding input mapping.

    - output_mappings (List[str]) – List of outputs for the node. Each field in the returned dict/AgentResponse must have a corresponding output in the list.

    - function (callable) – The callable node function reference.

    - input_schema (WorkflowNodeInputSchema) – The react json schema for the user input variables.

    - output_schema (List[str]) – The list of outputs to be shown on UI. Each output corresponds to a field in the output mappings of the node.

    - function_name (str)

    - source_code (str)

    - template_metadata (dict)

    - trigger_config (TriggerConfig)

  Additional Attributes:

    function_name (str): The name of the function. source_code (str): The source code of the function. trigger_config (TriggerConfig): The configuration for a trigger workflow node.

  template_metadata = None
  trigger_config = None
  node_type = 'workflow_node'
  classmethod _raw_init(name, input_mappings=None, output_mappings=None, function=None, function_name=None, source_code=None, input_schema=None, output_schema=None, template_metadata=None, trigger_config=None)
    Parameters:

      - name (str)

      - input_mappings (List[WorkflowNodeInputMapping])

      - output_mappings (List[WorkflowNodeOutputMapping])

      - function (callable)

      - function_name (str)

      - source_code (str)

      - input_schema (WorkflowNodeInputSchema)

      - output_schema (WorkflowNodeOutputSchema)

      - template_metadata (dict)

      - trigger_config (TriggerConfig)

  classmethod from_template(template_name, name, configs=None, input_mappings=None, input_schema=None, output_schema=None, sleep_time=None)
    Parameters:

      - template_name (str)

      - name (str)

      - configs (dict)

      - input_mappings (Union[Dict[str, WorkflowNodeInputMapping], List[WorkflowNodeInputMapping]])

      - input_schema (Union[List[str], WorkflowNodeInputSchema])

      - output_schema (Union[List[str], WorkflowNodeOutputSchema])

      - sleep_time (int)

  classmethod from_tool(tool_name, name, configs=None, input_mappings=None, input_schema=None, output_schema=None)

    Creates and returns a WorkflowGraphNode based on an available user created tool. Note: DO NOT specify the output mapping for the tool; it will be inferred automatically. Doing so will raise an error.

    Parameters:

      - tool_name (str) – The name of the tool. There should already be a tool created in the platform with tool_name.

      - name (str) – The name to assign to the WorkflowGraphNode instance.

      - configs (optional) – The configuration state of the tool to use (if necessary). If not specified, will use the tool’s default configuration.

      - input_mappings (optional) – The WorkflowNodeInputMappings for this node.

      - input_schema (optional) – The WorkflowNodeInputSchema for this node.

      - output_schema (optional) – The WorkflowNodeOutputSchema for this node.

  classmethod from_system_tool(tool_name, name, configs=None, input_mappings=None, input_schema=None, output_schema=None)

    Creates and returns a WorkflowGraphNode based on the name of an available system tool. Note: DO NOT specify the output mapping for the tool; it will be inferred automatically. Doing so will raise an error.

    Parameters:

      - tool_name (str) – The name of the tool. There should already be a tool created in the platform with tool_name.

      - name (str) – The name to assign to the WorkflowGraphNode instance.

      - configs (optional) – The configuration state of the tool to use (if necessary). If not specified, will use the tool’s default configuration.

      - input_mappings (optional) – The WorkflowNodeInputMappings for this node.

      - input_schema (optional) – The WorkflowNodeInputSchema for this node.

      - output_schema (optional) – The WorkflowNodeOutputSchema for this node.

  to_dict()
  is_template_node()
  is_trigger_node()
  classmethod from_dict(node)
    Parameters:

      node (dict)

  __setattr__(name, value)
  __getattribute__(name)
  class Outputs(node)
    Parameters:

      node (WorkflowGraphNode)

    node
    __getattr__(name)
  property outputs

class abacusai.api_class.DecisionNode(name, condition, input_mappings)

  Bases: `WorkflowGraphNode`

  Represents a decision node in an Agent workflow graph. It is connected between two workflow nodes and is used to determine if subsequent nodes should be executed.

  Parameters:

    - name (str)

    - condition (str)

    - input_mappings (Union[Dict[str, WorkflowNodeInputMapping], List[WorkflowNodeInputMapping]])

  node_type = 'decision_node'
  name
  source_code
  output_mappings
  template_metadata = None
  trigger_config = None
  input_schema = None
  output_schema = None
  function_name = None
  to_dict()
  classmethod from_dict(node)
    Parameters:

      node (dict)

class abacusai.api_class.WorkflowGraphEdge(source, target, details=None)

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents an edge in an Agent workflow graph.

  To make an edge conditional, provide {‘EXECUTION_CONDITION’: ‘<condition>’} key-value in the details dictionary. The condition should be a Pythonic expression string that evaluates to a boolean value and only depends on the outputs of the source node of the edge.

  Parameters:

    - source (str) – The name of the source node of the edge.

    - target (str) – The name of the target node of the edge.

    - details (dict) – Additional details about the edge. Like the condition for edge execution.

  source: str | WorkflowGraphNode
  target: str | WorkflowGraphNode
  details: dict
  to_nx_edge()

class abacusai.api_class.WorkflowGraph

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents an Agent workflow graph.

  Parameters:

    - nodes (List[Union[WorkflowGraphNode, DecisionNode]]) – A list of nodes in the workflow graph.

    - primary_start_node (Union[str, WorkflowGraphNode]) – The primary node to start the workflow from.

    - common_source_code (str) – Common source code that can be used across all nodes.

  nodes: List[WorkflowGraphNode | DecisionNode] = []
  edges: List[WorkflowGraphEdge | Tuple[WorkflowGraphNode, WorkflowGraphNode, dict] | Tuple[str, str, dict]] = []
  primary_start_node: str | WorkflowGraphNode = None
  common_source_code: str = None
  specification_type: str = 'data_flow'
  __post_init__()
  to_dict()
  classmethod from_dict(graph)
    Parameters:

      graph (dict)

class abacusai.api_class.AgentConversationMessage

  Bases: `abacusai.api_class.abstract.ApiClass`

  Message format for agent conversation

  Parameters:

    - is_user (bool) – Whether the message is from the user.

    - text (str) – The message’s text.

    - document_contents (dict) – Dict of document name to document text in case of any document present.

  is_user: bool = None
  text: str = None
  document_contents: dict = None
  to_dict()

class abacusai.api_class.WorkflowNodeTemplateConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents a WorkflowNode template config.

  Parameters:

    - name (str) – A unique name of the config.

    - description (str) – The description of this config.

    - default_value (str) – Default value of the config to be used if value is not provided during node initialization.

    - is_required (bool) – Indicates whether the config is required. Defaults to False.

  name: str
  description: str = None
  default_value: str = None
  is_required: bool = False
  to_dict()
  classmethod from_dict(mapping)
    Parameters:

      mapping (dict)

class abacusai.api_class.WorkflowNodeTemplateInput

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents an input to the workflow node generated using template.

  Parameters:

    - name (str) – A unique name of the input.

    - is_required (bool) – Indicates whether the input is required. Defaults to False.

    - description (str) – The description of this input.

  name: str
  is_required: bool = False
  description: str = ''
  to_dict()
  classmethod from_dict(mapping)
    Parameters:

      mapping (dict)

class abacusai.api_class.WorkflowNodeTemplateOutput

  Bases: `abacusai.api_class.abstract.ApiClass`

  Represents an output returned by the workflow node generated using template.

  Parameters:

    - name (str) – The name of the output.

    - variable_type (WorkflowNodeOutputType) – The type of the output.

    - description (str) – The description of this output.

  name: str
  variable_type: abacusai.api_class.enums.WorkflowNodeOutputType
  description: str = ''
  to_dict()
  classmethod from_dict(mapping)
    Parameters:

      mapping (dict)

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.HotkeyPrompt

  Bases: `abacusai.api_class.abstract.ApiClass`

  A config class for a Data Science Co-Pilot Hotkey

  Parameters:

    - prompt (str) – The prompt to send to Data Science Co-Pilot

    - title (str) – A short, descriptive title for the prompt. If not provided, one will be automatically generated.

  prompt: str
  title: str = None
  disable_problem_type_context: bool = True
  ignore_history: bool = None

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.BatchPredictionArgs

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for Batch Prediction args specific to problem type.

  _support_kwargs: bool = True
  kwargs: dict
  problem_type: abacusai.api_class.enums.ProblemType = None
  classmethod _get_builder()

class abacusai.api_class.ForecastingBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the FORECASTING problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation

    - predictions_start_date (str) – The start date for predictions. Accepts timestamp integers and strings in many standard formats such as YYYY-MM-DD, YYYY-MM-DD HH:MM:SS, or YYYY-MM-DDTHH:MM:SS. If not specified, the prediction start date will be automatically defined.

    - use_prediction_offset (bool) – If True, use prediction offset.

    - start_date_offset (int) – Sets prediction start date as this offset relative to the prediction start date.

    - forecasting_horizon (int) – The number of timestamps to predict in the future. Range: [1, 1000].

    - item_attributes_to_include_in_the_result (list) – List of columns to include in the prediction output.

    - explain_predictions (bool) – If True, calculates explanations for the forecasted values along with predictions.

    - create_monitor (bool) – Controls whether to automatically create a monitor to calculate the drift each time the batch prediction is run. Defaults to true if not specified.

  for_eval: bool = None
  predictions_start_date: str = None
  use_prediction_offset: bool = None
  start_date_offset: int = None
  forecasting_horizon: int = None
  item_attributes_to_include_in_the_result: list = None
  explain_predictions: bool = None
  create_monitor: bool = None
  __post_init__()

class abacusai.api_class.NamedEntityExtractionBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the NAMED_ENTITY_EXTRACTION problem type

  Parameters:

    for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

  for_eval: bool = None
  __post_init__()

class abacusai.api_class.PersonalizationBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the PERSONALIZATION problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

    - number_of_items (int) – Number of items to recommend.

    - item_attributes_to_include_in_the_result (list) – List of columns to include in the prediction output.

    - score_field (str) – If specified, relative item scores will be returned using a field with this name

  for_eval: bool = None
  number_of_items: int = None
  item_attributes_to_include_in_the_result: list = None
  score_field: str = None
  __post_init__()

class abacusai.api_class.PredictiveModelingBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the PREDICTIVE_MODELING problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

    - explainer_type (enums.ExplainerType) – The type of explainer to use to generate explanations on the batch prediction.

    - number_of_samples_to_use_for_explainer (int) – Number Of Samples To Use For Kernel Explainer.

    - include_multi_class_explanations (bool) – If True, Includes explanations for all classes in multi-class classification.

    - features_considered_constant_for_explanations (str) – Comma separate list of fields to treat as constant in SHAP explanations.

    - importance_of_records_in_nested_columns (str) – Returns importance of each index in the specified nested column instead of SHAP column explanations.

    - explanation_filter_lower_bound (float) – If set explanations will be limited to predictions above this value, Range: [0, 1].

    - explanation_filter_upper_bound (float) – If set explanations will be limited to predictions below this value, Range: [0, 1].

    - explanation_filter_label (str) – For classification problems specifies the label to which the explanation bounds are applied.

    - output_columns (list) – A list of column names to include in the prediction result.

    - explain_predictions (bool) – If True, calculates explanations for the predicted values along with predictions.

    - create_monitor (bool) – Controls whether to automatically create a monitor to calculate the drift each time the batch prediction is run. Defaults to true if not specified.

  for_eval: bool = None
  explainer_type: abacusai.api_class.enums.ExplainerType = None
  number_of_samples_to_use_for_explainer: int = None
  include_multi_class_explanations: bool = None
  features_considered_constant_for_explanations: str = None
  importance_of_records_in_nested_columns: str = None
  explanation_filter_lower_bound: float = None
  explanation_filter_upper_bound: float = None
  explanation_filter_label: str = None
  output_columns: list = None
  explain_predictions: bool = None
  create_monitor: bool = None
  __post_init__()

class abacusai.api_class.PretrainedModelsBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the PRETRAINED_MODELS problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

    - files_input_location (str) – The input location for the files.

    - files_output_location_prefix (str) – The output location prefix for the files.

    - channel_id_to_label_map (str) – JSON string for the map from channel ids to their labels.

  for_eval: bool = None
  files_input_location: str = None
  files_output_location_prefix: str = None
  channel_id_to_label_map: str = None
  __post_init__()

class abacusai.api_class.SentenceBoundaryDetectionBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the SENTENCE_BOUNDARY_DETECTION problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation

    - explode_output (bool) – Explode data so there is one sentence per row.

  for_eval: bool = None
  explode_output: bool = None
  __post_init__()

class abacusai.api_class.ThemeAnalysisBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the THEME_ANALYSIS problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

    - analysis_frequency (str) – The length of each analysis interval.

    - start_date (str) – The end point for predictions.

    - analysis_days (int) – How many days to analyze.

  for_eval: bool = None
  analysis_frequency: str = None
  start_date: str = None
  analysis_days: int = None
  __post_init__()

class abacusai.api_class.ChatLLMBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the ChatLLM problem type

  Parameters:

    for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

  for_eval: bool = None
  __post_init__()

class abacusai.api_class.TrainablePlugAndPlayBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the TrainablePlugAndPlay problem type

  Parameters:

    - for_eval (bool) – If True, the test fold which was created during training and used for metrics calculation will be used as input data. These predictions are hence, used for model evaluation.

    - create_monitor (bool) – Controls whether to automatically create a monitor to calculate the drift each time the batch prediction is run. Defaults to true if not specified.

  for_eval: bool = None
  create_monitor: bool = None
  __post_init__()

class abacusai.api_class.AIAgentBatchPredictionArgs

  Bases: `BatchPredictionArgs`

  Batch Prediction Config for the AIAgents problem type

  __post_init__()

class abacusai.api_class._BatchPredictionArgsFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'problem_type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.Blob(contents, mime_type=None, filename=None, size=None)

  Bases: `abacusai.api_class.abstract.ApiClass`

  An object for storing and passing file data. In AI Agents, if a function accepts file upload as an argument, the uploaded file is passed as a Blob object. If a function returns a Blob object, it will be rendered as a file download.

  Parameters:

    - contents (bytes) – The binary contents of the blob.

    - mime_type (str) – The mime type of the blob.

    - filename (str) – The original filename of the blob.

    - size (int) – The size of the blob in bytes.

  filename: str
  contents: bytes
  mime_type: str
  size: int
  classmethod from_local_file(file_path)
    Parameters:

      file_path (str)

    Return type:

      Blob

  classmethod from_contents(contents, filename=None, mime_type=None)
    Parameters:

      - contents (bytes)

      - filename (str)

      - mime_type (str)

    Return type:

      Blob

class abacusai.api_class.BlobInput(filename=None, contents=None, mime_type=None, size=None)

  Bases: `Blob`

  An object for storing and passing file data. In AI Agents, if a function accepts file upload as an argument, the uploaded file is passed as a BlobInput object.

  Parameters:

    - filename (str) – The original filename of the blob.

    - contents (bytes) – The binary contents of the blob.

    - mime_type (str) – The mime type of the blob.

    - size (int) – The size of the blob in bytes.

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.DatasetConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for dataset configs

  Parameters:

    is_documentset (bool) – Whether the dataset is a document set

  is_documentset: bool = None

class abacusai.api_class.StreamingConnectorDatasetConfig

  Bases: `abacusai.api_class.dataset.DatasetConfig`

  An abstract class for dataset configs specific to streaming connectors.

  Parameters:

    streaming_connector_type (StreamingConnectorType) – The type of streaming connector

  streaming_connector_type: abacusai.api_class.enums.StreamingConnectorType = None
  classmethod _get_builder()

class abacusai.api_class.KafkaDatasetConfig

  Bases: `StreamingConnectorDatasetConfig`

  Dataset config for Kafka Streaming Connector

  Parameters:

    topic (str) – The kafka topic to consume

  topic: str = None
  __post_init__()

class abacusai.api_class._StreamingConnectorDatasetConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'streaming_connector_type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.DocumentType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  SIMPLE_TEXT = 'SIMPLE_TEXT'
  TEXT = 'TEXT'
  TABLES_AND_FORMS = 'TABLES_AND_FORMS'
  EMBEDDED_IMAGES = 'EMBEDDED_IMAGES'
  SCANNED_TEXT = 'SCANNED_TEXT'
  COMPREHENSIVE_MARKDOWN = 'COMPREHENSIVE_MARKDOWN'
  classmethod is_ocr_forced(document_type)
    Parameters:

      document_type (DocumentType)

class abacusai.api_class.OcrMode

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUTO = 'AUTO'
  DEFAULT = 'DEFAULT'
  LAYOUT = 'LAYOUT'
  SCANNED = 'SCANNED'
  COMPREHENSIVE = 'COMPREHENSIVE'
  COMPREHENSIVE_V2 = 'COMPREHENSIVE_V2'
  COMPREHENSIVE_TABLE_MD = 'COMPREHENSIVE_TABLE_MD'
  COMPREHENSIVE_FORM_MD = 'COMPREHENSIVE_FORM_MD'
  COMPREHENSIVE_FORM_AND_TABLE_MD = 'COMPREHENSIVE_FORM_AND_TABLE_MD'
  TESSERACT_FAST = 'TESSERACT_FAST'
  LLM = 'LLM'
  AUGMENTED_LLM = 'AUGMENTED_LLM'
  classmethod aws_ocr_modes()

class abacusai.api_class.DatasetConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for dataset configs

  Parameters:

    is_documentset (bool) – Whether the dataset is a document set

  is_documentset: bool = None

class abacusai.api_class.ParsingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Custom config for dataset parsing.

  Parameters:

    - escape (str) – Escape character for CSV files. Defaults to ‘”’.

    - csv_delimiter (str) – Delimiter for CSV files. Defaults to None.

    - file_path_with_schema (str) – Path to the file with schema. Defaults to None.

  escape: str = '"'
  csv_delimiter: str = None
  file_path_with_schema: str = None

class abacusai.api_class.DocumentProcessingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Document processing configuration.

  Parameters:

    - document_type (DocumentType) – Type of document. Can be one of Text, Tables and Forms, Embedded Images, etc. If not specified, type will be decided automatically.

    - highlight_relevant_text (bool) – Whether to extract bounding boxes and highlight relevant text in search results. Defaults to False.

    - extract_bounding_boxes (bool) – Whether to perform OCR and extract bounding boxes. If False, no OCR will be done but only the embedded text from digital documents will be extracted. Defaults to False.

    - ocr_mode (OcrMode) – OCR mode. There are different OCR modes available for different kinds of documents and use cases. This option only takes effect when extract_bounding_boxes is True.

    - use_full_ocr (bool) – Whether to perform full OCR. If True, OCR will be performed on the full page. If False, OCR will be performed on the non-text regions only. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - remove_header_footer (bool) – Whether to remove headers and footers. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - remove_watermarks (bool) – Whether to remove watermarks. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - convert_to_markdown (bool) – Whether to convert extracted text to markdown. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - mask_pii (bool) – Whether to mask personally identifiable information (PII) in the document text/tokens. Defaults to False.

    - extract_images (bool) – Whether to extract images from the document e.g. diagrams in a PDF page. Defaults to False.

  document_type: abacusai.api_class.enums.DocumentType = None
  highlight_relevant_text: bool = None
  extract_bounding_boxes: bool = False
  ocr_mode: abacusai.api_class.enums.OcrMode
  use_full_ocr: bool = None
  remove_header_footer: bool = False
  remove_watermarks: bool = True
  convert_to_markdown: bool = False
  mask_pii: bool = False
  extract_images: bool = False
  __post_init__()
  _detect_ocr_mode()
  classmethod _get_filtered_dict(config)

    Filters out default values from the config

    Parameters:

      config (dict)

class abacusai.api_class.DatasetDocumentProcessingConfig

  Bases: `DocumentProcessingConfig`

  Document processing configuration for dataset imports.

  Parameters:

    - extract_bounding_boxes (bool) – Whether to perform OCR and extract bounding boxes. If False, no OCR will be done but only the embedded text from digital documents will be extracted. Defaults to False.

    - ocr_mode (OcrMode) – OCR mode. There are different OCR modes available for different kinds of documents and use cases. This option only takes effect when extract_bounding_boxes is True.

    - use_full_ocr (bool) – Whether to perform full OCR. If True, OCR will be performed on the full page. If False, OCR will be performed on the non-text regions only. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - remove_header_footer (bool) – Whether to remove headers and footers. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - remove_watermarks (bool) – Whether to remove watermarks. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - convert_to_markdown (bool) – Whether to convert extracted text to markdown. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - page_text_column (str) – Name of the output column which contains the extracted text for each page. If not provided, no column will be created.

  page_text_column: str = None

class abacusai.api_class.IncrementalDatabaseConnectorConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Config information for incremental datasets from database connectors

  Parameters:

    timestamp_column (str) – If dataset is incremental, this is the column name of the required column in the dataset. This column must contain timestamps in descending order which are used to determine the increments of the incremental dataset.

  timestamp_column: str = None

class abacusai.api_class.AttachmentParsingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Config information for parsing attachments

  Parameters:

    - feature_group_name (str) – feature group name

    - column_name (str) – column name

    - urls (str) – list of urls

  feature_group_name: str = None
  column_name: str = None
  urls: str = None

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.DatasetConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for dataset configs

  Parameters:

    is_documentset (bool) – Whether the dataset is a document set

  is_documentset: bool = None

class abacusai.api_class.DatasetDocumentProcessingConfig

  Bases: `DocumentProcessingConfig`

  Document processing configuration for dataset imports.

  Parameters:

    - extract_bounding_boxes (bool) – Whether to perform OCR and extract bounding boxes. If False, no OCR will be done but only the embedded text from digital documents will be extracted. Defaults to False.

    - ocr_mode (OcrMode) – OCR mode. There are different OCR modes available for different kinds of documents and use cases. This option only takes effect when extract_bounding_boxes is True.

    - use_full_ocr (bool) – Whether to perform full OCR. If True, OCR will be performed on the full page. If False, OCR will be performed on the non-text regions only. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - remove_header_footer (bool) – Whether to remove headers and footers. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - remove_watermarks (bool) – Whether to remove watermarks. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - convert_to_markdown (bool) – Whether to convert extracted text to markdown. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - page_text_column (str) – Name of the output column which contains the extracted text for each page. If not provided, no column will be created.

  page_text_column: str = None

class abacusai.api_class.ApplicationConnectorDatasetConfig

  Bases: `abacusai.api_class.dataset.DatasetConfig`

  An abstract class for dataset configs specific to application connectors.

  Parameters:

    - application_connector_type (enums.ApplicationConnectorType) – The type of application connector

    - application_connector_id (str) – The ID of the application connector

    - document_processing_config (DatasetDocumentProcessingConfig) – The document processing configuration. Only valid if is_documentset is True for the dataset.

  application_connector_type: abacusai.api_class.enums.ApplicationConnectorType = None
  application_connector_id: str = None
  document_processing_config: abacusai.api_class.dataset.DatasetDocumentProcessingConfig = None
  classmethod _get_builder()

class abacusai.api_class.ConfluenceDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Confluence Application Connector :param location: The location of the pages to fetch :type location: str :param space_key: The space key of the space from which we fetch pages :type space_key: str :param pull_attachments: Whether to pull attachments for each page :type pull_attachments: bool :param extract_bounding_boxes: Whether to extract bounding boxes from the documents :type extract_bounding_boxes: bool

  location: str = None
  space_key: str = None
  pull_attachments: bool = False
  extract_bounding_boxes: bool = False
  __post_init__()

class abacusai.api_class.BoxDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Box Application Connector :param location: The regex location of the files to fetch :type location: str :param csv_delimiter: If the file format is CSV, use a specific csv delimiter :type csv_delimiter: str :param merge_file_schemas: Signifies if the merge file schema policy is enabled. Not applicable if is_documentset is True :type merge_file_schemas: bool

  location: str = None
  csv_delimiter: str = None
  merge_file_schemas: bool = False
  __post_init__()

class abacusai.api_class.GoogleAnalyticsDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Google Analytics Application Connector

  Parameters:

    - location (str) – The view id of the report in the connector to fetch

    - start_timestamp (int) – Unix timestamp of the start of the period that will be queried

    - end_timestamp (int) – Unix timestamp of the end of the period that will be queried

  location: str = None
  start_timestamp: int = None
  end_timestamp: int = None
  __post_init__()

class abacusai.api_class.GoogleDriveDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Google Drive Application Connector

  Parameters:

    - location (str) – The regex location of the files to fetch

    - csv_delimiter (str) – If the file format is CSV, use a specific csv delimiter

    - extract_bounding_boxes (bool) – Signifies whether to extract bounding boxes out of the documents. Only valid if is_documentset if True

    - merge_file_schemas (bool) – Signifies if the merge file schema policy is enabled. Not applicable if is_documentset is True

  location: str = None
  csv_delimiter: str = None
  extract_bounding_boxes: bool = False
  merge_file_schemas: bool = False
  __post_init__()

class abacusai.api_class.JiraDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Jira Application Connector

  Parameters:

    jql (str) – The JQL query for fetching issues

  jql: str = None
  __post_init__()

class abacusai.api_class.OneDriveDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for OneDrive Application Connector

  Parameters:

    - location (str) – The regex location of the files to fetch

    - csv_delimiter (str) – If the file format is CSV, use a specific csv delimiter

    - extract_bounding_boxes (bool) – Signifies whether to extract bounding boxes out of the documents. Only valid if is_documentset if True

    - merge_file_schemas (bool) – Signifies if the merge file schema policy is enabled. Not applicable if is_documentset is True

  location: str = None
  csv_delimiter: str = None
  extract_bounding_boxes: bool = False
  merge_file_schemas: bool = False
  __post_init__()

class abacusai.api_class.SharepointDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Sharepoint Application Connector

  Parameters:

    - location (str) – The regex location of the files to fetch

    - csv_delimiter (str) – If the file format is CSV, use a specific csv delimiter

    - extract_bounding_boxes (bool) – Signifies whether to extract bounding boxes out of the documents. Only valid if is_documentset if True

    - merge_file_schemas (bool) – Signifies if the merge file schema policy is enabled. Not applicable if is_documentset is True

  location: str = None
  csv_delimiter: str = None
  extract_bounding_boxes: bool = False
  merge_file_schemas: bool = False
  __post_init__()

class abacusai.api_class.ZendeskDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Zendesk Application Connector

  Parameters:

    location (str) – The regex location of the files to fetch

  location: str = None
  __post_init__()

class abacusai.api_class.AbacusUsageMetricsDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Abacus Usage Metrics Application Connector

  Parameters:

    - include_entire_conversation_history (bool) – Whether to show the entire history for this deployment conversation

    - include_all_feedback (bool) – Whether to include all feedback for this deployment conversation

    - resolve_matching_documents (bool) – Whether to get matching document references for response instead of prompt. Needs to recalculate them if highlights are unavailable in summary_info

  include_entire_conversation_history: bool = False
  include_all_feedback: bool = False
  resolve_matching_documents: bool = False
  __post_init__()

class abacusai.api_class.TeamsScraperDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Teams Scraper Application Connector

  Parameters:

    - pull_chat_messages (bool) – Whether to pull teams chat messages

    - pull_channel_posts (bool) – Whether to pull posts for each channel

    - pull_transcripts (bool) – Whether to pull transcripts for calendar meetings

  pull_chat_messages: bool = False
  pull_channel_posts: bool = False
  pull_transcripts: bool = False
  __post_init__()

class abacusai.api_class.FreshserviceDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for Freshservice Application Connector

  __post_init__()

class abacusai.api_class.SftpDatasetConfig

  Bases: `ApplicationConnectorDatasetConfig`

  Dataset config for SFTP Application Connector

  Parameters:

    - location (str) – The regex location of the files to fetch

    - csv_delimiter (str) – If the file format is CSV, use a specific csv delimiter

    - extract_bounding_boxes (bool) – Signifies whether to extract bounding boxes out of the documents. Only valid if is_documentset if True

    - merge_file_schemas (bool) – Signifies if the merge file schema policy is enabled. Not applicable if is_documentset is True

  location: str = None
  csv_delimiter: str = None
  extract_bounding_boxes: bool = False
  merge_file_schemas: bool = False
  __post_init__()

class abacusai.api_class._ApplicationConnectorDatasetConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'application_connector_type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.PredictionArguments

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for prediction arguments specific to problem type.

  _support_kwargs: bool = True
  kwargs: dict
  problem_type: abacusai.api_class.enums.ProblemType = None
  classmethod _get_builder()

class abacusai.api_class.OptimizationPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the OPTIMIZATION problem type

  Parameters:

    - forced_assignments (dict) – Set of assignments to force and resolve before returning query results.

    - solve_time_limit_seconds (float) – Maximum time in seconds to spend solving the query.

    - include_all_assignments (bool) – If True, will return all assignments, including assignments with value 0. Default is False.

  forced_assignments: dict = None
  solve_time_limit_seconds: float = None
  include_all_assignments: bool = None
  __post_init__()

class abacusai.api_class.TimeseriesAnomalyPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the TS_ANOMALY problem type

  Parameters:

    - start_timestamp (str) – Timestamp from which anomalies have to be detected in the training data

    - end_timestamp (str) – Timestamp to which anomalies have to be detected in the training data

    - get_all_item_data (bool) – If True, anomaly detection has to be performed on all the data related to input ids

  start_timestamp: str = None
  end_timestamp: str = None
  get_all_item_data: bool = None
  __post_init__()

class abacusai.api_class.ChatLLMPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the CHAT_LLM problem type

  Parameters:

    - llm_name (str) – Name of the specific LLM backend to use to power the chat experience.

    - num_completion_tokens (int) – Default for maximum number of tokens for chat answers.

    - system_message (str) – The generative LLM system message.

    - temperature (float) – The generative LLM temperature.

    - search_score_cutoff (float) – Cutoff for the document retriever score. Matching search results below this score will be ignored.

    - ignore_documents (bool) – If True, will ignore any documents and search results, and only use the messages to generate a response.

  llm_name: str = None
  num_completion_tokens: int = None
  system_message: str = None
  temperature: float = None
  search_score_cutoff: float = None
  ignore_documents: bool = None
  __post_init__()

class abacusai.api_class.RegressionPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the PREDICTIVE_MODELING problem type

  Parameters:

    - explain_predictions (bool) – If true, will explain predictions.

    - explainer_type (str) – Type of explainer to use for explanations.

  explain_predictions: bool = None
  explainer_type: str = None
  __post_init__()

class abacusai.api_class.ForecastingPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the FORECASTING problem type

  Parameters:

    - num_predictions (int) – The number of timestamps to predict in the future.

    - prediction_start (str) – The start date for predictions (e.g., “2015-08-01T00:00:00” as input for mid-night of 2015-08-01).

    - explain_predictions (bool) – If True, explain predictions for forecasting.

    - explainer_type (str) – Type of explainer to use for explanations.

    - get_item_data (bool) – If True, will return the data corresponding to items as well.

  num_predictions: int = None
  prediction_start: str = None
  explain_predictions: bool = None
  explainer_type: str = None
  get_item_data: bool = None
  __post_init__()

class abacusai.api_class.CumulativeForecastingPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the CUMULATIVE_FORECASTING problem type

  Parameters:

    - num_predictions (int) – The number of timestamps to predict in the future.

    - prediction_start (str) – The start date for predictions (e.g., “2015-08-01T00:00:00” as input for mid-night of 2015-08-01).

    - explain_predictions (bool) – If True, explain predictions for forecasting.

    - explainer_type (str) – Type of explainer to use for explanations.

    - get_item_data (bool) – If True, will return the data corresponding to items as well.

  num_predictions: int = None
  prediction_start: str = None
  explain_predictions: bool = None
  explainer_type: str = None
  get_item_data: bool = None
  __post_init__()

class abacusai.api_class.NaturalLanguageSearchPredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the NATURAL_LANGUAGE_SEARCH problem type

  Parameters:

    - llm_name (str) – Name of the specific LLM backend to use to power the chat experience.

    - num_completion_tokens (int) – Default for maximum number of tokens for chat answers.

    - system_message (str) – The generative LLM system message.

    - temperature (float) – The generative LLM temperature.

    - search_score_cutoff (float) – Cutoff for the document retriever score. Matching search results below this score will be ignored.

    - ignore_documents (bool) – If True, will ignore any documents and search results, and only use the messages to generate a response.

  llm_name: str = None
  num_completion_tokens: int = None
  system_message: str = None
  temperature: float = None
  search_score_cutoff: float = None
  ignore_documents: bool = None
  __post_init__()

class abacusai.api_class.FeatureStorePredictionArguments

  Bases: `PredictionArguments`

  Prediction arguments for the FEATURE_STORE problem type

  Parameters:

    limit_results (int) – If provided, will limit the number of results to the value specified.

  limit_results: int = None
  __post_init__()

class abacusai.api_class._PredictionArgumentsFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'problem_type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.VectorStoreTextEncoder

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  E5 = 'E5'
  OPENAI = 'OPENAI'
  OPENAI_COMPACT = 'OPENAI_COMPACT'
  OPENAI_LARGE = 'OPENAI_LARGE'
  SENTENCE_BERT = 'SENTENCE_BERT'
  E5_SMALL = 'E5_SMALL'
  CODE_BERT = 'CODE_BERT'

class abacusai.api_class.VectorStoreConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Config for indexing options of a document retriever. Default values of optional arguments are heuristically selected by the Abacus.AI platform based on the underlying data.

  Parameters:

    - chunk_size (int) – The size of text chunks in the vector store.

    - chunk_overlap_fraction (float) – The fraction of overlap between chunks.

    - text_encoder (VectorStoreTextEncoder) – Encoder used to index texts from the documents.

    - chunk_size_factors (list) – Chunking data with multiple sizes. The specified list of factors are used to calculate more sizes, in addition to chunk_size.

    - score_multiplier_column (str) – If provided, will use the values in this metadata column to modify the relevance score of returned chunks for all queries.

    - prune_vectors (bool) – Transform vectors using SVD so that the average component of vectors in the corpus are removed.

    - index_metadata_columns (bool) – If True, metadata columns of the FG will also be used for indexing and querying.

    - use_document_summary (bool) – If True, uses the summary of the document in addition to chunks of the document for indexing and querying.

    - summary_instructions (str) – Instructions for the LLM to generate the document summary.

    - standalone_deployment (bool) – If True, the document retriever will be deployed as a standalone deployment.

  chunk_size: int = None
  chunk_overlap_fraction: float = None
  text_encoder: abacusai.api_class.enums.VectorStoreTextEncoder = None
  chunk_size_factors: list = None
  score_multiplier_column: str = None
  prune_vectors: bool = None
  index_metadata_columns: bool = None
  use_document_summary: bool = None
  summary_instructions: str = None
  standalone_deployment: bool = False

abacusai.api_class.DocumentRetrieverConfig

abacusai.api_class.deprecated_enums(*enum_values)

class abacusai.api_class.ApiEnum

  Bases: `enum.Enum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  __deprecated_values__ = []
  is_deprecated()
  __eq__(other)
  __hash__()

class abacusai.api_class.ProblemType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AI_AGENT = 'ai_agent'
  EVENT_ANOMALY = 'event_anomaly'
  CLUSTERING = 'clustering'
  CLUSTERING_TIMESERIES = 'clustering_timeseries'
  CUMULATIVE_FORECASTING = 'cumulative_forecasting'
  NAMED_ENTITY_EXTRACTION = 'nlp_ner'
  NATURAL_LANGUAGE_SEARCH = 'nlp_search'
  CHAT_LLM = 'chat_llm'
  SENTENCE_BOUNDARY_DETECTION = 'nlp_sentence_boundary_detection'
  SENTIMENT_DETECTION = 'nlp_sentiment'
  DOCUMENT_CLASSIFICATION = 'nlp_classification'
  DOCUMENT_SUMMARIZATION = 'nlp_summarization'
  DOCUMENT_VISUALIZATION = 'nlp_document_visualization'
  PERSONALIZATION = 'personalization'
  PREDICTIVE_MODELING = 'regression'
  FINETUNED_LLM = 'finetuned_llm'
  FORECASTING = 'forecasting'
  CUSTOM_TRAINED_MODEL = 'plug_and_play'
  CUSTOM_ALGORITHM = 'trainable_plug_and_play'
  FEATURE_STORE = 'feature_store'
  IMAGE_CLASSIFICATION = 'vision_classification'
  OBJECT_DETECTION = 'vision_object_detection'
  IMAGE_VALUE_PREDICTION = 'vision_regression'
  MODEL_MONITORING = 'model_monitoring'
  LANGUAGE_DETECTION = 'language_detection'
  OPTIMIZATION = 'optimization'
  PRETRAINED_MODELS = 'pretrained'
  THEME_ANALYSIS = 'theme_analysis'
  TS_ANOMALY = 'ts_anomaly'

class abacusai.api_class.RegressionObjective

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUC = 'auc'
  ACCURACY = 'acc'
  LOG_LOSS = 'log_loss'
  PRECISION = 'precision'
  RECALL = 'recall'
  F1_SCORE = 'fscore'
  MAE = 'mae'
  MAPE = 'mape'
  WAPE = 'wape'
  RMSE = 'rmse'
  R_SQUARED_COEFFICIENT_OF_DETERMINATION = 'r^2'

class abacusai.api_class.RegressionTreeHPOMode

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  RAPID = 'rapid'
  THOROUGH = 'thorough'

class abacusai.api_class.PartialDependenceAnalysis

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  RAPID = 'rapid'
  THOROUGH = 'thorough'

class abacusai.api_class.RegressionAugmentationStrategy

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  SMOTE = 'smote'
  RESAMPLE = 'resample'

class abacusai.api_class.RegressionTargetTransform

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  LOG = 'log'
  QUANTILE = 'quantile'
  YEO_JOHNSON = 'yeo-johnson'
  BOX_COX = 'box-cox'

class abacusai.api_class.RegressionTypeOfSplit

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  RANDOM = 'Random Sampling'
  TIMESTAMP_BASED = 'Timestamp Based'
  ROW_INDICATOR_BASED = 'Row Indicator Based'
  STRATIFIED_RANDOM_SAMPLING = 'Stratified Random Sampling'

class abacusai.api_class.RegressionTimeSplitMethod

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  TEST_SPLIT_PERCENTAGE_BASED = 'Test Split Percentage Based'
  TEST_START_TIMESTAMP_BASED = 'Test Start Timestamp Based'

class abacusai.api_class.RegressionLossFunction

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  HUBER = 'Huber'
  MSE = 'Mean Squared Error'
  MAE = 'Mean Absolute Error'
  MAPE = 'Mean Absolute Percentage Error'
  MSLE = 'Mean Squared Logarithmic Error'
  TWEEDIE = 'Tweedie'
  CROSS_ENTROPY = 'Cross Entropy'
  FOCAL_CROSS_ENTROPY = 'Focal Cross Entropy'
  AUTOMATIC = 'Automatic'
  CUSTOM = 'Custom'

class abacusai.api_class.ExplainerType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  KERNEL_EXPLAINER = 'KERNEL_EXPLAINER'
  LIME_EXPLAINER = 'LIME_EXPLAINER'
  TREE_EXPLAINER = 'TREE_EXPLAINER'
  EBM_EXPLAINER = 'EBM_EXPLAINER'

class abacusai.api_class.SamplingMethodType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  N_SAMPLING = 'N_SAMPLING'
  PERCENT_SAMPLING = 'PERCENT_SAMPLING'

class abacusai.api_class.MergeMode

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  LAST_N = 'LAST_N'
  TIME_WINDOW = 'TIME_WINDOW'

class abacusai.api_class.OperatorType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  UNPIVOT = 'UNPIVOT'
  MARKDOWN = 'MARKDOWN'
  CRAWLER = 'CRAWLER'
  EXTRACT_DOCUMENT_DATA = 'EXTRACT_DOCUMENT_DATA'
  DATA_GENERATION = 'DATA_GENERATION'
  UNION = 'UNION'

class abacusai.api_class.MarkdownOperatorInputType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  HTML = 'HTML'

class abacusai.api_class.FillLogic

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AVERAGE = 'average'
  MAX = 'max'
  MEDIAN = 'median'
  MIN = 'min'
  CUSTOM = 'custom'
  BACKFILL = 'bfill'
  FORWARDFILL = 'ffill'
  LINEAR = 'linear'
  NEAREST = 'nearest'

class abacusai.api_class.BatchSize

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  BATCH_8 = 8
  BATCH_16 = 16
  BATCH_32 = 32
  BATCH_64 = 64
  BATCH_128 = 128
  BATCH_256 = 256
  BATCH_384 = 384
  BATCH_512 = 512
  BATCH_740 = 740
  BATCH_1024 = 1024

class abacusai.api_class.HolidayCalendars

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AU = 'AU'
  UK = 'UK'
  US = 'US'

class abacusai.api_class.FileFormat

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AVRO = 'AVRO'
  PARQUET = 'PARQUET'
  TFRECORD = 'TFRECORD'
  TSV = 'TSV'
  CSV = 'CSV'
  ORC = 'ORC'
  JSON = 'JSON'
  ODS = 'ODS'
  XLS = 'XLS'
  GZ = 'GZ'
  ZIP = 'ZIP'
  TAR = 'TAR'
  DOCX = 'DOCX'
  PDF = 'PDF'
  MD = 'md'
  RAR = 'RAR'
  GIF = 'GIF'
  JPEG = 'JPG'
  PNG = 'PNG'
  TIF = 'TIFF'
  NUMBERS = 'NUMBERS'
  PPTX = 'PPTX'
  PPT = 'PPT'
  HTML = 'HTML'
  TXT = 'txt'
  EML = 'eml'
  MP3 = 'MP3'
  MP4 = 'MP4'
  FLV = 'flv'
  MOV = 'mov'
  MPG = 'mpg'
  MPEG = 'mpeg'
  WEBP = 'webp'
  WEBM = 'webm'
  WMV = 'wmv'
  MSG = 'msg'

class abacusai.api_class.ExperimentationMode

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  RAPID = 'rapid'
  THOROUGH = 'thorough'

class abacusai.api_class.PersonalizationTrainingMode

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  EXPERIMENTAL = 'EXP'
  PRODUCTION = 'PROD'

class abacusai.api_class.PersonalizationObjective

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  NDCG = 'ndcg'
  NDCG_5 = 'ndcg@5'
  NDCG_10 = 'ndcg@10'
  MAP = 'map'
  MAP_5 = 'map@5'
  MAP_10 = 'map@10'
  MRR = 'mrr'
  PERSONALIZATION = 'personalization@10'
  COVERAGE = 'coverage'

class abacusai.api_class.ForecastingObjective

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ACCURACY = 'w_c_accuracy'
  WAPE = 'wape'
  MAPE = 'mape'
  CMAPE = 'cmape'
  RMSE = 'rmse'
  CV = 'coefficient_of_variation'
  BIAS = 'bias'
  SRMSE = 'srmse'

class abacusai.api_class.ForecastingFrequency

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  HOURLY = '1H'
  DAILY = '1D'
  WEEKLY_SUNDAY_START = '1W'
  WEEKLY_MONDAY_START = 'W-MON'
  WEEKLY_SATURDAY_START = 'W-SAT'
  MONTH_START = 'MS'
  MONTH_END = '1M'
  QUARTER_START = 'QS'
  QUARTER_END = '1Q'
  YEARLY = '1Y'

class abacusai.api_class.ForecastingDataSplitType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUTO = 'Automatic Time Based'
  TIMESTAMP = 'Timestamp Based'
  ITEM = 'Item Based'
  PREDICTION_LENGTH = 'Force Prediction Length'
  L_SHAPED_AUTO = 'L-shaped Split - Automatic Time Based'
  L_SHAPED_TIMESTAMP = 'L-shaped Split - Timestamp Based'

class abacusai.api_class.ForecastingLossFunction

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  CUSTOM = 'Custom'
  MEAN_ABSOLUTE_ERROR = 'mae'
  NORMALIZED_MEAN_ABSOLUTE_ERROR = 'nmae'
  PEAKS_MEAN_ABSOLUTE_ERROR = 'peaks_mae'
  MEAN_ABSOLUTE_PERCENTAGE_ERROR = 'stable_mape'
  POINTWISE_ACCURACY = 'accuracy'
  ROOT_MEAN_SQUARE_ERROR = 'rmse'
  NORMALIZED_ROOT_MEAN_SQUARE_ERROR = 'nrmse'
  ASYMMETRIC_MEAN_ABSOLUTE_PERCENTAGE_ERROR = 'asymmetric_mape'
  STABLE_STANDARDIZED_MEAN_ABSOLUTE_PERCENTAGE_ERROR = 'stable_standardized_mape_with_cmape'
  GAUSSIAN = 'mle_gaussian_local'
  GAUSSIAN_FULL_COVARIANCE = 'mle_gaussfullcov'
  GUASSIAN_EXPONENTIAL = 'mle_gaussexp'
  MIX_GAUSSIANS = 'mle_gaussmix'
  WEIBULL = 'mle_weibull'
  NEGATIVE_BINOMIAL = 'mle_negbinom'
  LOG_ROOT_MEAN_SQUARE_ERROR = 'log_rmse'

class abacusai.api_class.ForecastingLocalScaling

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ZSCORE = 'zscore'
  SLIDING_ZSCORE = 'sliding_zscore'
  LAST_POINT = 'lastpoint'
  MIN_MAX = 'minmax'
  MIN_STD = 'minstd'
  ROBUST = 'robust'
  ITEM = 'item'

class abacusai.api_class.ForecastingFillMethod

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  BACK = 'BACK'
  MIDDLE = 'MIDDLE'
  FUTURE = 'FUTURE'

class abacusai.api_class.ForecastingQuanitlesExtensionMethod

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  DIRECT = 'direct'
  QUADRATIC = 'quadratic'
  ANCESTRAL_SIMULATION = 'simulation'

class abacusai.api_class.TimeseriesAnomalyDataSplitType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUTO = 'Automatic Time Based'
  TIMESTAMP = 'Fixed Timestamp Based'

class abacusai.api_class.TimeseriesAnomalyTypeOfAnomaly

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  HIGH_PEAK = 'high_peak'
  LOW_PEAK = 'low_peak'

class abacusai.api_class.TimeseriesAnomalyUseHeuristic

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ENABLE = 'enable'
  DISABLE = 'disable'
  AUTOMATIC = 'automatic'

class abacusai.api_class.NERObjective

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  LOG_LOSS = 'log_loss'
  AUC = 'auc'
  PRECISION = 'precision'
  RECALL = 'recall'
  ANNOTATIONS_PRECISION = 'annotations_precision'
  ANNOTATIONS_RECALL = 'annotations_recall'

class abacusai.api_class.NERModelType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  PRETRAINED_BERT = 'pretrained_bert'
  PRETRAINED_ROBERTA_27 = 'pretrained_roberta_27'
  PRETRAINED_ROBERTA_43 = 'pretrained_roberta_43'
  PRETRAINED_MULTILINGUAL = 'pretrained_multilingual'
  LEARNED = 'learned'

class abacusai.api_class.NLPDocumentFormat

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUTO = 'auto'
  TEXT = 'text'
  DOC = 'doc'
  TOKENS = 'tokens'

class abacusai.api_class.SentimentType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  VALENCE = 'valence'
  EMOTION = 'emotion'

class abacusai.api_class.ClusteringImputationMethod

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUTOMATIC = 'Automatic'
  ZEROS = 'Zeros'
  INTERPOLATE = 'Interpolate'

class abacusai.api_class.ConnectorType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  FILE = 'FILE'
  DATABASE = 'DATABASE'
  STREAMING = 'STREAMING'
  APPLICATION = 'APPLICATION'

class abacusai.api_class.ApplicationConnectorType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  GOOGLEANALYTICS = 'GOOGLEANALYTICS'
  GOOGLEDRIVE = 'GOOGLEDRIVE'
  GOOGLECALENDAR = 'GOOGLECALENDAR'
  GIT = 'GIT'
  CONFLUENCE = 'CONFLUENCE'
  JIRA = 'JIRA'
  ONEDRIVE = 'ONEDRIVE'
  ZENDESK = 'ZENDESK'
  SLACK = 'SLACK'
  SHAREPOINT = 'SHAREPOINT'
  TEAMS = 'TEAMS'
  ABACUSUSAGEMETRICS = 'ABACUSUSAGEMETRICS'
  MICROSOFTAUTH = 'MICROSOFTAUTH'
  FRESHSERVICE = 'FRESHSERVICE'
  ZENDESKSUNSHINEMESSAGING = 'ZENDESKSUNSHINEMESSAGING'
  GOOGLEDRIVEUSER = 'GOOGLEDRIVEUSER'
  GOOGLEWORKSPACEUSER = 'GOOGLEWORKSPACEUSER'
  GMAILUSER = 'GMAILUSER'
  GOOGLESHEETS = 'GOOGLESHEETS'
  GOOGLEDOCS = 'GOOGLEDOCS'
  TEAMSSCRAPER = 'TEAMSSCRAPER'
  GITHUBUSER = 'GITHUBUSER'
  OKTASAML = 'OKTASAML'
  BOX = 'BOX'
  SFTPAPPLICATION = 'SFTPAPPLICATION'
  OAUTH = 'OAUTH'

class abacusai.api_class.StreamingConnectorType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  KAFKA = 'KAFKA'

class abacusai.api_class.PythonFunctionArgumentType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  FEATURE_GROUP = 'FEATURE_GROUP'
  INTEGER = 'INTEGER'
  STRING = 'STRING'
  BOOLEAN = 'BOOLEAN'
  FLOAT = 'FLOAT'
  JSON = 'JSON'
  LIST = 'LIST'
  DATASET_ID = 'DATASET_ID'
  MODEL_ID = 'MODEL_ID'
  FEATURE_GROUP_ID = 'FEATURE_GROUP_ID'
  MONITOR_ID = 'MONITOR_ID'
  BATCH_PREDICTION_ID = 'BATCH_PREDICTION_ID'
  DEPLOYMENT_ID = 'DEPLOYMENT_ID'
  ATTACHMENT = 'ATTACHMENT'
  static to_json_type(type)

class abacusai.api_class.PythonFunctionOutputArgumentType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  NTEGER = 'INTEGER'
  STRING = 'STRING'
  BOOLEAN = 'BOOLEAN'
  FLOAT = 'FLOAT'
  JSON = 'JSON'
  LIST = 'LIST'
  DATASET_ID = 'DATASET_ID'
  MODEL_ID = 'MODEL_ID'
  FEATURE_GROUP_ID = 'FEATURE_GROUP_ID'
  MONITOR_ID = 'MONITOR_ID'
  BATCH_PREDICTION_ID = 'BATCH_PREDICTION_ID'
  DEPLOYMENT_ID = 'DEPLOYMENT_ID'
  ANY = 'ANY'
  ATTACHMENT = 'ATTACHMENT'

class abacusai.api_class.VectorStoreTextEncoder

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  E5 = 'E5'
  OPENAI = 'OPENAI'
  OPENAI_COMPACT = 'OPENAI_COMPACT'
  OPENAI_LARGE = 'OPENAI_LARGE'
  SENTENCE_BERT = 'SENTENCE_BERT'
  E5_SMALL = 'E5_SMALL'
  CODE_BERT = 'CODE_BERT'

class abacusai.api_class.LLMName

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  OPENAI_GPT4 = 'OPENAI_GPT4'
  OPENAI_GPT4_32K = 'OPENAI_GPT4_32K'
  OPENAI_GPT4_128K = 'OPENAI_GPT4_128K'
  OPENAI_GPT4_128K_LATEST = 'OPENAI_GPT4_128K_LATEST'
  OPENAI_GPT4O = 'OPENAI_GPT4O'
  OPENAI_GPT4O_MINI = 'OPENAI_GPT4O_MINI'
  OPENAI_O1_MINI = 'OPENAI_O1_MINI'
  OPENAI_GPT4_1 = 'OPENAI_GPT4_1'
  OPENAI_GPT4_1_MINI = 'OPENAI_GPT4_1_MINI'
  OPENAI_GPT3_5 = 'OPENAI_GPT3_5'
  OPENAI_GPT3_5_TEXT = 'OPENAI_GPT3_5_TEXT'
  LLAMA3_1_405B = 'LLAMA3_1_405B'
  LLAMA3_1_70B = 'LLAMA3_1_70B'
  LLAMA3_1_8B = 'LLAMA3_1_8B'
  LLAMA3_3_70B = 'LLAMA3_3_70B'
  LLAMA3_LARGE_CHAT = 'LLAMA3_LARGE_CHAT'
  CLAUDE_V3_OPUS = 'CLAUDE_V3_OPUS'
  CLAUDE_V3_SONNET = 'CLAUDE_V3_SONNET'
  CLAUDE_V3_HAIKU = 'CLAUDE_V3_HAIKU'
  CLAUDE_V3_5_SONNET = 'CLAUDE_V3_5_SONNET'
  CLAUDE_V3_7_SONNET = 'CLAUDE_V3_7_SONNET'
  CLAUDE_V3_5_HAIKU = 'CLAUDE_V3_5_HAIKU'
  GEMINI_1_5_PRO = 'GEMINI_1_5_PRO'
  GEMINI_2_FLASH = 'GEMINI_2_FLASH'
  GEMINI_2_FLASH_THINKING = 'GEMINI_2_FLASH_THINKING'
  GEMINI_2_PRO = 'GEMINI_2_PRO'
  ABACUS_SMAUG3 = 'ABACUS_SMAUG3'
  ABACUS_DRACARYS = 'ABACUS_DRACARYS'
  QWEN_2_5_32B = 'QWEN_2_5_32B'
  QWEN_2_5_32B_BASE = 'QWEN_2_5_32B_BASE'
  QWEN_2_5_72B = 'QWEN_2_5_72B'
  QWQ_32B = 'QWQ_32B'
  QWEN3_235B_A22B = 'QWEN3_235B_A22B'
  GEMINI_1_5_FLASH = 'GEMINI_1_5_FLASH'
  XAI_GROK = 'XAI_GROK'
  XAI_GROK_3 = 'XAI_GROK_3'
  XAI_GROK_3_MINI = 'XAI_GROK_3_MINI'
  DEEPSEEK_V3 = 'DEEPSEEK_V3'
  DEEPSEEK_R1 = 'DEEPSEEK_R1'

class abacusai.api_class.MonitorAlertType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ACCURACY_BELOW_THRESHOLD = 'AccuracyBelowThreshold'
  FEATURE_DRIFT = 'FeatureDrift'
  DATA_INTEGRITY_VIOLATIONS = 'DataIntegrityViolations'
  BIAS_VIOLATIONS = 'BiasViolations'
  HISTORY_LENGTH_DRIFT = 'HistoryLengthDrift'
  TARGET_DRIFT = 'TargetDrift'
  PREDICTION_COUNT = 'PredictionCount'

class abacusai.api_class.FeatureDriftType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  KL = 'kl'
  KS = 'ks'
  WS = 'ws'
  JS = 'js'
  PSI = 'psi'
  CHI_SQUARE = 'chi_square'
  CSI = 'csi'

class abacusai.api_class.DataIntegrityViolationType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  NULL_VIOLATIONS = 'null_violations'
  RANGE_VIOLATIONS = 'range_violations'
  CATEGORICAL_RANGE_VIOLATION = 'categorical_range_violations'
  TOTAL_VIOLATIONS = 'total_violations'

class abacusai.api_class.BiasType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  DEMOGRAPHIC_PARITY = 'demographic_parity'
  EQUAL_OPPORTUNITY = 'equal_opportunity'
  GROUP_BENEFIT_EQUALITY = 'group_benefit'
  TOTAL = 'total'

class abacusai.api_class.AlertActionType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  EMAIL = 'Email'

class abacusai.api_class.PythonFunctionType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  FEATURE_GROUP = 'FEATURE_GROUP'
  PLOTLY_FIG = 'PLOTLY_FIG'
  STEP_FUNCTION = 'STEP_FUNCTION'
  USERCODE_TOOL = 'USERCODE_TOOL'
  CONNECTOR_TOOL = 'CONNECTOR_TOOL'

class abacusai.api_class.EvalArtifactType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  FORECASTING_ACCURACY = 'bar_chart'
  FORECASTING_VOLUME = 'bar_chart_volume'
  FORECASTING_HISTORY_LENGTH_ACCURACY = 'bar_chart_accuracy_by_history'

class abacusai.api_class.FieldDescriptorType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  STRING = 'STRING'
  INTEGER = 'INTEGER'
  FLOAT = 'FLOAT'
  BOOLEAN = 'BOOLEAN'
  DATETIME = 'DATETIME'
  DATE = 'DATE'

class abacusai.api_class.WorkflowNodeInputType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  USER_INPUT = 'USER_INPUT'
  WORKFLOW_VARIABLE = 'WORKFLOW_VARIABLE'
  IGNORE = 'IGNORE'
  CONSTANT = 'CONSTANT'

class abacusai.api_class.WorkflowNodeOutputType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ATTACHMENT = 'ATTACHMENT'
  BOOLEAN = 'BOOLEAN'
  FLOAT = 'FLOAT'
  INTEGER = 'INTEGER'
  DICT = 'DICT'
  LIST = 'LIST'
  STRING = 'STRING'
  RUNTIME_SCHEMA = 'RUNTIME_SCHEMA'
  ANY = 'ANY'
  classmethod normalize_type(python_type)
    Parameters:

      python_type (Union[str, type, None, WorkflowNodeOutputType, PythonFunctionOutputArgumentType])

    Return type:

      WorkflowNodeOutputType

class abacusai.api_class.OcrMode

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AUTO = 'AUTO'
  DEFAULT = 'DEFAULT'
  LAYOUT = 'LAYOUT'
  SCANNED = 'SCANNED'
  COMPREHENSIVE = 'COMPREHENSIVE'
  COMPREHENSIVE_V2 = 'COMPREHENSIVE_V2'
  COMPREHENSIVE_TABLE_MD = 'COMPREHENSIVE_TABLE_MD'
  COMPREHENSIVE_FORM_MD = 'COMPREHENSIVE_FORM_MD'
  COMPREHENSIVE_FORM_AND_TABLE_MD = 'COMPREHENSIVE_FORM_AND_TABLE_MD'
  TESSERACT_FAST = 'TESSERACT_FAST'
  LLM = 'LLM'
  AUGMENTED_LLM = 'AUGMENTED_LLM'
  classmethod aws_ocr_modes()

class abacusai.api_class.DocumentType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  SIMPLE_TEXT = 'SIMPLE_TEXT'
  TEXT = 'TEXT'
  TABLES_AND_FORMS = 'TABLES_AND_FORMS'
  EMBEDDED_IMAGES = 'EMBEDDED_IMAGES'
  SCANNED_TEXT = 'SCANNED_TEXT'
  COMPREHENSIVE_MARKDOWN = 'COMPREHENSIVE_MARKDOWN'
  classmethod is_ocr_forced(document_type)
    Parameters:

      document_type (DocumentType)

class abacusai.api_class.StdDevThresholdType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ABSOLUTE = 'ABSOLUTE'
  PERCENTILE = 'PERCENTILE'
  STDDEV = 'STDDEV'

class abacusai.api_class.DataType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  INTEGER = 'integer'
  FLOAT = 'float'
  STRING = 'string'
  DATE = 'date'
  DATETIME = 'datetime'
  BOOLEAN = 'boolean'
  LIST = 'list'
  STRUCT = 'struct'
  NULL = 'null'
  BINARY = 'binary'

class abacusai.api_class.AgentInterface

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  DEFAULT = 'DEFAULT'
  CHAT = 'CHAT'
  MATRIX = 'MATRIX'
  AUTONOMOUS = 'AUTONOMOUS'

class abacusai.api_class.WorkflowNodeTemplateType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  TRIGGER = 'trigger'
  DEFAULT = 'default'

class abacusai.api_class.ProjectConfigType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  CONSTRAINTS = 'CONSTRAINTS'
  CHAT_FEEDBACK = 'CHAT_FEEDBACK'
  REVIEW_MODE = 'REVIEW_MODE'

class abacusai.api_class.CPUSize

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  SMALL = 'small'
  MEDIUM = 'medium'
  LARGE = 'large'

class abacusai.api_class.MemorySize

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  SMALL = 16
  MEDIUM = 32
  LARGE = 64
  XLARGE = 128
  classmethod from_value(value)

class abacusai.api_class.ResponseSectionType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  AGENT_FLOW_BUTTON = 'agent_flow_button'
  ATTACHMENTS = 'attachments'
  BASE64_IMAGE = 'base64_image'
  CHART = 'chart'
  CODE = 'code'
  COLLAPSIBLE_COMPONENT = 'collapsible_component'
  IMAGE_URL = 'image_url'
  RUNTIME_SCHEMA = 'runtime_schema'
  LIST = 'list'
  TABLE = 'table'
  TEXT = 'text'

class abacusai.api_class.CodeLanguage

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  PYTHON = 'python'
  SQL = 'sql'

class abacusai.api_class.DeploymentConversationType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  CHAT_LLM = 'CHATLLM'
  SIMPLE_AGENT = 'SIMPLE_AGENT'
  COMPLEX_AGENT = 'COMPLEX_AGENT'
  WORKFLOW_AGENT = 'WORKFLOW_AGENT'
  COPILOT = 'COPILOT'
  AGENT_CONTROLLER = 'AGENT_CONTROLLER'
  CODE_LLM = 'CODE_LLM'
  CODE_LLM_AGENT = 'CODE_LLM_AGENT'
  CHAT_LLM_TASK = 'CHAT_LLM_TASK'
  COMPUTER_AGENT = 'COMPUTER_AGENT'
  SEARCH_LLM = 'SEARCH_LLM'
  APP_LLM = 'APP_LLM'
  TEST_AGENT = 'TEST_AGENT'
  SUPER_AGENT = 'SUPER_AGENT'

class abacusai.api_class.AgentClientType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  CHAT_UI = 'CHAT_UI'
  MESSAGING_APP = 'MESSAGING_APP'
  API = 'API'

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.DocumentProcessingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Document processing configuration.

  Parameters:

    - document_type (DocumentType) – Type of document. Can be one of Text, Tables and Forms, Embedded Images, etc. If not specified, type will be decided automatically.

    - highlight_relevant_text (bool) – Whether to extract bounding boxes and highlight relevant text in search results. Defaults to False.

    - extract_bounding_boxes (bool) – Whether to perform OCR and extract bounding boxes. If False, no OCR will be done but only the embedded text from digital documents will be extracted. Defaults to False.

    - ocr_mode (OcrMode) – OCR mode. There are different OCR modes available for different kinds of documents and use cases. This option only takes effect when extract_bounding_boxes is True.

    - use_full_ocr (bool) – Whether to perform full OCR. If True, OCR will be performed on the full page. If False, OCR will be performed on the non-text regions only. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - remove_header_footer (bool) – Whether to remove headers and footers. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - remove_watermarks (bool) – Whether to remove watermarks. By default, it will be decided automatically based on the OCR mode and the document type. This option only takes effect when extract_bounding_boxes is True.

    - convert_to_markdown (bool) – Whether to convert extracted text to markdown. Defaults to False. This option only takes effect when extract_bounding_boxes is True.

    - mask_pii (bool) – Whether to mask personally identifiable information (PII) in the document text/tokens. Defaults to False.

    - extract_images (bool) – Whether to extract images from the document e.g. diagrams in a PDF page. Defaults to False.

  document_type: abacusai.api_class.enums.DocumentType = None
  highlight_relevant_text: bool = None
  extract_bounding_boxes: bool = False
  ocr_mode: abacusai.api_class.enums.OcrMode
  use_full_ocr: bool = None
  remove_header_footer: bool = False
  remove_watermarks: bool = True
  convert_to_markdown: bool = False
  mask_pii: bool = False
  extract_images: bool = False
  __post_init__()
  _detect_ocr_mode()
  classmethod _get_filtered_dict(config)

    Filters out default values from the config

    Parameters:

      config (dict)

class abacusai.api_class.SamplingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for the sampling config of a feature group

  sampling_method: abacusai.api_class.enums.SamplingMethodType = None
  classmethod _get_builder()
  __post_init__()

class abacusai.api_class.NSamplingConfig

  Bases: `SamplingConfig`

  The number of distinct values of the key columns to include in the sample, or number of rows if key columns not specified.

  Parameters:

    - sample_count (int) – The number of rows to include in the sample

    - key_columns (List[str]) – The feature(s) to use as the key(s) when sampling

  sample_count: int
  key_columns: List[str] = []
  __post_init__()

class abacusai.api_class.PercentSamplingConfig

  Bases: `SamplingConfig`

  The fraction of distinct values of the feature group to include in the sample.

  Parameters:

    - sample_percent (float) – The percentage of the rows to sample

    - key_columns (List[str]) – The feature(s) to use as the key(s) when sampling

  sample_percent: float
  key_columns: List[str] = []
  __post_init__()

class abacusai.api_class._SamplingConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_class_key = 'sampling_method'
  config_abstract_class
  config_class_map

class abacusai.api_class.MergeConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for the merge config of a feature group

  merge_mode: abacusai.api_class.enums.MergeMode = None
  classmethod _get_builder()
  __post_init__()

class abacusai.api_class.LastNMergeConfig

  Bases: `MergeConfig`

  Merge LAST N chunks/versions of an incremental dataset.

  Parameters:

    - num_versions (int) – The number of versions to merge. num_versions == 0 means merge all versions.

    - include_version_timestamp_column (bool) – If set, include a column with the creation timestamp of source FG versions.

  num_versions: int
  include_version_timestamp_column: bool = None
  __post_init__()

class abacusai.api_class.TimeWindowMergeConfig

  Bases: `MergeConfig`

  Merge rows within a given timewindow of the most recent timestamp

  Parameters:

    - feature_name (str) – Time based column to index on

    - time_window_size_ms (int) – Range of merged rows will be [MAX_TIME - time_window_size_ms, MAX_TIME]

    - include_version_timestamp_column (bool) – If set, include a column with the creation timestamp of source FG versions.

  feature_name: str
  time_window_size_ms: int
  include_version_timestamp_column: bool = None
  __post_init__()

class abacusai.api_class._MergeConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_class_key = 'merge_mode'
  config_abstract_class
  config_class_map

class abacusai.api_class.OperatorConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Configuration for a template Feature Group Operation

  operator_type: abacusai.api_class.enums.OperatorType = None
  classmethod _get_builder()
  __post_init__()

class abacusai.api_class.UnpivotConfig

  Bases: `OperatorConfig`

  Unpivot Columns in a FeatureGroup.

  Parameters:

    - columns (List[str]) – Which columns to unpivot.

    - index_column (str) – Name of new column containing the unpivoted column names as its values

    - value_column (str) – Name of new column containing the row values that were unpivoted.

    - exclude (bool) – If True, the unpivoted columns are all the columns EXCEPT the ones in the columns argument. Default is False.

  columns: List[str] = None
  index_column: str = None
  value_column: str = None
  exclude: bool = None
  __post_init__()

class abacusai.api_class.MarkdownConfig

  Bases: `OperatorConfig`

  Transform a input column to a markdown column.

  Parameters:

    - input_column (str) – Name of input column to transform.

    - output_column (str) – Name of output column to store transformed data.

    - input_column_type (MarkdownOperatorInputType) – Type of input column to transform.

  input_column: str = None
  output_column: str = None
  input_column_type: abacusai.api_class.enums.MarkdownOperatorInputType = None
  __post_init__()

class abacusai.api_class.CrawlerTransformConfig

  Bases: `OperatorConfig`

  Transform a input column of urls to html text

  Parameters:

    - input_column (str) – Name of input column to transform.

    - output_column (str) – Name of output column to store transformed data.

    - depth_column (str) – Increasing depth explores more links, capturing more content

    - disable_host_restriction (bool) – If True, will not restrict crawling to the same host.

    - honour_website_rules (bool) – If True, will respect robots.txt rules.

    - user_agent (str) – If provided, will use this user agent instead of randomly selecting one.

  input_column: str = None
  output_column: str = None
  depth_column: str = None
  input_column_type: str = None
  crawl_depth: int = None
  disable_host_restriction: bool = None
  honour_website_rules: bool = None
  user_agent: str = None
  __post_init__()

class abacusai.api_class.ExtractDocumentDataConfig

  Bases: `OperatorConfig`

  Extracts data from documents.

  Parameters:

    - doc_id_column (str) – Name of input document ID column.

    - document_column (str) – Name of the input document column which contains the page infos. This column will be transformed to include the document processing config in the output feature group.

    - document_processing_config (DocumentProcessingConfig) – Document processing configuration.

  doc_id_column: str = None
  document_column: str = None
  document_processing_config: abacusai.api_class.dataset.DocumentProcessingConfig = None
  __post_init__()

class abacusai.api_class.DataGenerationConfig

  Bases: `OperatorConfig`

  Generate synthetic data using a model for finetuning an LLM.

  Parameters:

    - prompt_col (str) – Name of the input prompt column.

    - completion_col (str) – Name of the output completion column.

    - description_col (str) – Name of the description column.

    - id_col (str) – Name of the identifier column.

    - generation_instructions (str) – Instructions for the data generation model.

    - temperature (float) – Sampling temperature for the model.

    - fewshot_examples (int) – Number of fewshot examples used to prompt the model.

    - concurrency (int) – Number of concurrent processes.

    - examples_per_target (int) – Number of examples per target.

    - subset_size (Optional[int]) – Size of the subset to use for generation.

    - verify_response (bool) – Whether to verify the response.

    - token_budget (int) – Token budget for generation.

    - oversample (bool) – Whether to oversample the data.

    - documentation_char_limit (int) – Character limit for documentation.

    - frequency_penalty (float) – Penalty for frequency of token appearance.

    - model (str) – Model to use for data generation.

    - seed (Optional[int]) – Seed for random number generation.

  prompt_col: str = None
  completion_col: str = None
  description_col: str = None
  id_col: str = None
  generation_instructions: str = None
  temperature: float = None
  fewshot_examples: int = None
  concurrency: int = None
  examples_per_target: int = None
  subset_size: int = None
  verify_response: bool = None
  token_budget: int = None
  oversample: bool = None
  documentation_char_limit: int = None
  frequency_penalty: float = None
  model: str = None
  seed: int = None
  __post_init__()

class abacusai.api_class.UnionTransformConfig

  Bases: `OperatorConfig`

  Takes Union of current feature group with 1 or more selected feature groups of same type.

  Parameters:

    - feature_group_ids (List[str]) – List of feature group IDs to union with source FG.

    - drop_non_intersecting_columns (bool) – If true, will drop columns that are not present in all feature groups. If false fills missing columns with nulls.

  feature_group_ids: List[str] = None
  drop_non_intersecting_columns: bool = False
  __post_init__()

class abacusai.api_class._OperatorConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  A class to select and return the the correct type of Operator Config based on a serialized OperatorConfig instance.

  config_abstract_class
  config_class_key = 'operator_type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.TrainingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for the training config options used to train the model.

  _upper_snake_case_keys: bool = True
  _support_kwargs: bool = True
  kwargs: dict
  problem_type: abacusai.api_class.enums.ProblemType = None
  algorithm: str = None
  classmethod _get_builder()

class abacusai.api_class.PersonalizationTrainingConfig

  Bases: `TrainingConfig`

  Training config for the PERSONALIZATION problem type

  Parameters:

    - objective (PersonalizationObjective) – Ranking scheme used to select final best model.

    - sort_objective (PersonalizationObjective) – Ranking scheme used to sort models on the metrics page.

    - training_mode (PersonalizationTrainingMode) – whether to train in production or experimental mode. Defaults to EXP.

    - target_action_types (List[str]) – List of action types to use as targets for training.

    - target_action_weights (Dict[str, float]) – Dictionary of action types to weights for training.

    - session_event_types (List[str]) – List of event types to treat as occurrences of sessions.

    - test_split (int) – 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.

    - recent_days_for_training (int) – Limit training data to a certain latest number of days.

    - training_start_date (str) – Only consider training interaction data after this date. Specified in the timezone of the dataset.

    - test_on_user_split (bool) – Use user splits instead of using time splits, when validating and testing the model.

    - test_split_on_last_k_items (bool) – Use last k items instead of global timestamp splits, when validating and testing the model.

    - test_last_items_length (int) – Number of items to leave out for each user when using leave k out folds.

    - test_window_length_hours (int) – Duration (in hours) of most recent time window to use when validating and testing the model.

    - explicit_time_split (bool) – Sets an explicit time-based test boundary.

    - test_row_indicator (str) – Column indicating which rows to use for training (TRAIN), validation (VAL) and testing (TEST).

    - full_data_retraining (bool) – Train models separately with all the data.

    - sequential_training (bool) – Train a mode sequentially through time.

    - data_split_feature_group_table_name (str) – Specify the table name of the feature group to export training data with the fold column.

    - optimized_event_type (str) – The final event type to optimize for and compute metrics on.

    - dropout_rate (int) – Dropout rate for neural network.

    - batch_size (BatchSize) – Batch size for neural network.

    - disable_transformer (bool) – Disable training the transformer algorithm.

    - disable_gpu (boo) – Disable training on GPU.

    - filter_history (bool) – Do not recommend items the user has already interacted with.

    - action_types_exclusion_days (Dict[str, float]) – Mapping from action type to number of days for which we exclude previously interacted items from prediction

    - session_dedupe_mins (float) – Minimum number of minutes between two sessions for a user.

    - max_history_length (int) – Maximum length of user-item history to include user in training examples.

    - compute_rerank_metrics (bool) – Compute metrics based on rerank results.

    - add_time_features (bool) – Include interaction time as a feature.

    - disable_timestamp_scalar_features (bool) – Exclude timestamp scalar features.

    - compute_session_metrics (bool) – Evaluate models based on how well they are able to predict the next session of interactions.

    - max_user_history_len_percentile (int) – Filter out users with history length above this percentile.

    - downsample_item_popularity_percentile (float) – Downsample items more popular than this percentile.

    - use_user_id_feature (bool) – Use user id as a feature in CTR models.

    - min_item_history (int) – Minimum number of interactions an item must have to be included in training.

    - query_column (str) – Name of column in the interactions table that represents a natural language query, e.g. ‘blue t-shirt’.

    - item_query_column (str) – Name of column in the item catalog that will be matched to the query column in the interactions table.

    - include_item_id_feature (bool) – Add Item-Id to the input features of the model. Applicable for Embedding distance and CTR models.

  objective: abacusai.api_class.enums.PersonalizationObjective = None
  sort_objective: abacusai.api_class.enums.PersonalizationObjective = None
  training_mode: abacusai.api_class.enums.PersonalizationTrainingMode = None
  target_action_types: List[str] = None
  target_action_weights: Dict[str, float] = None
  session_event_types: List[str] = None
  test_split: int = None
  recent_days_for_training: int = None
  training_start_date: str = None
  test_on_user_split: bool = None
  test_split_on_last_k_items: bool = None
  test_last_items_length: int = None
  test_window_length_hours: int = None
  explicit_time_split: bool = None
  test_row_indicator: str = None
  full_data_retraining: bool = None
  sequential_training: bool = None
  data_split_feature_group_table_name: str = None
  optimized_event_type: str = None
  dropout_rate: int = None
  batch_size: abacusai.api_class.enums.BatchSize = None
  disable_transformer: bool = None
  disable_gpu: bool = None
  filter_history: bool = None
  action_types_exclusion_days: Dict[str, float] = None
  max_history_length: int = None
  compute_rerank_metrics: bool = None
  add_time_features: bool = None
  disable_timestamp_scalar_features: bool = None
  compute_session_metrics: bool = None
  query_column: str = None
  item_query_column: str = None
  use_user_id_feature: bool = None
  session_dedupe_mins: float = None
  include_item_id_feature: bool = None
  max_user_history_len_percentile: int = None
  downsample_item_popularity_percentile: float = None
  min_item_history: int = None
  __post_init__()

class abacusai.api_class.RegressionTrainingConfig

  Bases: `TrainingConfig`

  Training config for the PREDICTIVE_MODELING problem type

  Parameters:

    - objective (RegressionObjective) – Ranking scheme used to select final best model.

    - sort_objective (RegressionObjective) – Ranking scheme used to sort models on the metrics page.

    - tree_hpo_mode – (RegressionTreeHPOMode): Turning off Rapid Experimentation will take longer to train.

    - type_of_split (RegressionTypeOfSplit) – Type of data splitting into train/test (validation also).

    - test_split (int) – 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.

    - disable_test_val_fold (bool) – Do not create a TEST_VAL set. All records which would be part of the TEST_VAL fold otherwise, remain in the TEST fold.

    - k_fold_cross_validation (bool) – Use this to force k-fold cross validation bagging on or off.

    - num_cv_folds (int) – Specify the value of k in k-fold cross validation.

    - timestamp_based_splitting_column (str) – Timestamp column selected for splitting into test and train.

    - timestamp_based_splitting_method (RegressionTimeSplitMethod) – Method of selecting TEST set, top percentile wise or after a given timestamp.

    - test_splitting_timestamp (str) – Rows with timestamp greater than this will be considered to be in the test set.

    - sampling_unit_keys (List[str]) – Constrain train/test separation to partition a column.

    - test_row_indicator (str) – Column indicating which rows to use for training (TRAIN) and testing (TEST). Validation (VAL) can also be specified.

    - full_data_retraining (bool) – Train models separately with all the data.

    - rebalance_classes (bool) – 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.

    - rare_class_augmentation_threshold (float) – 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.

    - augmentation_strategy (RegressionAugmentationStrategy) – Strategy to deal with class imbalance and data augmentation.

    - training_rows_downsample_ratio (float) – Uses this ratio to train on a sample of the dataset provided.

    - active_labels_column (str) – Specify a column to use as the active columns in a multi label setting.

    - min_categorical_count (int) – Minimum threshold to consider a value different from the unknown placeholder.

    - sample_weight (str) – Specify a column to use as the weight of a sample for training and eval.

    - numeric_clipping_percentile (float) – Uses this option to clip the top and bottom x percentile of numeric feature columns where x is the value of this option.

    - target_transform (RegressionTargetTransform) – Specify a transform (e.g. log, quantile) to apply to the target variable.

    - ignore_datetime_features (bool) – Remove all datetime features from the model. Useful while generalizing to different time periods.

    - max_text_words (int) – Maximum number of words to use from text fields.

    - perform_feature_selection (bool) – 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.

    - feature_selection_intensity (int) – This determines the strictness with which features will be filtered out. 1 being very lenient (more features kept), 100 being very strict.

    - batch_size (BatchSize) – Batch size.

    - dropout_rate (int) – Dropout percentage rate.

    - pretrained_model_name (str) – Enable algorithms which process text using pretrained multilingual NLP models.

    - pretrained_llm_name (str) – Enable algorithms which process text using pretrained large language models.

    - is_multilingual (bool) – Enable algorithms which process text using pretrained multilingual NLP models.

    - loss_function (RegressionLossFunction) – Loss function to be used as objective for model training.

    - loss_parameters (str) – Loss function params in format <key>=<value>;<key>=<value>;…..

    - target_encode_categoricals (bool) – Use this to turn target encoding on categorical features on or off.

    - drop_original_categoricals (bool) – This option helps us choose whether to also feed the original label encoded categorical columns to the mdoels along with their target encoded versions.

    - monotonically_increasing_features (List[str]) – Constrain the model such that it behaves as if the target feature is monotonically increasing with the selected features

    - monotonically_decreasing_features (List[str]) – Constrain the model such that it behaves as if the target feature is monotonically decreasing with the selected features

    - data_split_feature_group_table_name (str) – Specify the table name of the feature group to export training data with the fold column.

    - custom_loss_functions (List[str]) – Registered custom losses available for selection.

    - custom_metrics (List[str]) – Registered custom metrics available for selection.

    - partial_dependence_analysis (PartialDependenceAnalysis) – Specify whether to run partial dependence plots for all features or only some features.

    - do_masked_language_model_pretraining (bool) – Specify whether to run a masked language model unsupervised pretraining step before supervized training in certain supported algorithms which use BERT-like backbones.

    - max_tokens_in_sentence (int) – Specify the max tokens to be kept in a sentence based on the truncation strategy.

    - truncation_strategy (str) – 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”).

  objective: abacusai.api_class.enums.RegressionObjective = None
  sort_objective: abacusai.api_class.enums.RegressionObjective = None
  tree_hpo_mode: abacusai.api_class.enums.RegressionTreeHPOMode = None
  partial_dependence_analysis: abacusai.api_class.enums.PartialDependenceAnalysis = None
  type_of_split: abacusai.api_class.enums.RegressionTypeOfSplit = None
  test_split: int = None
  disable_test_val_fold: bool = None
  k_fold_cross_validation: bool = None
  num_cv_folds: int = None
  timestamp_based_splitting_column: str = None
  timestamp_based_splitting_method: abacusai.api_class.enums.RegressionTimeSplitMethod = None
  test_splitting_timestamp: str = None
  sampling_unit_keys: List[str] = None
  test_row_indicator: str = None
  full_data_retraining: bool = None
  rebalance_classes: bool = None
  rare_class_augmentation_threshold: float = None
  augmentation_strategy: abacusai.api_class.enums.RegressionAugmentationStrategy = None
  training_rows_downsample_ratio: float = None
  active_labels_column: str = None
  min_categorical_count: int = None
  sample_weight: str = None
  numeric_clipping_percentile: float = None
  target_transform: abacusai.api_class.enums.RegressionTargetTransform = None
  ignore_datetime_features: bool = None
  max_text_words: int = None
  perform_feature_selection: bool = None
  feature_selection_intensity: int = None
  batch_size: abacusai.api_class.enums.BatchSize = None
  dropout_rate: int = None
  pretrained_model_name: str = None
  pretrained_llm_name: str = None
  is_multilingual: bool = None
  do_masked_language_model_pretraining: bool = None
  max_tokens_in_sentence: int = None
  truncation_strategy: str = None
  loss_function: abacusai.api_class.enums.RegressionLossFunction = None
  loss_parameters: str = None
  target_encode_categoricals: bool = None
  drop_original_categoricals: bool = None
  monotonically_increasing_features: List[str] = None
  monotonically_decreasing_features: List[str] = None
  data_split_feature_group_table_name: str = None
  custom_loss_functions: List[str] = None
  custom_metrics: List[str] = None
  __post_init__()

class abacusai.api_class.ForecastingTrainingConfig

  Bases: `TrainingConfig`

  Training config for the FORECASTING problem type

  Parameters:

    - prediction_length (int) – How many timesteps in the future to predict.

    - objective (ForecastingObjective) – Ranking scheme used to select final best model.

    - sort_objective (ForecastingObjective) – Ranking scheme used to sort models on the metrics page.

    - forecast_frequency (ForecastingFrequency) – Forecast frequency.

    - probability_quantiles (List[float]) – Prediction quantiles.

    - force_prediction_length (int) – Force length of test window to be the same as prediction length.

    - filter_items (bool) – Filter items with small history and volume.

    - enable_feature_selection (bool) – Enable feature selection.

    - enable_padding (bool) – Pad series to the max_date of the dataset

    - enable_cold_start (bool) – Enable cold start forecasting by training/predicting for zero history items.

    - enable_multiple_backtests (bool) – Whether to enable multiple backtesting or not.

    - num_backtesting_windows (int) – Total backtesting windows to use for the training.

    - backtesting_window_step_size (int) – Use this step size to shift backtesting windows for model training.

    - full_data_retraining (bool) – Train models separately with all the data.

    - additional_forecast_keys – List[str]: List of categoricals in timeseries that can act as multi-identifier.

    - experimentation_mode (ExperimentationMode) – Selecting Thorough Experimentation will take longer to train.

    - type_of_split (ForecastingDataSplitType) – Type of data splitting into train/test.

    - test_by_item (bool) – Partition train/test data by item rather than time if true.

    - test_start (str) – Limit training data to dates before the given test start.

    - test_split (int) – 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.

    - loss_function (ForecastingLossFunction) – Loss function for training neural network.

    - underprediction_weight (float) – Weight for underpredictions

    - disable_networks_without_analytic_quantiles (bool) – Disable neural networks, which quantile functions do not have analytic expressions (e.g, mixture models)

    - initial_learning_rate (float) – Initial learning rate.

    - l2_regularization_factor (float) – L2 regularization factor.

    - dropout_rate (int) – Dropout percentage rate.

    - recurrent_layers (int) – Number of recurrent layers to stack in network.

    - recurrent_units (int) – Number of units in each recurrent layer.

    - convolutional_layers (int) – Number of convolutional layers to stack on top of recurrent layers in network.

    - convolution_filters (int) – Number of filters in each convolution.

    - local_scaling_mode (ForecastingLocalScaling) – Options to make NN inputs stationary in high dynamic range datasets.

    - zero_predictor (bool) – Include subnetwork to classify points where target equals zero.

    - skip_missing (bool) – Make the RNN ignore missing entries rather instead of processing them.

    - batch_size (ForecastingBatchSize) – Batch size.

    - batch_renormalization (bool) – Enable batch renormalization between layers.

    - history_length (int) – While training, how much history to consider.

    - prediction_step_size (int) – Number of future periods to include in objective for each training sample.

    - training_point_overlap (float) – Amount of overlap to allow between training samples.

    - max_scale_context (int) – Maximum context to use for local scaling.

    - quantiles_extension_method (ForecastingQuanitlesExtensionMethod) – Quantile extension method

    - number_of_samples (int) – Number of samples for ancestral simulation

    - symmetrize_quantiles (bool) – Force symmetric quantiles (like in Gaussian distribution)

    - use_log_transforms (bool) – Apply logarithmic transformations to input data.

    - smooth_history (float) – Smooth (low pass filter) the timeseries.

    - local_scale_target (bool) – Using per training/prediction window target scaling.

    - use_clipping (bool) – Apply clipping to input data to stabilize the training.

    - timeseries_weight_column (str) – If set, we use the values in this column from timeseries data to assign time dependent item weights during training and evaluation.

    - item_attributes_weight_column (str) – If set, we use the values in this column from item attributes data to assign weights to items during training and evaluation.

    - use_timeseries_weights_in_objective (bool) – If True, we include weights from column set as “TIMESERIES WEIGHT COLUMN” in objective functions.

    - use_item_weights_in_objective (bool) – If True, we include weights from column set as “ITEM ATTRIBUTES WEIGHT COLUMN” in objective functions.

    - skip_timeseries_weight_scaling (bool) – If True, we will avoid normalizing the weights.

    - timeseries_loss_weight_column (str) – Use value in this column to weight the loss while training.

    - use_item_id (bool) – Include a feature to indicate the item being forecast.

    - use_all_item_totals (bool) – Include as input total target across items.

    - handle_zeros_as_missing_values (bool) – If True, handle zero values in demand as missing data.

    - datetime_holiday_calendars (List[HolidayCalendars]) – Holiday calendars to augment training with.

    - fill_missing_values (List[List[dict]]) – Strategy for filling in missing values.

    - enable_clustering (bool) – Enable clustering in forecasting.

    - data_split_feature_group_table_name (str) – Specify the table name of the feature group to export training data with the fold column.

    - custom_loss_functions (List[str]) – Registered custom losses available for selection.

    - custom_metrics (List[str]) – Registered custom metrics available for selection.

    - return_fractional_forecasts – Use this to return fractional forecast values while prediction

    - allow_training_with_small_history – Allows training with fewer than 100 rows in the dataset

  prediction_length: int = None
  objective: abacusai.api_class.enums.ForecastingObjective = None
  sort_objective: abacusai.api_class.enums.ForecastingObjective = None
  forecast_frequency: abacusai.api_class.enums.ForecastingFrequency = None
  probability_quantiles: List[float] = None
  force_prediction_length: bool = None
  filter_items: bool = None
  enable_feature_selection: bool = None
  enable_padding: bool = None
  enable_cold_start: bool = None
  enable_multiple_backtests: bool = None
  num_backtesting_windows: int = None
  backtesting_window_step_size: int = None
  full_data_retraining: bool = None
  additional_forecast_keys: List[str] = None
  experimentation_mode: abacusai.api_class.enums.ExperimentationMode = None
  type_of_split: abacusai.api_class.enums.ForecastingDataSplitType = None
  test_by_item: bool = None
  test_start: str = None
  test_split: int = None
  loss_function: abacusai.api_class.enums.ForecastingLossFunction = None
  underprediction_weight: float = None
  disable_networks_without_analytic_quantiles: bool = None
  initial_learning_rate: float = None
  l2_regularization_factor: float = None
  dropout_rate: int = None
  recurrent_layers: int = None
  recurrent_units: int = None
  convolutional_layers: int = None
  convolution_filters: int = None
  local_scaling_mode: abacusai.api_class.enums.ForecastingLocalScaling = None
  zero_predictor: bool = None
  skip_missing: bool = None
  batch_size: abacusai.api_class.enums.BatchSize = None
  batch_renormalization: bool = None
  history_length: int = None
  prediction_step_size: int = None
  training_point_overlap: float = None
  max_scale_context: int = None
  quantiles_extension_method: abacusai.api_class.enums.ForecastingQuanitlesExtensionMethod = None
  number_of_samples: int = None
  symmetrize_quantiles: bool = None
  use_log_transforms: bool = None
  smooth_history: float = None
  local_scale_target: bool = None
  use_clipping: bool = None
  timeseries_weight_column: str = None
  item_attributes_weight_column: str = None
  use_timeseries_weights_in_objective: bool = None
  use_item_weights_in_objective: bool = None
  skip_timeseries_weight_scaling: bool = None
  timeseries_loss_weight_column: str = None
  use_item_id: bool = None
  use_all_item_totals: bool = None
  handle_zeros_as_missing_values: bool = None
  datetime_holiday_calendars: List[abacusai.api_class.enums.HolidayCalendars] = None
  fill_missing_values: List[List[dict]] = None
  enable_clustering: bool = None
  data_split_feature_group_table_name: str = None
  custom_loss_functions: List[str] = None
  custom_metrics: List[str] = None
  return_fractional_forecasts: bool = None
  allow_training_with_small_history: bool = None
  __post_init__()

class abacusai.api_class.NamedEntityExtractionTrainingConfig

  Bases: `TrainingConfig`

  Training config for the NAMED_ENTITY_EXTRACTION problem type

  Parameters:

    - llm_for_ner (NERForLLM) – LLM to use for NER from among available LLM

    - test_split (int) – 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.

    - test_row_indicator (str) – Column indicating which rows to use for training (TRAIN) and testing (TEST).

    - active_labels_column (str) – Entities that have been marked in a particular text

    - document_format (NLPDocumentFormat) – Format of the input documents.

    - minimum_bounding_box_overlap_ratio (float) – 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.

    - save_predicted_pdf (bool) – Whether to save predicted PDF documents

    - enhanced_ocr (bool) – Enhanced text extraction from predicted digital documents

    - additional_extraction_instructions (str) – Additional instructions to guide the LLM in extracting the entities. Only used with LLM algorithms.

  llm_for_ner: abacusai.api_class.enums.LLMName = None
  test_split: int = None
  test_row_indicator: str = None
  active_labels_column: str = None
  document_format: abacusai.api_class.enums.NLPDocumentFormat = None
  minimum_bounding_box_overlap_ratio: float = 0.0
  save_predicted_pdf: bool = True
  enhanced_ocr: bool = False
  additional_extraction_instructions: str = None
  __post_init__()

class abacusai.api_class.NaturalLanguageSearchTrainingConfig

  Bases: `TrainingConfig`

  Training config for the NATURAL_LANGUAGE_SEARCH problem type

  Parameters:

    - abacus_internal_model (bool) – Use a Abacus.AI LLM to answer questions about your data without using any external APIs

    - num_completion_tokens (int) – Default for maximum number of tokens for chat answers. Reducing this will get faster responses which are more succinct

    - larger_embeddings (bool) – Use a higher dimension embedding model.

    - search_chunk_size (int) – Chunk size for indexing the documents.

    - chunk_overlap_fraction (float) – Overlap in chunks while indexing the documents.

    - index_fraction (float) – Fraction of the chunk to use for indexing.

  abacus_internal_model: bool = None
  num_completion_tokens: int = None
  larger_embeddings: bool = None
  search_chunk_size: int = None
  index_fraction: float = None
  chunk_overlap_fraction: float = None
  __post_init__()

class abacusai.api_class.ChatLLMTrainingConfig

  Bases: `TrainingConfig`

  Training config for the CHAT_LLM problem type

  Parameters:

    - document_retrievers (List[str]) – List of names or IDs of document retrievers to use as vector stores of information for RAG responses.

    - num_completion_tokens (int) – Default for maximum number of tokens for chat answers. Reducing this will get faster responses which are more succinct.

    - temperature (float) – The generative LLM temperature.

    - retrieval_columns (list) – Include the metadata column values in the retrieved search results.

    - filter_columns (list) – Allow users to filter the document retrievers on these metadata columns.

    - include_general_knowledge (bool) – Allow the LLM to rely not just on RAG search results, but to fall back on general knowledge. Disabled by default.

    - enable_web_search (bool) – Allow the LLM to use Web Search Engines to retrieve information for better results.

    - behavior_instructions (str) – 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.

    - response_instructions (str) – Customized instructions for how the model should respond inlcuding the format, persona and tone of the answers.

    - enable_llm_rewrite (bool) – If enabled, an LLM will rewrite the RAG queries sent to document retriever. Disabled by default.

    - column_filtering_instructions (str) – Instructions for a LLM call to automatically generate filter expressions on document metadata to retrieve relevant documents for the conversation.

    - keyword_requirement_instructions (str) – Instructions for a LLM call to automatically generate keyword requirements to retrieve relevant documents for the conversation.

    - query_rewrite_instructions (str) – Special instructions for the LLM which rewrites the RAG query.

    - max_search_results (int) – 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.

    - 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.

    - data_prompt_context (str) – Prompt context for the data feature group IDs.

    - data_prompt_table_context (Dict[str, str]) – Dict of table name and table context pairs to provide table wise context for each structured data table.

    - data_prompt_column_context (Dict[str, str]) – 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.

    - hide_sql_and_code (bool) – When running data queries, this will hide the generated SQL and Code in the response.

    - disable_data_summarization (bool) – After executing a query summarize the reponse and reply back with only the table and query run.

    - data_columns_to_ignore (List[str]) – Columns to ignore while encoding information about structured data tables in context for the LLM. A list of strings of format “<table_name>.<column_name>”

    - search_score_cutoff (float) – Minimum search score to consider a document as a valid search result.

    - include_bm25_retrieval (bool) – Combine BM25 search score with vector search using reciprocal rank fusion.

    - database_connector_id (str) – Database connector ID to use for connecting external database that gives access to structured data to the LLM.

    - database_connector_tables (List[str]) – List of tables to use from the database connector for the ChatLLM.

    - enable_code_execution (bool) – Enable python code execution in the ChatLLM. This equips the LLM with a python kernel in which all its code is executed.

    - enable_response_caching (bool) – Enable caching of LLM responses to speed up response times and improve reproducibility.

    - unknown_answer_phrase (str) – Fallback response when the LLM can’t find an answer.

    - enable_tool_bar (bool) – Enable the tool bar in Enterprise ChatLLM to provide additional functionalities like tool_use, web_search, image_gen, etc.

    - enable_inline_source_citations (bool) – Enable inline citations of the sources in the response.

    - response_format – (str): When set to ‘JSON’, the LLM will generate a JSON formatted string.

    - json_response_instructions (str) – 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.

    - json_response_schema (str) – 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”}}’

    - mask_pii (bool) – Mask PII in the prompts and uploaded documents before sending it to the LLM.

  document_retrievers: List[str] = None
  num_completion_tokens: int = None
  temperature: float = None
  retrieval_columns: list = None
  filter_columns: list = None
  include_general_knowledge: bool = None
  enable_web_search: bool = None
  behavior_instructions: str = None
  response_instructions: str = None
  enable_llm_rewrite: bool = None
  column_filtering_instructions: str = None
  keyword_requirement_instructions: str = None
  query_rewrite_instructions: str = None
  max_search_results: int = None
  data_feature_group_ids: List[str] = None
  data_prompt_context: str = None
  data_prompt_table_context: Dict[str, str] = None
  data_prompt_column_context: Dict[str, str] = None
  hide_sql_and_code: bool = None
  disable_data_summarization: bool = None
  data_columns_to_ignore: List[str] = None
  search_score_cutoff: float = None
  include_bm25_retrieval: bool = None
  database_connector_id: str = None
  database_connector_tables: List[str] = None
  enable_code_execution: bool = None
  metadata_columns: list = None
  lookup_rewrite_instructions: str = None
  enable_response_caching: bool = None
  unknown_answer_phrase: str = None
  enable_tool_bar: bool = None
  enable_inline_source_citations: bool = None
  response_format: str = None
  json_response_instructions: str = None
  json_response_schema: str = None
  mask_pii: bool = None
  __post_init__()

class abacusai.api_class.SentenceBoundaryDetectionTrainingConfig

  Bases: `TrainingConfig`

  Training config for the SENTENCE_BOUNDARY_DETECTION problem type

  Parameters:

    - test_split (int) – 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.

    - dropout_rate (float) – Dropout rate for neural network.

    - batch_size (BatchSize) – Batch size for neural network.

  test_split: int = None
  dropout_rate: float = None
  batch_size: abacusai.api_class.enums.BatchSize = None
  __post_init__()

class abacusai.api_class.SentimentDetectionTrainingConfig

  Bases: `TrainingConfig`

  Training config for the SENTIMENT_DETECTION problem type

  Parameters:

    - sentiment_type (SentimentType) – Type of sentiment to detect.

    - test_split (int) – 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.

  sentiment_type: abacusai.api_class.enums.SentimentType = None
  test_split: int = None
  __post_init__()

class abacusai.api_class.DocumentClassificationTrainingConfig

  Bases: `TrainingConfig`

  Training config for the DOCUMENT_CLASSIFICATION problem type

  Parameters:

    - zero_shot_hypotheses (List[str]) – Zero shot hypotheses. Example text: ‘This text is about pricing’.

    - test_split (int) – 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.

  zero_shot_hypotheses: List[str] = None
  test_split: int = None
  __post_init__()

class abacusai.api_class.DocumentSummarizationTrainingConfig

  Bases: `TrainingConfig`

  Training config for the DOCUMENT_SUMMARIZATION problem type

  Parameters:

    - test_split (int) – 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.

    - dropout_rate (float) – Dropout rate for neural network.

    - batch_size (BatchSize) – Batch size for neural network.

  test_split: int = None
  dropout_rate: float = None
  batch_size: abacusai.api_class.enums.BatchSize = None
  __post_init__()

class abacusai.api_class.DocumentVisualizationTrainingConfig

  Bases: `TrainingConfig`

  Training config for the DOCUMENT_VISUALIZATION problem type

  Parameters:

    - test_split (int) – 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.

    - dropout_rate (float) – Dropout rate for neural network.

    - batch_size (BatchSize) – Batch size for neural network.

  test_split: int = None
  dropout_rate: float = None
  batch_size: abacusai.api_class.enums.BatchSize = None
  __post_init__()

class abacusai.api_class.ClusteringTrainingConfig

  Bases: `TrainingConfig`

  Training config for the CLUSTERING problem type

  Parameters:

    num_clusters_selection (int) – Number of clusters. If None, will be selected automatically.

  num_clusters_selection: int = None
  __post_init__()

class abacusai.api_class.ClusteringTimeseriesTrainingConfig

  Bases: `TrainingConfig`

  Training config for the CLUSTERING_TIMESERIES problem type

  Parameters:

    - num_clusters_selection (int) – Number of clusters. If None, will be selected automatically.

    - imputation (ClusteringImputationMethod) – Imputation method for missing values.

  num_clusters_selection: int = None
  imputation: abacusai.api_class.enums.ClusteringImputationMethod = None
  __post_init__()

class abacusai.api_class.EventAnomalyTrainingConfig

  Bases: `TrainingConfig`

  Training config for the EVENT_ANOMALY problem type

  Parameters:

    anomaly_fraction (float) – The fraction of the dataset to classify as anomalous, between 0 and 0.5

  anomaly_fraction: float = None
  __post_init__()

class abacusai.api_class.TimeseriesAnomalyTrainingConfig

  Bases: `TrainingConfig`

  Training config for the TS_ANOMALY problem type

  Parameters:

    - type_of_split (TimeseriesAnomalyDataSplitType) – Type of data splitting into train/test.

    - test_start (str) – Limit training data to dates before the given test start.

    - test_split (int) – 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.

    - fill_missing_values (List[List[dict]]) – strategies to fill missing values and missing timestamps

    - handle_zeros_as_missing_values (bool) – If True, handle zero values in numeric columns as missing data

    - timeseries_frequency (str) – set this to control frequency of filling missing values

    - min_samples_in_normal_region (int) – Adjust this to fine-tune the number of anomalies to be identified.

    - anomaly_type (TimeseriesAnomalyTypeOfAnomaly) – select what kind of peaks to detect as anomalies

    - hyperparameter_calculation_with_heuristics (TimeseriesAnomalyUseHeuristic) – Enable heuristic calculation to get hyperparameters for the model

    - threshold_score (float) – Threshold score for anomaly detection

    - additional_anomaly_ids (List[str]) – List of categorical columns that can act as multi-identifier

  type_of_split: abacusai.api_class.enums.TimeseriesAnomalyDataSplitType = None
  test_start: str = None
  test_split: int = None
  fill_missing_values: List[List[dict]] = None
  handle_zeros_as_missing_values: bool = None
  timeseries_frequency: str = None
  min_samples_in_normal_region: int = None
  anomaly_type: abacusai.api_class.enums.TimeseriesAnomalyTypeOfAnomaly = None
  hyperparameter_calculation_with_heuristics: abacusai.api_class.enums.TimeseriesAnomalyUseHeuristic = None
  threshold_score: float = None
  additional_anomaly_ids: List[str] = None
  __post_init__()

class abacusai.api_class.CumulativeForecastingTrainingConfig

  Bases: `TrainingConfig`

  Training config for the CUMULATIVE_FORECASTING problem type

  Parameters:

    - test_split (int) – 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.

    - historical_frequency (str) – Forecast frequency

    - cumulative_prediction_lengths (List[int]) – List of Cumulative Prediction Frequencies. Each prediction length must be between 1 and 365.

    - skip_input_transform (bool) – Avoid doing numeric scaling transformations on the input.

    - skip_target_transform (bool) – Avoid doing numeric scaling transformations on the target.

    - predict_residuals (bool) – Predict residuals instead of totals at each prediction step.

  test_split: int = None
  historical_frequency: str = None
  cumulative_prediction_lengths: List[int] = None
  skip_input_transform: bool = None
  skip_target_transform: bool = None
  predict_residuals: bool = None
  __post_init__()

class abacusai.api_class.ThemeAnalysisTrainingConfig

  Bases: `TrainingConfig`

  Training config for the THEME ANALYSIS problem type

  __post_init__()

class abacusai.api_class.AIAgentTrainingConfig

  Bases: `TrainingConfig`

  Training config for the AI_AGENT problem type

  Parameters:

    - description (str) – Description of the agent function.

    - agent_interface (AgentInterface) – The interface that the agent will be deployed with.

    - agent_connectors – (List[enums.ApplicationConnectorType]): The connectors needed for the agent to function.

  description: str = None
  agent_interface: abacusai.api_class.enums.AgentInterface = None
  agent_connectors: List[abacusai.api_class.enums.ApplicationConnectorType] = None
  enable_binary_input: bool = None
  agent_input_schema: dict = None
  agent_output_schema: dict = None
  __post_init__()

class abacusai.api_class.CustomTrainedModelTrainingConfig

  Bases: `TrainingConfig`

  Training config for the CUSTOM_TRAINED_MODEL problem type

  Parameters:

    - max_catalog_size (int) – Maximum expected catalog size.

    - max_dimension (int) – Maximum expected dimension of the catalog.

    - index_output_path (str) – Fully qualified cloud location (GCS, S3, etc) to export snapshots of the embedding to.

    - docker_image_uri (str) – Docker image URI.

    - service_port (int) – Service port.

    - streaming_embeddings (bool) – Flag to enable streaming embeddings.

  max_catalog_size: int = None
  max_dimension: int = None
  index_output_path: str = None
  docker_image_uri: str = None
  service_port: int = None
  streaming_embeddings: bool = None
  __post_init__()

class abacusai.api_class.CustomAlgorithmTrainingConfig

  Bases: `TrainingConfig`

  Training config for the CUSTOM_ALGORITHM problem type

  Parameters:

    timeout_minutes (int) – Timeout for the model training in minutes.

  timeout_minutes: int = None
  __post_init__()

class abacusai.api_class.OptimizationTrainingConfig

  Bases: `TrainingConfig`

  Training config for the OPTIMIZATION problem type

  Parameters:

    - solve_time_limit (float) – The maximum time in seconds to spend solving the problem. Accepts values between 0 and 86400.

    - optimality_gap_limit (float) – 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.

    - include_all_partitions (bool) – Include all partitions in the model training. Default is False.

    - include_specific_partitions (List[str]) – Include specific partitions in partitioned model training. Default is empty list.

  solve_time_limit: float = None
  optimality_gap_limit: float = None
  include_all_partitions: bool = None
  include_specific_partitions: List[str] = None
  __post_init__()

class abacusai.api_class._TrainingConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'problem_type'
  config_class_map

class abacusai.api_class.DeployableAlgorithm

  Bases: `abacusai.api_class.abstract.ApiClass`

  Algorithm that can be deployed to a model.

  Parameters:

    - algorithm (str) – ID of the algorithm.

    - name (str) – Name of the algorithm.

    - only_offline_deployable (bool) – Whether the algorithm can only be deployed offline.

    - trained_model_types (List[dict]) – List of trained model types.

  algorithm: str = None
  name: str = None
  only_offline_deployable: bool = None
  trained_model_types: List[dict] = None

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.StdDevThresholdType

  Bases: `ApiEnum`

  Generic enumeration.

  Derive from this class to define new enumerations.

  ABSOLUTE = 'ABSOLUTE'
  PERCENTILE = 'PERCENTILE'
  STDDEV = 'STDDEV'

class abacusai.api_class.TimeWindowConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Time Window Configuration

  Parameters:

    - window_duration (int) – The duration of the window.

    - window_from_start (bool) – Whether the window should be from the start of the time series.

  window_duration: int = None
  window_from_start: bool = None
  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

class abacusai.api_class.ForecastingMonitorConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Forecasting Monitor Configuration

  Parameters:

    - id_column (str) – The name of the column that contains the unique identifier for the time series.

    - timestamp_column (str) – The name of the column that contains the timestamp for the time series.

    - target_column (str) – The name of the column that contains the target value for the time series.

    - start_time (str) – The start time of the time series data.

    - end_time (str) – The end time of the time series data.

    - window_config (TimeWindowConfig) – The windowing configuration for the time series data.

  id_column: str = None
  timestamp_column: str = None
  target_column: str = None
  start_time: str = None
  end_time: str = None
  window_config: TimeWindowConfig = None
  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

class abacusai.api_class.StdDevThreshold

  Bases: `abacusai.api_class.abstract.ApiClass`

  Std Dev Threshold types

  Parameters:

    - threshold_type (StdDevThresholdType) – Type of threshold to apply to the item attributes.

    - value (float) – Value to use for the threshold.

  threshold_type: abacusai.api_class.enums.StdDevThresholdType = None
  value: float = None
  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

class abacusai.api_class.ItemAttributesStdDevThreshold

  Bases: `abacusai.api_class.abstract.ApiClass`

  Item Attributes Std Dev Threshold for Monitor Alerts

  Parameters:

    - lower_bound (StdDevThreshold) – Lower bound for the item attributes.

    - upper_bound (StdDevThreshold) – Upper bound for the item attributes.

  lower_bound: StdDevThreshold = None
  upper_bound: StdDevThreshold = None
  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

class abacusai.api_class.RestrictFeatureMappings

  Bases: `abacusai.api_class.abstract.ApiClass`

  Restrict Feature Mappings for Monitor Filtering

  Parameters:

    - feature_name (str) – The name of the feature to restrict the monitor to.

    - restricted_feature_values (list) – The values of the feature to restrict the monitor to if feature is a categorical.

    - start_time (str) – The start time of the timestamp feature to filter from

    - end_time (str) – The end time of the timestamp feature to filter until

    - min_value (float) – Value to filter the numerical feature above

    - max_value (float) – Filtering the numerical feature to below this value

  feature_name: str = None
  restricted_feature_values: list = []
  start_time: str = None
  end_time: str = None
  min_value: float = None
  max_value: float = None
  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

class abacusai.api_class.MonitorFilteringConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Monitor Filtering Configuration

  Parameters:

    - start_time (str) – The start time of the prediction time col

    - end_time (str) – The end time of the prediction time col

    - restrict_feature_mappings (RestrictFeatureMappings) – The feature mapping to restrict the monitor to.

    - target_class (str) – The target class to restrict the monitor to.

    - train_target_feature (str) – Set the target feature for the training data.

    - prediction_target_feature (str) – Set the target feature for the prediction data.

  start_time: str = None
  end_time: str = None
  restrict_feature_mappings: List[RestrictFeatureMappings] = None
  target_class: str = None
  train_target_feature: str = None
  prediction_target_feature: str = None
  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.AlertConditionConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for alert condition configs

  alert_type: abacusai.api_class.enums.MonitorAlertType = None
  classmethod _get_builder()

class abacusai.api_class.AccuracyBelowThresholdConditionConfig

  Bases: `AlertConditionConfig`

  Accuracy Below Threshold Condition Config for Monitor Alerts

  Parameters:

    threshold (float) – Threshold for when to consider a column to be in violation. The alert will only fire when the drift value is strictly greater than the threshold.

  threshold: float = None
  __post_init__()

class abacusai.api_class.FeatureDriftConditionConfig

  Bases: `AlertConditionConfig`

  Feature Drift Condition Config for Monitor Alerts

  Parameters:

    - feature_drift_type (FeatureDriftType) – Feature drift type to apply the threshold on to determine whether a column has drifted significantly enough to be a violation.

    - threshold (float) – Threshold for when to consider a column to be in violation. The alert will only fire when the drift value is strictly greater than the threshold.

    - minimum_violations (int) – Number of columns that must exceed the specified threshold to trigger an alert.

    - feature_names (List[str]) – List of feature names to monitor for this alert.

  feature_drift_type: abacusai.api_class.enums.FeatureDriftType = None
  threshold: float = None
  minimum_violations: int = None
  feature_names: List[str] = None
  __post_init__()

class abacusai.api_class.TargetDriftConditionConfig

  Bases: `AlertConditionConfig`

  Target Drift Condition Config for Monitor Alerts

  Parameters:

    - feature_drift_type (FeatureDriftType) – Target drift type to apply the threshold on to determine whether a column has drifted significantly enough to be a violation.

    - threshold (float) – Threshold for when to consider the target column to be in violation. The alert will only fire when the drift value is strictly greater than the threshold.

  feature_drift_type: abacusai.api_class.enums.FeatureDriftType = None
  threshold: float = None
  __post_init__()

class abacusai.api_class.HistoryLengthDriftConditionConfig

  Bases: `AlertConditionConfig`

  History Length Drift Condition Config for Monitor Alerts

  Parameters:

    - feature_drift_type (FeatureDriftType) – History length drift type to apply the threshold on to determine whether the history length has drifted significantly enough to be a violation.

    - threshold (float) – Threshold for when to consider the history length to be in violation. The alert will only fire when the drift value is strictly greater than the threshold.

  feature_drift_type: abacusai.api_class.enums.FeatureDriftType = None
  threshold: float = None
  __post_init__()

class abacusai.api_class.DataIntegrityViolationConditionConfig

  Bases: `AlertConditionConfig`

  Data Integrity Violation Condition Config for Monitor Alerts

  Parameters:

    - data_integrity_type (DataIntegrityViolationType) – This option selects the data integrity violations to monitor for this alert.

    - minimum_violations (int) – Number of columns that must exceed the specified threshold to trigger an alert.

  data_integrity_type: abacusai.api_class.enums.DataIntegrityViolationType = None
  minimum_violations: int = None
  __post_init__()

class abacusai.api_class.BiasViolationConditionConfig

  Bases: `AlertConditionConfig`

  Bias Violation Condition Config for Monitor Alerts

  Parameters:

    - bias_type (BiasType) – This option selects the bias metric to monitor for this alert.

    - threshold (float) – Threshold for when to consider a column to be in violation. The alert will only fire when the drift value is strictly greater than the threshold.

    - minimum_violations (int) – Number of columns that must exceed the specified threshold to trigger an alert.

  bias_type: abacusai.api_class.enums.BiasType = None
  threshold: float = None
  minimum_violations: int = None
  __post_init__()

class abacusai.api_class.PredictionCountConditionConfig

  Bases: `AlertConditionConfig`

  Deployment Prediction Condition Config for Deployment Alerts. By default we monitor if predictions made over a time window has reduced significantly. :param threshold: Threshold for when to consider to be a violation. Negative means alert on reduction, positive means alert on increase. :type threshold: float :param aggregation_window: Time window to aggregate the predictions over, e.g. 1h, 10m. Only h(hour), m(minute) and s(second) are supported. :type aggregation_window: str :param aggregation_type: Aggregation type to use for the aggregation window, e.g. sum, avg. :type aggregation_type: str

  threshold: float = None
  aggregation_window: str = None
  aggregation_type: str = None
  __post_init__()

class abacusai.api_class._AlertConditionConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'alert_type'
  config_class_key_value_camel_case = True
  config_class_map

class abacusai.api_class.AlertActionConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for alert action configs

  action_type: abacusai.api_class.enums.AlertActionType = None
  classmethod _get_builder()

class abacusai.api_class.EmailActionConfig

  Bases: `AlertActionConfig`

  Email Action Config for Monitor Alerts

  Parameters:

    - email_recipients (List[str]) – List of email addresses to send the alert to.

    - email_body (str) – Body of the email to send.

  email_recipients: List[str] = None
  email_body: str = None
  __post_init__()

class abacusai.api_class._AlertActionConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'action_type'
  config_class_map

class abacusai.api_class.MonitorThresholdConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Monitor Threshold Config for Monitor Alerts

  Parameters:

    - drift_type (FeatureDriftType) – Feature drift type to apply the threshold on to determine whether a column has drifted significantly enough to be a violation.

    - threshold_config (ThresholdConfigs) – Thresholds for when to consider a column to be in violation. The alert will only fire when the drift value is strictly greater than the threshold.

  drift_type: abacusai.api_class.enums.FeatureDriftType = None
  at_risk_threshold: float = None
  severely_drifting_threshold: float = None
  to_dict()

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.FeatureMappingConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Feature mapping configuration for a feature group type.

  Parameters:

    - feature_name (str) – The name of the feature in the feature group.

    - feature_mapping (str) – The desired feature mapping for the feature.

    - nested_feature_name (str) – The name of the nested feature in the feature group.

  feature_name: str
  feature_mapping: str = None
  nested_feature_name: str = None

class abacusai.api_class.ProjectFeatureGroupTypeMappingsConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Project feature group type mappings.

  Parameters:

    - feature_group_id (str) – The unique identifier for the feature group.

    - feature_group_type (str) – The feature group type.

    - feature_mappings (List[FeatureMappingConfig]) – The feature mappings for the feature group.

  feature_group_id: str
  feature_group_type: str = None
  feature_mappings: List[FeatureMappingConfig]
  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.ConstraintConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  Constraint configuration.

  Parameters:

    - constant (float) – The constant value for the constraint.

    - operator (str) – The operator for the constraint. Could be ‘EQ’, ‘LE’, ‘GE’

    - enforcement (str) – The enforcement for the constraint. Could be ‘HARD’ or ‘SOFT’ or ‘SKIP’. Default is ‘HARD’

    - code (str) – The code for the constraint.

    - penalty (float) – The penalty for violating the constraint.

  constant: float
  operator: str
  enforcement: str | None = None
  code: str | None = None
  penalty: float | None = None

class abacusai.api_class.ProjectFeatureGroupConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for project feature group configuration.

  type: abacusai.api_class.enums.ProjectConfigType = None
  classmethod _get_builder()

class abacusai.api_class.ConstraintProjectFeatureGroupConfig

  Bases: `ProjectFeatureGroupConfig`

  Constraint project feature group configuration.

  Parameters:

    constraints (List[ConstraintConfig]) – The constraint for the feature group. Should be a list of one ConstraintConfig.

  constraints: List[ConstraintConfig]
  __post_init__()

class abacusai.api_class.ReviewModeProjectFeatureGroupConfig

  Bases: `ProjectFeatureGroupConfig`

  Review mode project feature group configuration.

  Parameters:

    is_review_mode (bool) – The review mode for the feature group.

  is_review_mode: bool
  __post_init__()

class abacusai.api_class._ProjectFeatureGroupConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.PythonFunctionArgument

  Bases: `abacusai.api_class.abstract.ApiClass`

  A config class for python function arguments

  Parameters:

    - variable_type (PythonFunctionArgumentType) – The type of the python function argument

    - name (str) – The name of the python function variable

    - is_required (bool) – Whether the argument is required

    - value (Any) – The value of the argument

    - pipeline_variable (str) – The name of the pipeline variable to use as the value

    - description (str) – The description of the argument

    - item_type (str) – Type of items when variable_type is LIST

  variable_type: abacusai.api_class.enums.PythonFunctionArgumentType = None
  name: str = None
  is_required: bool = True
  value: Any = None
  pipeline_variable: str = None
  description: str = None
  item_type: str = None

class abacusai.api_class.OutputVariableMapping

  Bases: `abacusai.api_class.abstract.ApiClass`

  A config class for python function arguments

  Parameters:

    - variable_type (PythonFunctionOutputArgumentType) – The type of the python function output argument

    - name (str) – The name of the python function variable

  variable_type: abacusai.api_class.enums.PythonFunctionOutputArgumentType = None
  name: str = None

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class._ApiClassFactory

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  config_abstract_class = None
  config_class_key = None
  config_class_map
  classmethod from_dict(config)
    Parameters:

      config (dict)

    Return type:

      ApiClass

class abacusai.api_class.FeatureGroupExportConfig

  Bases: `abacusai.api_class.abstract.ApiClass`

  An abstract class for feature group exports.

  connector_type: abacusai.api_class.enums.ConnectorType = None
  classmethod _get_builder()

class abacusai.api_class.FileConnectorExportConfig

  Bases: `FeatureGroupExportConfig`

  File connector export config for feature groups

  Parameters:

    - location (str) – The location to export the feature group to

    - export_file_format (str) – The file format to export the feature group to

  location: str = None
  export_file_format: str = None
  __post_init__()
  to_dict()

class abacusai.api_class.DatabaseConnectorExportConfig

  Bases: `FeatureGroupExportConfig`

  Database connector export config for feature groups

  Parameters:

    - database_connector_id (str) – The ID of the database connector to export the feature group to

    - mode (str) – The mode to export the feature group in

    - object_name (str) – The name of the object to export the feature group to

    - id_column (str) – The name of the ID column

    - additional_id_columns (List[str]) – Additional ID columns

    - data_columns (Dict[str, str]) – The data columns to export the feature group to

  database_connector_id: str = None
  mode: str = None
  object_name: str = None
  id_column: str = None
  additional_id_columns: List[str] = None
  data_columns: Dict[str, str] = None
  __post_init__()
  to_dict()

class abacusai.api_class._FeatureGroupExportConfigFactory

  Bases: `abacusai.api_class.abstract._ApiClassFactory`

  config_abstract_class
  config_class_key = 'connector_type'
  config_class_map

class abacusai.api_class.ApiClass

  Bases: `abc.ABC`

  Helper class that provides a standard way to create an ABC using inheritance.

  _upper_snake_case_keys: bool = False
  _support_kwargs: bool = False
  __post_init__()
  classmethod _get_builder()
  __str__()
  _repr_html_()
  __getitem__(item)
    Parameters:

      item (str)

  __setitem__(item, value)
    Parameters:

      - item (str)

      - value (Any)

  _unset_item(item)
    Parameters:

      item (str)

  get(item, default=None)
    Parameters:

      - item (str)

      - default (Any)

  pop(item, default=NotImplemented)
    Parameters:

      - item (str)

      - default (Any)

  to_dict()

    Standardizes converting an ApiClass to dictionary. Keys of response dictionary are converted to camel case. This also validates the fields ( type, value, etc ) received in the dictionary.

  classmethod from_dict(input_dict)
    Parameters:

      input_dict (dict)

class abacusai.api_class.ResponseSection

  Bases: `abacusai.api_class.abstract.ApiClass`

  A response section that an agent can return to render specific UI elements.

  Parameters:

    - type (ResponseSectionType) – The type of the response.

    - id (str) – The section key of the segment.

  type: abacusai.api_class.enums.ResponseSectionType
  id: str
  __post_init__()
  to_dict()

abacusai.api_class.Segment

class abacusai.api_class.AgentFlowButtonResponseSection(label, agent_workflow_node_name, section_key=None)

  Bases: `ResponseSection`

  A response section that an AI Agent can return to render a button.

  Parameters:

    - label (str) – The label of the button.

    - agent_workflow_node_name (str) – The workflow start node to be executed when the button is clicked.

    - section_key (str)

  label: str
  agent_workflow_node_name: str

class abacusai.api_class.ImageUrlResponseSection(url, height, width, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render an image.

  Parameters:

    - url (str) – The url of the image to be displayed.

    - height (int) – The height of the image.

    - width (int) – The width of the image.

    - section_key (str)

  url: str
  height: int
  width: int

class abacusai.api_class.TextResponseSection(text, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render text.

  Parameters:

    - segment (str) – The text to be displayed.

    - text (str)

    - section_key (str)

  segment: str

class abacusai.api_class.RuntimeSchemaResponseSection(json_schema, ui_schema=None, schema_prop=None)

  Bases: `ResponseSection`

  A segment that an agent can return to render json and ui schema in react-jsonschema-form format for workflow nodes. This is primarily used to generate dynamic forms at runtime. If a node returns a runtime schema variable, the UI will render the form upon node execution.

  Parameters:

    - json_schema (dict) – json schema in RJSF format.

    - ui_schema (dict) – ui schema in RJSF format.

    - schema_prop (str)

  json_schema: dict
  ui_schema: dict

class abacusai.api_class.CodeResponseSection(code, language, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render code.

  Parameters:

    - code (str) – The code to be displayed.

    - language (CodeLanguage) – The language of the code.

    - section_key (str)

  code: str
  language: abacusai.api_class.enums.CodeLanguage

class abacusai.api_class.Base64ImageResponseSection(b64_image, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render a base64 image.

  Parameters:

    - b64_image (str) – The base64 image to be displayed.

    - section_key (str)

  b64_image: str

class abacusai.api_class.CollapseResponseSection(title, content, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render a collapsible component.

  Parameters:

    - title (str) – The title of the collapsible component.

    - content (ResponseSection) – The response section constituting the content of collapsible component

    - section_key (str)

  title: str
  content: ResponseSection
  to_dict()

class abacusai.api_class.ListResponseSection(items, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render a list.

  Parameters:

    - items (List[str]) – The list items to be displayed.

    - section_key (str)

  items: List[str]

class abacusai.api_class.ChartResponseSection(chart, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render a chart.

  Parameters:

    - chart (dict) – The chart to be displayed.

    - section_key (str)

  chart: dict

class abacusai.api_class.DataframeResponseSection(df, header=None, section_key=None)

  Bases: `ResponseSection`

  A response section that an agent can return to render a pandas dataframe. :param df: The dataframe to be displayed. :type df: pandas.DataFrame :param header: Heading of the table to be displayed. :type header: str

  Parameters:

    - df (Any)

    - header (str)

    - section_key (str)

  df: Any
  header: str