Vanna is a Python framework designed to build conversational interfaces that translate natural language into executable database queries. It functions as an enterprise-grade toolkit that connects language models to relational databases, allowing users to retrieve information through conversational prompts rather than manual code. The system maintains context across interactions by utilizing vector databases to store historical query patterns and schema metadata.
The framework distinguishes itself through a focus on security and schema-aware generation. It incorporates granular access control, role-based permissions, and audit logging to ensure compliant data retrieval in enterprise environments. By injecting database metadata directly into language model prompts, the system ensures that generated queries align with existing table relationships and structural definitions.
Beyond query generation, the platform provides a comprehensive environment for data exploration. It includes tools for rendering interactive charts and tables from raw query results, alongside middleware hooks that allow for custom logging, rate limiting, and tool registration. The system also supports production-ready deployments, offering pre-configured server implementations and performance monitoring to track execution traces and system health.