How winnermarvi/business_analyst works
AI Business Analyst accepts CSV data for automated analysis, model selection, explanations, and reporting, with follow-up dataset chat and natural-language analytics. The evidenced backend entry points are FastAPI routes and the analysis orchestrator; README-documented capabilities whose implementation wiring was not sampled are shown as separate branches with documented or unverified links. The source index supports the ML subsystem relationships, but most individual feature implementations were not excerpted.
Main entry points: pipeline_service.py Analysis orchestrator · ml_pipeline.py ML workflow · app.py FastAPI endpoints · chat_service.py Dataset chat
Components 23
User interface and API
- Streamlit frontend
frontend - FastAPI endpoints
src/api/app.py - API schemas
src/api/schemas.py
Analysis workflow
- Analysis orchestrator
src/services/pipeline_service.py - Data preprocessing
src/preprocessing - Exploratory analysis
src/eda/eda.py - EDA insights
src/insights
Machine learning
- ML service
src/services/ml_service.py - ML workflow
src/ml/ml_pipeline.py - Target detection
src/ml/target_detector.py - Best model selection
src/ml/select_best_model.py - Classification models
src/ml/classification - Regression models
src/ml/regression - Feature insights and recommendations
src/explainability
AI and exploration
- Business narrative
src/llm - Dataset chat
src/services/chat_service.py - RAG retrieval
src/rag - Natural-language analytics
src/analytics
Reports and charts
- Interactive charts
src/visualization - PDF reporting
src/reporting - PDF report
- Plotly chart
Other components
- Analyst
Connections 24
- Analyst → Streamlit frontend: uses
- Streamlit frontend → FastAPI endpoints: requests analysis
- FastAPI endpoints → Analysis orchestrator: runs analysis
src/api/app.py - FastAPI endpoints → Dataset chat: requests chat
src/api/app.py - FastAPI endpoints → API schemas: uses response types
src/api/app.py - Analysis orchestrator → Exploratory analysis: runs EDA
src/services/pipeline_service.py - Analysis orchestrator → ML service: runs modeling
src/services/pipeline_service.py - Analysis orchestrator → Business narrative: requests summary
src/services/pipeline_service.py - Analysis orchestrator → PDF reporting: generates report
src/services/pipeline_service.py - Analysis orchestrator → Interactive charts: generates charts
src/services/pipeline_service.py - Analysis orchestrator → Data preprocessing: prepares dataset
- Exploratory analysis → EDA insights: generates findings
- ML service → ML workflow: runs ML workflow
- ML workflow → Target detection: detects target type
src/ml/ml_pipeline.py - ML workflow → Classification models: trains and evaluates
src/ml/ml_pipeline.py - ML workflow → Regression models: trains and evaluates
src/ml/ml_pipeline.py - ML workflow → Best model selection: selects best model
src/ml/ml_pipeline.py - ML workflow → Feature insights and recommendations: generates explanations
src/ml/ml_pipeline.py - Dataset chat → RAG retrieval: retrieves context
- Dataset chat → Business narrative: generates response
- FastAPI endpoints → Natural-language analytics: accepts query
- Natural-language analytics → Interactive charts: requests chart
- PDF reporting → PDF report: produces
- Interactive charts → Plotly chart: renders