data-copilot-steps

✨ 大语言模型 (LLM) 的可解释型自然语言数据库查询系统

通过自然语言提问,使用大语言模型智能解析数据库结构,对数据进行智能多表结构化查询和统计计算,根据查询结果智能绘制多种图表。
生成链路过程完全开放可修改,可解释,实现可靠的自然语言数据分析。
Pywebio 交互式前端网页,不必须 openai api,100%纯 Python 代码。

源代码可从本项目仓库下载:
📌github
📌gitee

📺项目在线演示连接

🚩English Readme

相关项目

个人网站:www.bytesc.top

🔔 如有项目相关问题,欢迎在本项目提出issue,我一般会在 24 小时内回复。

功能简介

  • 1, 使用自然语言提问
  • 2, 实现多表结构化查询和统计计算
  • 3, 实现智能绘制多种类型的 echart 图表制作
  • 4, 智能解析数据库结构,使用不同的 mysql 数据库无需额外配置
  • 5, ✨ 生成链路过程完全开放可修改,可解释,实现可靠的自然语言数据分析
  • 6, 能够处理大语言模型表现不稳定等异常情况
  • 7, 支持本地离线部署 (需 GPU) huggingface 格式模型 (例如qwen-7b)
  • 8, 支持 openai 格式(如 glm ,deepseek)和 dashscope qwen 的 api 接口

技术创新点

  • 脱离 langchain 等框架,完全开放实现
  • ✨ 生成链路过程完全开放可修改,可解释,实现可靠的自然语言数据分析

如何使用

安装依赖

python 版本 3.10

pip install -r requirement.txt

填写配置信息

./config/config.yaml 是配置信息文件。

数据库配置

连接即可,模型会自动读取数据库结构,无需额外配置

mysql: mysql+pymysql://root:123456@127.0.0.1/data_copilot
# mysql: mysql+pymysql://用户名:密码@地址:端口/数据库名
大语言模型配置

如果使用 deepseek api (推荐)

llm:
  model_provider: openai #qwen #openai
  model: deepseek-chat
  url: "https://api.deepseek.com/v1/"

# https://api-docs.deepseek.com/

如果使用 openai api (此处填写的是 glm 的 openai 兼容 api)

llm:
  model_provider: openai
  model: glm-4
  url: "https://open.bigmodel.cn/api/paas/v4/"

# glm-4
# https://open.bigmodel.cn

如果需要本地离线部署,相关代码在 ./llm_access/qwen_access.py

获取 apikey

如果使用 openai 格式 api 的 api-key

如果从deepseek-api 官网获取 deepseek 大语言模型的 api-key

如果从bigmodel 官网获取 chatglm 大语言模型的 api-key

保存 api-key 到 llm_access/api_key_openai.txt

运行

main.py 是项目入口,运行此文件即可启动服务器

python main.py 

界面展示

智能解析任意数据库的结构,用户输入自然语言问题
请添加图片描述

LLM 智能生成 SQL,用户检查后执行
请添加图片描述

如果对查询结果不满意,可以修改或者重新生成 sql
请添加图片描述

LLM 智能生成绘图的 python 代码
请添加图片描述

自动绘图
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

开源许可证

此翻译版本仅供参考,以 LICENSE 文件中的英文版本为准

MIT 开源许可证:

版权所有 © 2025 bytesc

特此授权,免费向任何获得本软件及相关文档文件(以下简称“软件”)副本的人提供使用、复制、修改、合并、出版、发行、再许可和/或销售软件的权利,但须遵守以下条件:

上述版权声明和本许可声明应包含在所有副本或实质性部分中。

本软件按“原样”提供,不作任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权持有人均不对因使用本软件而产生的任何索赔、损害或其他责任负责,无论是在合同、侵权或其他方面。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐