A full-stack ML experimentation and observability platform powered by an Agentic AI engineering co-pilot.
Ask any question about your experiment. An autonomous AI agent β built on Gemini's native function calling β plans a multi-step investigation, executes read-only tools against live telemetry, and returns a structured report with evidence provenance. Grounded in actual experiment telemetry. No hardcoded logic. A real agent loop. β Jump to full details
Ask a question about any experiment. The agent autonomously plans, calls tools, evaluates results, and delivers a structured report β without hallucinating.
The Experiment Investigator is an autonomous AI agent built with Google Gemini's native function calling. It is not a chatbot. It is a bounded, read-only reasoning loop that decides which tools to call, in what order, and when to stop.
User Query
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β InvestigatorAgent β
β β
β ββββββββββββ βββββββββββββββββ βββββββββββββ β
β β Gemini ββββββΆβ Tool DispatchββββββΆβ DB / SHAP β β
β β Flash βββββββ (5 tools) βββββββ Layer β β
β ββββββββββββ βββββββββββββββββ βββββββββββββ β
β β β
β β€ 5 iterations (hard cap) β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Structured Report: Conclusion Β· Evidence Β· Limitsβ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
5 read-only tools the agent can call:
| Tool | What it fetches |
|---|---|
get_experiment_runs |
All runs in the experiment with status |
get_run_metrics |
Accuracy, F1, precision, recall, ROC-AUC |
get_run_config |
Hyperparameters and model configuration |
compare_runs |
Side-by-side delta between any two runs |
get_feature_importance |
SHAP values and top contributing features |
Built-in safety guarantees: Hard iteration cap (β€5 loops) Β· Read-only tool access Β· SHA-256 response caching Β· 5-model Flash cascade failover Β· Evidence provenance on every claim.
MicroFlow
βββ ML Experimentation Platform
β βββ Dataset Management & Versioning
β βββ Experiment Tracking (runs, configs, artifacts)
β βββ SHAP Explainability (summary, dependence, values)
β βββ Paginated Artifact Registry
βββ AI Engineering Suite (Google Gemini)
β βββ Experiment Investigator β Agentic, function-calling loop
β βββ AI Run Review β Peer-review per completed run
β βββ AI Run Comparison β Delta analysis across two runs
β βββ AI Strategy Co-Pilot β Chronological experiment guidance
β βββ AI Dataset Insights β Schema audit and quality scoring
β βββ Ask MicroFlow β Hybrid RAG assistant + RAGAS eval
βββ Infrastructure
βββ FastAPI backend Β· React/TypeScript frontend
βββ PostgreSQL + pgvector (semantic search)
βββ Docker Compose (3-container stack)
βββ 289+ tests Β· CI/CD via GitHub Actions
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β React Frontend β
β TanStack Query Β· TypeScript Β· Recharts Β· Tailwind CSS β
ββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β HTTP / REST
ββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ
β FastAPI Backend β
β β
β Routers β Services β Repositories β
β β
β βββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
β β Training β β AI Layer β β RAG Layer β β
β β Engine β β (Gemini) β β (pgvector) β β
β β + SHAP β β + Agent β β + RAGAS eval β β
β βββββββββββββββ ββββββββββββββββ ββββββββββββββββββ β
ββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββ
β SQLAlchemy ORM
ββββββββββββββββββββββββΌββββββββββββββββββββββββββββββββββββ
β PostgreSQL 16 + pgvector β
β Experiments Β· Runs Β· Artifacts Β· AI Cache Β· Embeddings β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Key engineering decisions:
- Repository Pattern β No SQL in services. No DB access in the AI layer.
- Zero-Hallucination AI β Gemini receives pre-fetched structured data only. No SQL generation. No internet access.
- Deterministic Caching β SHA-256 hash of every prompt. Identical queries skip the LLM entirely.
- Resilience Cascade β Exponential backoff + 5-model Flash failover on rate limits.
git clone https://github.com/Mohitingale13/microflow-ml-platform.git
cd microflow-ml-platform
# add GEMINI_API_KEY to .env
docker compose up --build| Service | URL |
|---|---|
| Frontend | http://localhost:3000 |
| Backend API | http://localhost:8000 |
| Swagger Docs | http://localhost:8000/docs |
Required .env variables:
GEMINI_API_KEY=your_google_gemini_api_key_here
POSTGRES_USER=microflow
POSTGRES_PASSWORD=microflow_secret
POSTGRES_DB=microflow
All AI features require
GEMINI_API_KEY. Without it, AI endpoints return a descriptive 503 while all other platform features remain fully operational.
docker compose exec backend pytest -v289+ tests covering services, routers, training, AI layer, and the full Investigator agent spec.
microflow-ml-platform/
βββ backend/
β βββ app/
β β βββ ai/
β β β βββ investigator_agent.py # Agentic loop
β β β βββ tools/investigator_tools.py # 5 read-only tools
β β β βββ gemini_service.py # Retry + failover
β β β βββ cache_service.py # SHA-256 caching
β β βββ routers/ # HTTP layer only
β β βββ services/ # Business logic
β β βββ repositories/ # DB access
β β βββ training/ # Model Factory + SHAP
β βββ tests/ # 289+ tests
βββ frontend/
β βββ src/
β βββ components/experiments/
β β βββ InvestigatorModal.tsx
β β βββ AIStrategyTab.tsx
β β βββ CompareRunsDialog.tsx
β βββ components/datasets/
β βββ AIInsightsTab.tsx
βββ docker-compose.yml
βββ CONTRIBUTING.md
- Authentication β JWT + role-based access control
- Async training jobs β Celery/ARQ task queue with real-time status
- Cloud artifact storage β S3-compatible backend (single service swap)
- Streaming AI responses β Token-level streaming for the Investigator
- Experiment scheduling β Grid search / random search across hyperparameter spaces
See CONTRIBUTING.md for architecture conventions, layer rules, and PR guidelines.
MIT
Inspired by MLflow, Weights & Biases, and Kubeflow. AI powered by Google Gemini.

