Vanna: Your AI Business Intelligence Assistant

Vanna: Your AI Business Intelligence Assistant

Vanna AI · Programación

Vanna es un agente SQL de código abierto que transforma preguntas en lenguaje natural en consultas SQL, gráficos y respuestas breves. Funciona con cualquier modelo de lenguaje y cualquier base de datos.

Vista previa de la interfaz de Vanna: Your AI Business Intelligence Assistant

Acerca de Vanna: Your AI Business Intelligence Assistant

About

Qué es Vanna

Vanna es un framework en Python con un servicio alojado: preguntas a tu base de datos en lenguaje natural y recibes, en una sola respuesta, la consulta, una tabla, un gráfico y un resumen corto. Nació en 2023 como biblioteca de text-to-SQL basada en recuperación de contexto y ya supera las 20.000 estrellas en GitHub. La versión 2.0, publicada en noviembre de 2025, lo reescribió como framework de agentes con permisos, respuestas en streaming y una interfaz de chat lista para incrustar en una aplicación web.

El problema que ataca es la espera. Alguien de marketing quiere la rotación del último trimestre separada por plan, el equipo de datos va saturado y la petición se queda en una cola tres días. Vanna pone en sus manos una caja de chat conectada al almacén. Responde hasta donde puede, muestra la consulta que ejecutó y deja que un administrador revise la lógica.

Hay dos límites que conviene tener claros antes de decidirse. Vanna es un producto de ingeniería: hay que instalarlo, configurar el conector de la base de datos, elegir un modelo y definir cómo se identifican los usuarios. No hay constructor visual. Y la calidad del SQL depende de lo que el agente haya aprendido, así que un despliegue nuevo sobre un esquema grande necesita acompañamiento. Cuenta con una semana de trabajo, no con una tarde.

Cómo empezar

  1. Crea un entorno virtual e instala el paquete con los extras que necesites, por ejemplo pip install 'vanna[anthropic,fastapi]'. Requiere Python 3.9 o superior.
  2. Conecta una base de datos y un modelo. Vanna incluye integraciones para PostgreSQL, MySQL, Snowflake, BigQuery, SQLite, Oracle, SQL Server, DuckDB y ClickHouse, además de OpenAI, Anthropic, Gemini, Azure, Bedrock, Mistral y modelos locales con Ollama.
  3. Define cómo se identifica cada usuario. Escribe un resolver que lea la cookie, el JWT o el token OAuth de la petición y lo traduzca en un identificador y una lista de grupos de permisos.
  4. Registra las herramientas que el agente puede llamar. RunSqlTool cubre las consultas, y puedes añadir las tuyas extendiendo la clase Tool, por ejemplo una que envíe un correo o llame a una API interna.
  5. Coloca el chat en una página. Inserta el componente <vanna-chat> y apúntalo al endpoint de streaming de tu servidor. Funciona igual en React, Vue o HTML plano.
  6. Revisa y ajusta. Lee el registro de auditoría los primeros días, corrige los grupos de permisos y deja que la memoria del agente acumule pares de pregunta y SQL hasta cubrir las consultas habituales.

Información del producto

Un vistazo rápido a los precios, las plataformas compatibles y el rendimiento de Vanna: Your AI Business Intelligence Assistant.

Plan gratuitoSí
Planes de pago$50 - $500/mo
PlataformaWeb, Python library
DesarrolladorVanna AI
CategoríaProgramación
Fecha de lanzamientoMay 2023
Última actualizaciónFeb 2026
Visitas al sitio web25.7K
Ranking global del sitio1M
Disponibilidad de la APISí

Ideal para

Los usuarios, tareas y casos de uso en los que esta herramienta encaja mejor.

Usuarios

  • Ingenieros de datos y de plataforma
  • Equipos de producto con usuarios no técnicos
  • Desarrolladores de SaaS con paneles multiinquilino
  • Equipos de datos pequeños que prefieren un agente alojado

Tareas

  • Responder preguntas de negocio recurrentes
  • Dar un panel al equipo comercial
  • Permitir que los clientes consulten un almacén compartido
  • Incrustar una caja de consultas en una herramienta interna

Casos de uso

  • Las cifras semanales sin abrir un ticket
  • Construir un producto de datos para clientes externos
  • Mantener consultable un esquema grande y cambiante

Funciones clave

Permisos por usuario en cada consulta

Cada petición arrastra una identidad de principio a fin. El resolver la convierte en un objeto de usuario con grupos, y las herramientas comprueban esos grupos antes de ejecutarse. Los resultados se filtran para que un responsable regional vea su región y nada más. Montar esto encima de un framework pensado para una sola persona suele terminar en una reescritura completa.

Memoria del agente

Los pares de pregunta y SQL que funcionan se guardan, y la siguiente pregunta parecida los recupera como ejemplo. Así sube la precisión sin reentrenar ningún modelo ni tocar prompts. La memoria puede vivir en proceso, en ChromaDB o en Pinecone según cuánto tiempo necesites conservarla.

Respuestas en streaming dentro del chat

En lugar de un muro de texto, el servidor envía primero la tabla, después el gráfico y al final un resumen breve, y el componente <vanna-chat> pinta cada pieza al llegar. El SQL lo ven los administradores y queda oculto para el resto, de forma que la interfaz sigue siendo legible sin esconder cómo se llegó a la respuesta.

Muchos modelos y muchas bases de datos

Vanna no te ata a un proveedor por ninguno de los dos lados. Se pasa de OpenAI a Anthropic o a un modelo local con Ollama cambiando la clase de servicio, y la herramienta SQL apunta a otro driver cuando hace falta. Quien ya trabaja con Snowflake o BigQuery se ahorra el paso de migración, y por eso se ha vuelto una opción habitual para proyectos de text-to-SQL en producción.

Seguridad a nivel de fila y registro de auditoría

Los grupos de permisos llegan hasta la capa SQL, así que el filtrado ocurre en la consulta y no en la presentación. Cada consulta queda registrada por usuario, lo que cubre las preguntas de cumplimiento y deja rastro cuando una cifra no cuadra.

Herramientas propias y hooks de ciclo de vida

El agente hace más que lanzar SQL. Defines una herramienta, le asignas un grupo de acceso y el agente la incorpora. Los hooks envuelven cada petición y gestionan cuotas, registros y filtros de contenido. Los middlewares de modelo añaden caché y control de costes. Ahí está la diferencia entre un chatbot de SQL y un asistente de datos interno de verdad.

Autoalojado o gestionado

El paquete de código abierto corre íntegro en tu infraestructura bajo licencia MIT, y no sale ningún dato de tu red salvo lo que envíes al proveedor de modelo que elijas. Si no quieres administrar servidores, los planes en la nube y las instalaciones empresariales ofrecen el mismo framework con alojamiento, soporte y límites más altos.

Ventajas y desventajas

Ventajas

  • Con la licencia MIT, puedes bifurcarlo, auditarlo y ejecutarlo dentro de tu red sin pagos por asiento.
  • El camino de crecimiento es continuo: el mismo framework sirve para autoalojado, nube gestionada y despliegue empresarial, así que el trabajo inicial no se tira.
  • Los permisos y el registro de auditoría forman parte del diseño, lo que ahorra meses frente a añadir control de acceso a un agente de demostración.
  • El componente de chat ya viene hecho y se inserta en React, Vue o HTML plano, con lo que el frontend queda casi resuelto.
  • Las integraciones de modelos y bases de datos cubren el stack empresarial habitual y evitan escribir conectores propios.

Desventajas

  • La puesta en marcha es trabajo de desarrollador: hace falta Python, configurar el driver y tener un sistema de identidad antes de la primera respuesta útil.
  • No encaja con compradores sin perfil técnico. A un equipo pequeño de marketing le conviene más una herramienta de BI alojada con modo chat.
  • Los límites gratuitos en la nube aprietan: Explorer da 20 preguntas al día, suficiente para probar y escaso para el uso diario de un grupo.
  • Las uniones complejas y los esquemas desordenados todavía lo confunden. Necesitas buenas descripciones de tablas y consultas de ejemplo para obtener resultados fiables.

Preguntas frecuentes

Con Vanna, cualquiera consulta una base de datos SQL en lenguaje natural. Genera la consulta, la ejecuta y devuelve una tabla, un gráfico y una respuesta corta. Los equipos lo usan para que compañeros sin perfil técnico tengan acceso autónomo al almacén sin repartir credenciales de SQL.