Skip to content

About

一个基于 Flask + LangChain 的“自然语言问答生成/执行 SQL”的 Web 应用。

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

SQL Genius(Flask)

一个基于 Flask + LangChain 的“自然语言问答生成/执行 SQL”的 Web 应用。

功能

  • 通过自然语言提问,生成 SQL 并返回答案
  • 展示生成的 SQL,并支持一键执行 SQL
  • 支持选择 Schema(MySQL / PostgreSQL / SQL Server / TiDB)
  • 支持在页面里配置模型(API Key、Endpoint、模型名)

环境要求

  • Windows 10/11
  • Python 3.10+(建议)

快速开始(本地运行)

1) 克隆后进入目录

cd Codes

2) 创建虚拟环境并安装依赖(PowerShell)

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

3) 配置环境变量(可选)

  • 复制 .env.example 为 .env
  • 按需填写 BASE_URL、OPENAI_API_KEY(或 DMX_API_KEY)

说明:

  • 不配置 .env 也能启动页面,但调用模型接口前需要在页面右下角 Setting 里填写 Key/Endpoint。

4) 启动

python app.py

浏览器访问:http://127.0.0.1:5000

配置项说明(.env)

  • 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 字段差异)

常见问题

依赖安装失败 / PyMySQL 报错

  • 确认已激活虚拟环境:PowerShell 里看到 (.venv) 前缀
  • 重新安装:pip install -r requirements.txt

SQL Server / PostgreSQL 连接

本仓库默认依赖只包含 MySQL 常用驱动:

  • SQL Server 通常需要额外安装 pyodbc,并在系统安装 ODBC Driver
  • PostgreSQL 通常需要额外安装 psycopg2-binary

About

一个基于 Flask + LangChain 的“自然语言问答生成/执行 SQL”的 Web 应用。

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages