基于通义千问实现的自然语言处理(NLP)查询Mysql数据库,替代传统报表开发,支持上下文对话,历史对话记录存储
使用python语言,基于阿里云的通义千问大模型,实现对mysql数据库表的查询。
- 针对用户提问,回答数据库的相关数据查询问题。如果不涉及数据库查询,也可直接回答。
- 数据库权限控制,用户只能查询数据库,不能做增删改操作。
- 用户访问权限控制,每个用户只能查询自己的权限下的数据。
- 基于上下文对话,用户可针对对话上下文提问。
- 提供用户的聊天对话历史记录查询接口。
- 日志的格式化输出及自动分割
-
修改.env文件中配置为自己的相关配置
- API_KEY: 阿里百炼平台对接用的key,在百炼平台申请
- DB_NAME:数据库名称
- DB_USER:数据库账号
- DB_PASSWORD:数据库密码
- DB_HOST:数据库服务ip
- DB_PORT:数据库端口
- AES_KEY:数据库敏感字段加密秘钥,如果你没有,就去掉这段加解密逻辑
- AED_IV:数据库敏感字段加密秘钥
- TRY_TIME:SQL生成失败重试次数
-
在SqlCreateTool 类的提示词中的 ‘已知表结构信息‘ 配置自己的表结构信息。
-
nohup python3 main.py &>/dev/null & 启动服务