一个基于 Flask + LangChain 的“自然语言问答生成/执行 SQL”的 Web 应用。
- 通过自然语言提问,生成 SQL 并返回答案
- 展示生成的 SQL,并支持一键执行 SQL
- 支持选择 Schema(MySQL / PostgreSQL / SQL Server / TiDB)
- 支持在页面里配置模型(API Key、Endpoint、模型名)
- Windows 10/11
- Python 3.10+(建议)
cd Codespython -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt- 复制
.env.example为.env - 按需填写
BASE_URL、OPENAI_API_KEY(或DMX_API_KEY)
说明:
- 不配置
.env也能启动页面,但调用模型接口前需要在页面右下角Setting里填写 Key/Endpoint。
python app.py浏览器访问:http://127.0.0.1:5000
FLASK_SECRET_KEY: Flask session 加密密钥(建议设置)BASE_URL: OpenAI 兼容接口 base url(例如https://api.openai.com/v1或代理)OPENAI_API_KEY/DMX_API_KEY: 模型 API Key(可二选一)DB_HOST/DB_PORT/DB_USERNAME/DB_PASSWORD/DB_DATABASE: 默认数据库连接信息(可选)
app.py: Flask 后端入口(包含 API 路由)templates/index.html: 前端页面模板static/js/main.js: 前端交互逻辑static/css/style.css: 页面样式patch.py: 兼容补丁(LangChain/OpenAI token usage 字段差异)
- 确认已激活虚拟环境:PowerShell 里看到
(.venv)前缀 - 重新安装:
pip install -r requirements.txt
本仓库默认依赖只包含 MySQL 常用驱动:
- SQL Server 通常需要额外安装
pyodbc,并在系统安装 ODBC Driver - PostgreSQL 通常需要额外安装
psycopg2-binary