Report Abuse

Basic Information

Vanna is an MIT-licensed open-source Python RAG (Retrieval-Augmented Generation) framework focused on translating natural language questions into SQL and related functionality. It is designed to let developers train a lightweight RAG "model" on schema DDL, business documentation, and example SQL so the system can generate accurate SQL queries. After training, users can ask natural language questions and receive SQL that can optionally be executed against connected databases to return result tables and charts. The project exposes a base Vanna class and plug-in style implementations so you can combine different LLMs and vector stores. User interface examples include Jupyter notebooks and reference apps for Streamlit, Flask, and Slack, making the project suitable as a backend for integrations or as a developer toolkit to build custom SQL-assistant workflows.

Links

Categorization

App Details

Features
Modular RAG training pipeline that accepts DDL statements, freeform documentation, and SQL examples to build retrieval indexes and metadata for text-to-SQL generation. Support for multiple LLM backends is provided, including OpenAI, Anthropic, Gemini, HuggingFace, Bedrock, Ollama, Qianwen, Qianfan, and Zhipu. A long list of supported vector stores is available such as ChromaDB, FAISS, Pinecone, Milvus, Qdrant, Weaviate, Opensearch, PgVector and others, plus Oracle as a vector store. Broad database connectivity is included for PostgreSQL, MySQL, Snowflake, BigQuery, ClickHouse, Oracle, SQL Server, SQLite, DuckDB, PrestoDB and Hive. The repo supplies a VannaBase abstraction for extension, example import patterns, pip installation, simple training API methods, an ask method that returns SQL, and automated result plotting.
Use Cases
Vanna helps teams and developers expose SQL databases to natural language queries without sending raw data to third-party LLMs or vector stores, preserving privacy and enabling local SQL execution. It reduces the need for fine-tuning by using RAG, which is portable across LLM providers and easier to update when training data changes. The framework aims for high accuracy on complex schemas by letting you supply DDL, documentation, and example queries, and it can learn from executed queries via optional auto-train feedback. Vanna accelerates building front ends and integrations by providing example UIs and adapters so you can embed a text-to-SQL assistant in notebooks, web apps, or chat platforms and obtain executable SQL plus visualizations for answers.

Please fill the required fields*