File size: 2,284 Bytes
d989a5c
6a0b176
d989a5c
6a0b176
 
 
 
 
d989a5c
6a0b176
 
d989a5c
6a0b176
d989a5c
 
 
 
 
6a0b176
 
 
 
 
d989a5c
6a0b176
 
d989a5c
6a0b176
 
d989a5c
6a0b176
 
d989a5c
6a0b176
 
d989a5c
6a0b176
 
 
d989a5c
 
 
 
 
6a0b176
d989a5c
 
 
 
 
 
 
 
6a0b176
 
 
d989a5c
6a0b176
 
d989a5c
6a0b176
d989a5c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# Enables postponed evaluation of type annotations for forward-compatible typing behavior
from __future__ import annotations

# Provides access to environment variables used to configure the application at runtime
import os

# defines the display title used by the ML app
APP_TITLE = "Agentic Machine Learning"

# reads the Hugging Face authentication token from the environment and removes surrounding whitespace
HF_TOKEN = os.getenv("HF_TOKEN", "").strip()

# selects the HF model ID while providing a default model when none is configured
HF_MODEL_ID = os.getenv(
    "HF_MODEL_ID",
    "Qwen/Qwen3-Coder-30B-A3B-Instruct",
).strip()

# selects the HF inference provider and falls back to automatic provider selection
HF_PROVIDER = os.getenv("HF_PROVIDER", "auto").strip() or "auto"

# sets the max allowed upload size in megabytes from an environment variable or default value
MAX_UPLOAD_MB = int(os.getenv("MAX_UPLOAD_MB", "50"))

# limits the number of rows used when profiling uploaded datasets
MAX_PROFILE_ROWS = int(os.getenv("MAX_PROFILE_ROWS", "100000"))

# limits the number of rows used during model training to control runtime and resource usage
MAX_TRAIN_ROWS = int(os.getenv("MAX_TRAIN_ROWS", "25000"))

# max number of tool-driven reasoning steps the agent may execute
MAX_AGENT_STEPS = int(os.getenv("MAX_AGENT_STEPS", "4"))

# default max number of tokens allowed in generated model responses
DEFAULT_MAX_TOKENS = int(os.getenv("DEFAULT_MAX_TOKENS", "1800"))

# deterministic random seed
RANDOM_STATE = int(os.getenv("RANDOM_STATE", "42"))

# Maximum ZeroGPU allocation for the decorated agent callback.
# Hugging Face ZeroGPU defaults to 60 seconds; this project allows more time
# because the agent can execute several bounded tool/inference steps.
ZERO_GPU_DURATION = int(os.getenv("ZERO_GPU_DURATION", "120"))

# lists the dataset file extensions accepted by the app
SUPPORTED_DATA_EXTENSIONS = {
    ".csv",
    ".parquet",
    ".json",
    ".jsonl",
    ".xlsx",
    ".xls",
}

# HF repo containing the bundled example dataset
EXAMPLE_DATASET_REPO = "scikit-learn/adult-census-income"

# filename of the example dataset within the repo
EXAMPLE_DATASET_FILE = "adult.csv"

# target column used for the example ML modeling task
EXAMPLE_DATASET_TARGET = "income"