snowChat

Chat snowflake - Text to SQL

Visit WebsiteView on GitHub
549
Stars
+46
Stars/month
0
Releases (6m)

Overview

snowChat is a natural language-to-SQL interface that democratizes access to Snowflake data warehouses. Instead of writing complex SQL queries, users can ask questions in plain English and receive accurate results from their Snowflake databases. The application leverages multiple large language models including GPT-4o, Claude 3 Haiku, Gemini Flash, and Llama variants to understand context and generate precise SQL queries. Built on Streamlit, it provides an intuitive chat interface with conversational memory, allowing for dynamic, context-aware interactions. The tool features self-healing capabilities that automatically suggest solutions when SQL errors occur, reducing friction in data access. With agent-based architecture and Cloudflare caching for performance optimization, snowChat bridges the gap between technical and non-technical users, enabling faster data-driven decision making. This is particularly valuable for organizations where business users need regular access to data insights but lack SQL expertise, effectively removing traditional barriers to data exploration and analysis.

Pros

  • + Multi-LLM support provides flexibility in model selection and reduces vendor lock-in
  • + Self-healing SQL feature automatically suggests error corrections, improving user experience and reducing query failures
  • + Real-time Snowflake integration with Cloudflare caching ensures fast performance while maintaining data freshness

Cons

  • - Complex setup requiring multiple API keys and credentials (OpenAI, Snowflake, Supabase, Cloudflare) may deter adoption
  • - Limited to Snowflake databases only, restricting use for organizations with diverse data infrastructure
  • - Natural language queries may pose security risks if not properly validated, potentially exposing sensitive data

Use Cases

Getting Started

1. Clone the repository and install Python dependencies with pip install -r requirements.txt. 2. Configure credentials in secrets.toml including Snowflake connection details, LLM API keys, and caching service credentials. 3. Launch the Streamlit application and start asking questions about your data in natural language.