Umbrella repo grouping the three analyst subsystems — model, agent, and server — into a single architectural unit
- ems-analyst-model - ML forecasting models with automatic retraining
- ems-analyst-agent - RAG-enabled energy analyst agent with knowledge graph
- ems-analyst-server - FastAPI service providing unified data and AI interface
rectangle analyst_api {
rectangle model
rectangle agent
rectangle server
}
rectangle domain_mcp_server
database timeseries
database vector_db
database graph_db
cloud ercot_api
cloud agent_apis
rectangle ems_hmi
domain_mcp_server -u-> vector_db: SQL
domain_mcp_server -u-> graph_db: Cypher
agent -u-> domain_mcp_server: MCP
model -u-> timeseries: SQL
model -l-> ercot_api: HTTP
model -d-> server
agent -d-> server
agent -r-> agent_apis: HTTP
ems_hmi -u-> server: HTTPThe server provides a unified FastAPI interface for:
| Endpoint | Purpose | Data Source |
|---|---|---|
/historical |
Historical timeseries data | TimescaleDB |
/predictions |
ML forecasting | Model service |
/chat |
AI energy assistant | Agent service |
participant ems_hmi
participant server
database timeseries
participant model
participant agent
ems_hmi -> server: GET /historical
server -> timeseries: query historical data
timeseries -> server: timeseries results
server -> ems_hmi: historical data
ems_hmi -> server: GET /predictions
server -> model: request forecast
model -> server: ML predictions
server -> ems_hmi: forecast data
ems_hmi -> server: POST /chat
server -> agent: process query
agent -> server: AI response
server -> ems_hmi: chat responseThis repo is the architectural grouping — it has no runtime process of its own. The running service is ems-analyst-server, which composes model and agent into a single FastAPI process.