SnowQuery(可译为“雪查询”或根据具体语境保持原名,若“SnowQuery”为特定产品或技术名称,则通常直接使用原名)
一个基于人工智能的助手,能够利用MCP(可能是指某种模型或组件,如“Multi-Context Processing”等,具体需根据上下文确定)和代理推理技术,将自然语言转换为Snowflake SQL查询。轻松查询您的Snowflake数据库,并直接在网页界面中可视化结果。
项目目录结构
SnowQuery/
│── src/
│ ├── agent.py # Main agent logic (MCP + LLM + orchestration)
│ ├── snowflake_client.py # Connects & queries Snowflake
│ ├── mcp_context.py # MCP integration (schemas, metadata provider)
│ └── app.py # CLI or Streamlit web interface
│
│── requirements.txt # deps (snowflake-connector-python, openai, streamlit, mcp)
|–– .env # Snowflake + API credentials (you will need to create this file to run SnowQuery––sorry, credits cost $$$)
│── README.md设置
- 克隆仓库
git clone https://github.com/EdanStasiuk/SnowQuery.git
cd SnowQuery/src- 创建一个虚拟环境(推荐)
python3 -m venv .venv
source .venv/bin/activate # Linux/macOS
.venv\Scripts\activate # Windows- 安装依赖项
pip install -r requirements.txt- 创建一个
.env提交文件src/使用您的凭证
SNOWFLAKE_ACCOUNT=
SNOWFLAKE_USER=
SNOWFLAKE_PASSWORD=
SNOWFLAKE_WAREHOUSE=
SNOWFLAKE_DATABASE=
SNOWFLAKE_SCHEMA=
OPENAI_API_KEY=⚠️ 使用 SnowQuery 与 OpenAI API 将会消耗积分。
如何使用
CLI 模式
直接从终端运行 SnowQuery:
python3 app.py ""示例:
python3 app.py "Show me top 5 customers by revenue"- 输出生成的SQL
- 以表格形式显示查询结果
网页界面(Streamlit)
启动交互式网页应用:
streamlit run app.py- 在文本框中输入您的自然语言查询
- 点击 跑 生成SQL并获取结果
- 以表格形式查看结果,并使用交互式图表进行可视化
特点:
- 选择要在X轴和Y轴上绘制的列
- 选择图表类型:柱状图、折线图、散点图
- 所有数据列的交互式工具提示
- 针对Snowflake的具有重试逻辑的弹性查询
______________________________________________________________________
注释
- Streamlit 需要 Python 3.8 或更高版本
- 确保您的Snowflake凭据正确,并且模式存在
______________________________________________________________________
