这是一个基于 LangChain 的智能数据库助手,支持 OpenAI 和 Deepseek API,允许用户使用自然语言与 MySQL 数据库交互。
- 多 API 支持:可切换使用 OpenAI 或 Deepseek API
- 智能路由系统:自动识别查询类型并选择最佳处理方式
- 探索性查询:帮助用户发现和理解数据结构
- 数据分析:支持复杂的数据统计和分析
- 可视化支持:自动生成数据可视化配置
- 流式响应:实时展示生成结果
- Web 界面:基于 Streamlit 的友好交互界面
- 错误恢复:自动重试和错误处理机制
db_chat/
├── app.py # Streamlit Web 界面
├── chat_with_db.py # 核心聊天逻辑
├── config.py # 配置管理
├── test_openai.py # API 测试工具
├── .env # 环境变量配置
├── .env.example # 环境变量示例
└── requirements.txt # 项目依赖
- sql_query:数据库查询和探索
- report:数据分析报告生成
- visualization:数据可视化
- chat:一般对话交互
- 数据库结构解释
- 探索性数据查询
- 统计分析查询
- 可视化数据查询
- 命令行界面:直接终端交互
- Web 界面:Streamlit 应用
- API 切换:支持在不同 API 间切换
- 安装依赖:
pip install -r requirements.txt- 配置环境变量:
cp .env.example .env
# 编辑 .env 文件,填入:
# - 数据库配置
# - OpenAI API 配置
# - Deepseek API 配置streamlit run db_chat/app.pypython db_chat/chat_with_db.pypython db_chat/test_openai.py- 探索数据:
> 帮我看看这些表里有没有销售数据的?
[系统会自动查找相关表和字段,并给出建议]
> 分析一下不同类型专辑的价格有何不同
[系统会生成统计分析并解释结果]
- 数据可视化:
> 用柱状图展示各个流派的销售情况
[系统会生成适当的图表配置]
-
API 配置
- 确保 API 密钥配置正确
- 检查 API 的可用性和限制
-
数据库连接
- 验证数据库连接信息
- 确保必要的数据库权限
-
性能考虑
- 合理使用数据库索引
- 注意查询的复杂度
- 添加新的 API 支持
- 自定义提示模板
- 扩展可视化类型
- 优化查询性能
-
API 连接问题
- 检查网络连接
- 验证 API 密钥
- 尝试切换 API
-
数据库问题
- 检查连接配置
- 验证数据库权限
- 检查 SQL 语法