
Vanna AI
Open-source Python RAG framework that turns plain-English questions into accurate SQL.
About
Vanna AI is an MIT-licensed open-source Python framework that uses retrieval-augmented generation (RAG) to convert natural-language questions into SQL queries. Developers train a RAG model on their database schema, DDL, documentation, and historical queries, then ask questions in plain English and receive executable SQL in return.
It ships with prebuilt interfaces for Jupyter Notebook, Streamlit, Flask, and Slack, and an abstract base class that makes it extensible to any LLM, vector store, or SQL database. Generated SQL can be executed against the database and returned as pandas DataFrames, with Plotly charting and follow-up question generation built in. Reviewers report it has amassed over 23,000 GitHub stars, and the Vanna 2.0 line adds identity-first, multi-tenant features aimed at production enterprise deployment.
What it can do
- Natural-language to SQL generation via RAG
- Training on schema, DDL, docs, and past queries
- Execute queries and return pandas DataFrames
- Plotly chart generation from query results
- Prebuilt UIs for Jupyter, Streamlit, Flask, Slack
- Extensible to any LLM, vector DB, and SQL database
Setup
Install with pip: pip install vanna, then pick the LLM and vector-store modules from the docs and train on your schema.
Prerequisites
Python 3.8+, a SQL database, and an LLM API key (OpenAI, Anthropic, or a self-hosted model).
Use cases
Works with
Trust score — 8/10
Scored 8/10 (verified tier, metrics-v1). Evidence: Verified via vendor site/docs/GitHub and reputable coverage, wave 113; Trending score 84/100 from researcher assessment.
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.