Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ ChatSQL Public
forked from cubenlp/ChatSQL

自然语言转SQL,直接连接数据库查询,翌金科技@yysirs

License

Notifications You must be signed in to change notification settings

yysirs/ChatSQL

Repository files navigation

项目迁移

主项目迁移到cubenlp/ChatSQL,后续更新在该项目下进行。

ChatSQL

基于ChatGLM-6B/MOSS,实现nl2sql,直连数据库并返回查询结果 目前仅支持MYSQL语法,后续支持多数据库语法查询

  • 目前观察下来,ChatGLM-6B多轮交互上限在3-4轮,之后就无法正确生成准确的SQL语句

🚀 HuggingFace初体验

HuggingFace/ChatSQL❤️感谢HuggingFace提供免费CPU资源

目前配置为:v2CPU-16GRAM 进行部署,基于ChatGLM-int4模型,推理时间感人,如果本地有资源的同学还是下载在本地进行尝试😘

✨ 整体思路

整体思路如上,目前采用yaml文件代替Table_info表结构

🎬 开始

git clone git@github.com:yysirs/ChatSQL.git
cd ChatSQL
conda create -n chatsql python=3.9
conda activate chatsql
pip install -r requirements.txt
# 新建文件夹
mkdir DB
mkdir logs
# 生成本地数据库+插入数据
python local_database.py
# 基于GLM生成SQL
python main_gui.py
或者 基于MOSS生成SQL
python main_gui_moss.py

😁 效果演示

👍 特性

  • 🛒 支持多表联查
  • 🖼️ 2023年04月24日 支持web前端
  • 🎉 2023年04月24日 支持yaml自定义数据库schema
  • 😁 2023年04月25日 支持yaml自定义数据
  • 🎗️ 2023年04月25日 支持直连本地数据库查询,验证SQL是否正确
  • 👌 2023年04月30日 支持MOSS大模型

🔍 各种类型的查询

# 单表多条件查询
请帮我查询在2019年的货物销售的净收益率大于10的货物名称
# 两表联查
请帮我查询在2019年的净收益率大于10并且销售量大于100的销售负责人名字
# 两表多条件联查
请帮我查询在2019年的货物的净收益率大于10并且销售量大于100并且销售负责人业绩大于1000的销售负责人名字
# max
请帮我查询货物销售量最大的货物名称
# min
请帮我查询货物销售量最小的货物名称
# COUNT
请帮我查询在2019年的货物销售的净收益率大于10的货物名称的数目
# AVG
请帮我查询2019年以及2020年货物销售量的平均值
# GROUP BY
请根据年份进行分组查询货物销售量和年份
# ORDER BY
请帮我按照数量大小对货物名称进行排序
# SUM	
请帮我查询货物的销售量总和是多少

🔨 TODO LIST

  • 增加web前端
  • yaml可配置数据库schema
  • 采用sqlite本地数据库操作,验证SQL语句是否正确
  • In-Context Prompt作为yaml文件外挂
  • 优化各类查询语句,如:ORDER BY、GROUP BY / HAVING 等复杂查询
  • 优化相似度查询模块
  • 其他SQL语法查询,如:ORACLE(关系型数据库)、Cypher(图数据库)
  • Docker部署
  • SQL领域微调ChatGLM/MOSS

❤️ 致谢

  • ChatGLM-6B:ChatGLM-6B模型提供大语言模型能力
  • MOSS:MOSS模型提供大语言模型能力

About

自然语言转SQL,直接连接数据库查询,翌金科技@yysirs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%

AltStyle によって変換されたページ (->オリジナル) /