CoolFace
Apppublic

mnds18/agentic-ts-forecasting-system

sourceHugging Faceupdated 1y agoView on Hugging Face
0likes
agentic_ts_forecasting_system.py69 linesDownload Raw Back to root
1"""2Agentic AI Time Series Forecasting System3Full Pipeline Orchestrator with Modular Agents and Live API4"""5 6import time7from flask import Flask, jsonify8from agents.requirements_agent import run_requirements_gathering9from agents.data_generation_agent import run_data_generation10from agents.data_scientist_agent import run_model_training11from agents.peer_review_agent import run_peer_review12from agents.documentation_agent import generate_report13from agents.project_manager_agent import generate_plan_and_gantt14from agents.presentation_agent import generate_slide_deck15from agents.orchestration_agent import log_event16import os17 18# Step tracker for orchestration log19orchestration_log = []20 21# Initialize Flask API22app = Flask(__name__)23 24@app.route("/forecast", methods=["GET"])25def serve_forecast():26    import pandas as pd27    forecast_path = "data/forecast.csv"28    if not os.path.exists(forecast_path):29        return jsonify({"error": "Forecast not found. Run pipeline first."}), 40430    df = pd.read_csv(forecast_path).tail(60)31    return jsonify(df.to_dict(orient="records"))32 33# Orchestration wrapper34 35def run_pipeline():36    steps = [37        ("Business Analyst", run_requirements_gathering),38        ("Data Generator", run_data_generation),39        ("Data Scientist", run_model_training),40        ("Peer Reviewer", run_peer_review),41        ("Documentation Generator", generate_report),42        ("Project Manager", generate_plan_and_gantt),43        ("Presentation Agent", generate_slide_deck),44    ]45 46    print("\n๐Ÿš€ Starting Agentic Time Series Forecasting Workflow")47    for step_name, step_fn in steps:48        start = time.time()49        print(f"\n๐Ÿ”น Running: {step_name} Agent")50        output = step_fn()51        end = time.time()52 53        log_event(54            agent_name=step_name,55            step=step_fn.__name__,56            start_time=start,57            end_time=end,58            output_summary=str(output)[:150] + ("..." if len(str(output)) > 150 else "")59        )60 61    print("\nโœ… All agents completed successfully.")62    print("๐Ÿ“ˆ Forecast ready. Report, slides, Gantt chart, and peer review are available in the outputs/ folder.")63    print("๐ŸŒ API available at http://localhost:5001/forecast")64 65 66if __name__ == "__main__":67    run_pipeline()68    app.run(port=5001)69