🤖 MCP查询引擎
基于人工智能的SQL分析平台 由Google Gemini和模型上下文协议(MCP)提供支持
______________________________________________________________________
📋 概述
这 MCP查询引擎 是一个智能商业智能平台,将大型语言模型的强大功能与数据库分析相结合。它使用户能够使用自然语言查询数据库,并通过交互式可视化接收格式化的见解。
🎯 主要特点
- 🗣️ 自然语言到SQL:用简单的英语(或阿拉伯语)提问,获得准确的SQL查询
- 📊 交互式可视化:使用Plotly自动生成图表(条形图、折线图、饼图、散点图)
- 💬 多对话聊天:使用聊天记录管理多个分析会话
- 🔍 SQL透明度:查看已执行的SQL查询以实现完全透明
- 📥 数据导出:将查询结果下载为CSV文件
- 🎨 专业用户界面:干净、现代的Streamlit界面,带有侧边栏导航
- 🌐 多语言支持:以与您的查询相同的语言进行响应
______________________________________________________________________
技术栈
- LLM:谷歌Gemini 2.5 Pro(通过LangChain)
- 框架:Streamlit用于web界面
- 协议:用于工具集成的模型上下文协议(MCP)
- 可视化:绘图用于交互式图表
- 数据库:SQLite(可扩展到其他SQL数据库)
______________________________________________________________________
🚀 入门指南
先决条件
- Python 3.8或更高版本
- 谷歌人工智能API密钥(在这里买一个)
安装
- 克隆存储库
git clone
cd "MCP Query Engine"- 创建虚拟环境
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate- 安装依赖项
pip install -r requirements.txt- 配置环境变量
创建一个 .env 根目录中的文件:
GOOGLE_API_KEY=your_api_key_here- 验证设置 (可选)
python verify_system.py______________________________________________________________________
💻 用法
启动应用程序
streamlit run app.py应用程序将在您的浏览器中打开 http://localhost:8501
功能详解
- 新聊天:单击“➕ 新聊天”开始新的对话
- 聊天历史记录:从侧边栏访问以前的对话
- 提出问题:用自然语言键入您的问题
- 查看结果:
- 查看带表格和亮点的格式化答案 - 查看自动生成的图表 - 展开以查看执行的SQL - 以CSV格式下载数据
- 切换对话:点击历史记录中的任何聊天记录以继续
______________________________________________________________________
🛠️ 配置
数据库设置
该项目包括一个示例 shop.db。要使用自己的数据库,请执行以下操作:
- 更新
Config.DB_PATH在src/config.py - 确保数据库可访问
- 代理将自动发现架构
📊 示例数据库架构
包括 shop.db 包含:
- 产品:带价格的产品目录
- 订单:客户订单
- 订单项目:每个订单的行项目
- 客户:客户信息
______________________________________________________________________
📦 依赖项
mcp # Model Context Protocol
streamlit # Web interface
langchain # LLM orchestration
langchain-google-genai # Google Gemini integration
pandas # Data manipulation
python-dotenv # Environment configuration
plotly # Interactive charts