snowChat ❄️ logo

snowChat ❄️

Free

Chat with you're snowflake database ![GitHub Repo stars](https://img.shields.io/github/stars/kaarthik108/snowChat?style=social)

FreeFree tier
Type
Open Source

About snowChat ❄️

snowChat is an open-source, intuitive application that enables users to interact with their Snowflake data using natural language queries. It leverages large language models (LLMs) such as GPT-4o, Gemini Flash 1.5, Claude 3 Haiku, Llama 3.2, and Llama 3.1 to translate plain English questions into precise SQL queries. The tool features conversational memory for context retention, self-healing SQL to proactively suggest error fixes, and an agent-based architecture for managing interactions. It integrates directly with Snowflake for real-time data insights and provides a Streamlit-based interactive user interface with chat reset capabilities. Installation requires setting up environment variables for Snowflake credentials, OpenAI API key, Supabase, and Cloudflare (for caching). The project is licensed under MIT and hosted on GitHub.

Key Features

Conversational AI: Uses models like GPT-4o, Gemini Flash 1.5, Claude 3 Haiku, Llama 3.2, and Llama 3.1 to translate natural language into SQL queries.
Conversational Memory: Retains context across interactions for dynamic, multi-turn conversations.
Snowflake Integration: Provides real-time data insights directly from Snowflake databases.
Self-healing SQL: Proactively suggests solutions for SQL errors, reducing manual debugging.
Interactive User Interface: Streamlit-based chat interface with reset option for smooth UX.
Agent-based Architecture: Manages interactions and tool usage via a dedicated agent.

Pros & Cons

Pros
  • Open source and free to use under MIT license.
  • Supports multiple state-of-the-art LLMs for flexibility.
  • Self-healing SQL reduces time spent fixing query errors.
  • Conversational memory enables context-aware follow-up questions.
  • Easy to deploy via Streamlit app with minimal frontend code.
  • Active community on GitHub with 550+ stars and 280+ forks.
Cons
  • Requires manual setup of environment variables for Snowflake, OpenAI, Supabase, and Cloudflare.
  • Dependent on external LLM API keys and associated costs (if not using free tiers).
  • Needs schema documentation stored in a docs folder and Supabase/Cloudflare for full caching features.
  • No official hosted version; users must self-host or deploy.

Best For

Allowing non-technical users to query Snowflake databases without writing SQL.Accelerating data analysis by converting business questions into SQL instantly.Prototyping and exploring Snowflake schemas through conversational Q&A.Embedding natural language query capabilities into data dashboards or apps.

FAQ

What LLMs does snowChat support?
snowChat supports GPT-4o, Gemini Flash 1.5, Claude 3 Haiku, Llama 3.2 3B, and Llama 3.1 405B.
How do I install and run snowChat?
Clone the repository, install dependencies with 'pip install -r requirements.txt', set up required environment variables (OPENAI_API_KEY, Snowflake credentials, Supabase/Cloudflare config), place schema files in the docs folder, run 'python ingest.py' to create embeddings, then launch with 'streamlit run main.py'.
Is snowChat free?
Yes, snowChat is open source under the MIT license and free to use. However, you may incur costs for LLM API usage and cloud services.