A multi-agent analytics system that ingests CSV/Excel files and produces:
- data profiling and validation
- merge outputs
- statistical analysis
- EDA visuals
- predictive modeling
- executive reporting
The backend is built using FastAPI and follows a modular multi-agent architecture under 'src/agents/':
ingestion_agent: upload handling, profiling, merge orchestrationstatistical_agent: hypothesis/statistical testseda_agent: automatic exploratory plots + insightspredictive_agent: model selection and forecasting/predictionreporting_agent: executive report generation (HTML/PDF routes)
src/
main.py
core/
agents/
ingestion_agent/
statistical_agent/
eda_agent/
predictive_agent/
reporting_agent/
analytiq.html
requirements.txt
data/
- Python 3.9+
- pip/virtualenv recommended
python -m venv .venv
# Windows PowerShell
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtCreate a .env file in project root (optional for Azure/OpenAI-powered decisions):
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
AZURE_OPENAI_DEPLOYMENT_NAME=gpt-4.1-mini
AZURE_OPENAI_API_VERSION=2024-12-01-previewIf these are missing, some AI-assisted parts fall back to deterministic/default behavior.
uvicorn src.main:app --reloadService URLs:
- API home:
http://127.0.0.1:8000/ - Swagger docs:
http://127.0.0.1:8000/docs
Main UI file:
analytiq.html
Open it in a browser (or serve it via a static server). It calls backend endpoints at http://127.0.0.1:8000.
-
POST /ingest/
Legacy synchronous endpoint (returns final payload after full run) -
POST /ingest/start
Starts background ingestion job and returnsjob_id -
GET /ingest/status/{job_id}
Poll incremental progress and partial results
-
GET /reporting/{dataset_name}/html
Opens generated report in browser -
GET /reporting/{dataset_name}/pdf
Returns generated PDF if available, otherwise fallback behavior -
GET /reporting/{dataset_name}/pdf/download
Strict PDF attachment download (requires actual PDF to exist) -
GET /reporting/
Lists available reports
Configured in src/core/config.py:
data/bronzefor ingestion artifactsdata/profor processed/merged/prediction outputsdata/edafor EDA artifactsdata/reportingfor report artifacts
- Large CSV handling is enabled (sampling/streaming thresholds in
config.py). - CORS is enabled for localhost origins.
- If backend PDF generation dependencies are missing, use report open/print flow as fallback.
- Backend not reachable
- Confirm
uvicornis running on127.0.0.1:8000.
- Upload works but AI-powered choices are weak
- Check Azure/OpenAI env vars.
- PDF route returns missing/not found
- Verify reporting step completed and PDF dependencies are installed.
Add your preferred license here.