high severityVanna.ai (vn.generate_sql, vn.ask)
Vanna.ai generates SQL with hallucinated (non-existent) tables and columns not present in the database schema, causing query execution failures. Especially occurs in complex queries involving joins. Seen with models like GPT-3.5-turbo-16k and local LLMs like gemma2:27b.
Root cause
LLM hallucinates table/column names in generated SQL because prompts lack strict constraints on using only provided schema, insufficient RAG retrieval of relevant examples, or weak model (e.g., GPT-3.5-turbo) that modifies names despite context. Common in complex queries requiring joins.
Vanna.aiSQL generationhallucinationjoinsRAGLLM prompting