snowChat

Report Abuse

Basic Information

snowChat is an application that lets users query Snowflake data using natural language instead of writing SQL. The project provides a Streamlit user interface where users type questions and the system generates and executes SQL against a configured Snowflake database. It integrates large language models to translate conversational input into precise SQL, retains conversational memory for context-aware follow ups, and uses an agent-based architecture to manage interactions and tool usage. The repo includes tooling to ingest schema documentation into embeddings, store indexes, and cache Snowflake responses using Cloudflare KV and Supabase components. Installation and runtime rely on environment secrets provided in a secrets.toml file and running ingest.py to build embedding indexes followed by starting the Streamlit app.

Links

App Details

Features
The README lists several core features: conversational AI that converts natural language into SQL, conversational memory to maintain context across turns, and Snowflake integration for real-time data retrieval. It documents self-healing SQL that suggests fixes for query errors, an interactive Streamlit interface with chat reset, and an agent-based architecture for tool orchestration. The project supports multiple LLMs as backends and uses an ingestion script to create embeddings and index files. Operational pieces include Supabase database and storage extensions, Cloudflare KV for caching Snowflake responses, and configuration driven by a secrets.toml file. The repo also provides scripts and guidance for creating Supabase extensions and running the app locally.
Use Cases
snowChat lowers the barrier between users and their Snowflake data by enabling natural language queries, which helps non-SQL users access insights faster and reduces time spent crafting queries. Conversation memory and agent orchestration make multi-turn exploration easier and keep context in follow-up questions. Self-healing SQL eases debugging by suggesting fixes for errors returned from Snowflake. The ingestion pipeline and embeddings enable semantic retrieval of schema and documentation to improve query generation. Caching with Cloudflare KV and Supabase components can improve responsiveness and reduce load on the data warehouse. The Streamlit UI provides a ready-to-run interface for teams to prototype or deploy a conversational data access tool.

Please fill the required fields*