Changelog¶
All notable changes to this project are documented here following Keep a Changelog conventions.
[1.2.0] — 2026-05-07 · Documentation Release¶
Added¶
- MkDocs Material Documentation Site — full production documentation covering Getting Started, Architecture, API Reference, Training & Retraining, and Deployment guides.
- DBN Production Architecture Guide — detailed Mermaid reconstruction of the approved DBN Azure architecture, MS SQL Server migration guide, production checklist, T-SQL dialect comparison, and Managed Identity connection code.
- Training & Retraining section — Concepts, Initial Training (with batch seed script), Retraining (with audit script and decision flowchart), and Best Practices pages.
- Azure Deployment Guide — three deployment options: Container Apps, App Service, and AKS, with GitHub Actions CI/CD and Key Vault integration.
- Custom CSS (
docs/assets/extra.css) — hero banner, stats strip, pipeline badges, method pills, hover-lift cards, and improved table styling. - Abbreviations include — auto-tooltip expansions for RAG, SQL, DDL, MSME, PFI, POC across all documentation pages.
[1.1.0] — 2026-05-07 · Training API Release¶
Added¶
GET /api/v1/training/data— list all ChromaDB training records with type, ID, content, and question.POST /api/v1/training/ddl— embed a DDL statement into the vector store.POST /api/v1/training/sql— add a verified question–SQL pair.POST /api/v1/training/documentation— add a plain-English business rule or domain definition.POST /api/v1/training/from-database— auto-ingest all DDL fromsqlite_master(SQLite) orINFORMATION_SCHEMA(MS SQL Server).DELETE /api/v1/training/{id}— remove a training record by ChromaDB ID.- Training schemas in
models/schemas.py:TrainDDLRequest,TrainSQLRequest,TrainDocumentationRequest,TrainResponse,TrainingDataResponse,TrainingRecord,TrainFromDBResponse,DeleteTrainingResponse. - VannaService training methods:
train_ddl,train_sql,train_documentation,train_from_database,get_training_data,remove_training_data. api/v1/training.pyrouter registered under/api/v1/trainingtagtraining.
[1.0.0] — 2026-05-07 · Initial Production Release¶
Added¶
- FastAPI application migrated from Jupyter Notebook (
sqlite_gemini_chromadb.ipynb). POST /api/v1/chat/ask— primary RAG endpoint: NL question → SQL → data → Plotly code.POST /api/v1/chat/generate-sql— natural language → SQL (no execution).POST /api/v1/chat/run-sql— execute raw SQL → serialised JSON data.GET /health— liveness probe for deployment health checks.GET /— root endpoint returning welcome message.VannaServicesingleton with FastAPI dependency injection (core/dependencies.py).- Pydantic v2 request/response validation schemas (
models/schemas.py). - CORS middleware — configured via
CORSMiddlewareinmain.py. - Docker —
Dockerfileand.dockerignorefor containerisation. - Fly.io deployment configuration (
fly.toml). - Pydantic Settings —
.envfile loading withextra="ignore"to handle legacy env files.
Data¶
msmeloansSQLite table — ~11,000 rows, 40 columns.- ChromaDB vector index — pre-loaded with schema DDL and 10+ verified question–SQL pairs.
[0.1.0] — 2025-01-01 · Notebook POC¶
Added¶
- Jupyter notebook (
sqlite_gemini_chromadb.ipynb) demonstrating Vanna integration with Google Gemini and ChromaDB. - SQLite database creation from CSV (
msme_loans_with_predictions.csv). - Vanna DDL and question–SQL training pipeline.
- Flask development UI via
vn.run_flask_app().