智能数据分析机器人
一种全自动的人工智能服务,使用模型上下文协议(MCP)将自然语言问题转化为数据查询和图表。
概述
该项目实现了一个智能数据分析机器人,允许用户用自然语言询问有关数据的问题。系统:
- 处理自然语言查询
- 将它们转换为SQL查询
- 从数据库检索数据
- 生成适当的可视化
- 对结果进行叙述性解释
建筑
该系统采用模块化架构,使用MCP连接组件:
- LLM客户端:解释用户查询并协调流程
- 数据库MCP服务器:提供数据库连接(SQLite)
- 可视化MCP服务器:生成图表和可视化(Vega Lite)
- web界面:提供用户交互(Streamlit)
特性
- 自然语言查询处理
- 自动生成SQL查询
- 基于查询上下文的动态图表创建
- 数据洞察的叙述性解释
- 基于Web的用户界面
技术栈
- 数据库:带jparkerwb/mcp-SQLite的SQLite
- 可视化:VegaLite MCP服务器
- LLM集成:带MCP的LangChain
- web界面:流光灯
- 部署:Docker容器
项目结构
smart_data_analyst_bot/
├── docker/ # Docker configuration files
├── database/ # Database setup and sample data
├── mcp_servers/ # MCP server implementations
│ ├── sqlite_server/ # SQLite MCP server
│ └── vegalite_server/ # VegaLite MCP server
├── llm_integration/ # LLM integration with MCP
├── web_interface/ # Streamlit web application
├── tests/ # Test cases and examples
└── docs/ # Documentation入门指南
请参阅 安装指南 有关设置说明。
