{% extends "base.html" %} {% block content %} {# ── Page header ── #}
Data
Upload files and review your data profile before training
{# ── Instructions ── #}
{# ── Upload ── #}
Upload Data File

Supported: CSV, JSON, Parquet, Excel, PDF, DOCX, TXT — uploads to data/raw/

{# ── File list ── #}
Files in data/raw/ {{ files | length }} file(s)
{% if files %}
    {% for f in files %}
  • {{ f.name }} {{ f.size_kb }} KB
  • {% endfor %}
{% else %}
No files yet. Upload one above or copy a file to data/raw/ manually.
{% endif %}
{# ── Next step hint ── #}
Next steps
{% if files %}

1. Open pipeline.yaml and set your file path under the ingest node.

2. Set target_col to the column you want to predict.

3. Run aimodelground run in a terminal to start processing.

{% else %}

Upload a data file above, then configure pipeline.yaml to point to it.

{% endif %}
{# ── Profile ── #}
Data Profile {% if profile %}from latest run{% endif %}
{% if profile %}
Rows{{ profile.row_count }}
Columns{{ profile.column_count }}
Data types{{ profile.data_types | join(", ") }}
{# Null warning #} {% set high_null_cols = [] %} {% for col, n in profile.nulls.items() %} {% if profile.row_count > 0 and (n / profile.row_count) > 0.1 %} {% set _ = high_null_cols.append(col) %} {% endif %} {% endfor %} {% if high_null_cols %}
High null rate (>10%) in: {{ high_null_cols | join(", ") }}. Consider fixing your source data or increasing max_null_pct in the validator node.
{% endif %} {% for col, dtype in profile.columns.items() %} {% set null_count = profile.nulls.get(col, 0) %} 0 and null_count / profile.row_count > 0.1 %}style="background:#2d1f1f"{% endif %}> {% endfor %}
ColumnTypeNulls
{{ col }} {{ dtype }} 0 and null_count / profile.row_count > 0.1 %}class="text-warning"{% endif %}> {{ null_count }}

Profile generated after the profile step completes. Re-run with new data to refresh.

{% else %}

No profile yet. It appears here after the profile node runs.

To generate it: run the pipeline to at least the profile step, then refresh this page.

{% endif %}
{% endblock %}