项目:InnoAI SQL 助手
目录
1. 项目说明
2. 项目背景知识
2.1. 系统需求
2.3. 大模型 API
2.4. 技术架构
2.4.1. 流程图
2.4.2. 架构说明
3. 软硬件环境清单
4. 项目实施
4.1. 环境搭建
4.1.1. 系统搭建及初始化
4.1.2. 源码编译安装Python3.11.9
4.1.3. 配置国内 pip 源及安装项目依赖
4.1.4. 部署并初始化MySQL 8.0.45
4.1.5创建库和表
4.2获取API Key
4.2.1. 网址:腾讯云官网
4.3脚本开发阶段
4.3.1. 新建目录及脚本
4.3.2编写环境变量脚本
4.3.3编写数据库连接脚本
4.3.4.编写sql转换脚本
4.3.5. 编写程序入口脚本
5.测试
5.1. 项目执行
5.2生产SQL测试编辑6.web可视化版本
6.1部署流程
6.1.1原则
6.1.2安装Python依赖
6.1.3创建 Streamlit 可视化入口 web_main.py
6.1.4创建 systemd 后台常驻服务
6.1.5Windows网页访问测试
1.项目说明
本项目以MySQL 8.0 DBA运维核心知识点为基础,结合硅基流动开源大模型API,构建一套电商订单库智能查询与性能调优系统。
系统可接收业务自然语言自动生成合规MySQL查询语句,自动执行查询并输出结构化表格,依托大模型完成订单数据业务解读,同时解析 SQL执行计划输出标准化索引优化方案,全程无需人工手写、分析SQL。
核心价值:无需专业SQL开发能力即可完成业务数据查询,自动替代人工统计报表、手工分析执行计划等重复性运维工作;深度融合 MySQL数据库运维能力与大模型自然语言解析能力,适配企业轻量化数据查询、SQL性能优化、AI智能解读一体化落地场景。
2.项目背景知识
2.1.系统需求
功能需求:
非功能需求:
2.3.大模型API
腾讯云TokenHub大模型平台
2.4.技术架构
2.4.1.流程图
2.4.2.架构说明
接入交互层(左侧)
面向运维、开发、业务运营人员,提供两种使用入口,适配不同场景:
- 命令行终端模式:在openEuler服务器终端执行python3 main.py进入交互式菜单,支持自然语言
- 查数据、SQL性能调优两大功能。
- Web可视化模式:浏览器访问Streamlit面板,通过图形化界面完成查询与调优操作,自带输入校
- 验、结果表格、代码复制等易用性功能。
Python程序核心层
采用分层解耦设计,共4个核心文件+ 1个配置文件,职责边界清晰,便于教学与二次开发:
main.py:总调度入口与公共服务层。封装自然语言转SQL查询、AI业务总结、SQL性能调优三大核心业务流程,同时提供命令行交互入口,Web端统一调用该文件的公共函数,避免代码重复。
web_main.py:Web可视化界面层。基于Streamlit实现图形化交互,包含输入合法性校验、页面版式优化、代码块复制修复、结果表格渲染等前端能力。
prompts.py:提示词工程层。统一管理NL2SQL、SQL调优的Prompt模板,内置SQL提取工具函数,实现提示词与业务逻辑解耦,优化模型输出格式。
mysql_client.py:数据访问层。统一封装MySQL 8.0连接、查询、执行计划获取能力,内置SQL安全校验机制,仅允许 SELECT语句执行,保障数据安全。
.env:独立配置文件。集中存放数据库连接参数、大模型API密钥与模型名称,敏感信息与代码分离,全局统一依赖。
底层数据持久服务层
AI大模型服务层
采用腾讯云TokenHub大模型聚合平台作为统一AI能力出口,同时为NL2SQL生成、业务数据总结、SQL性能分析三类场景提供大模型能力:
- 平台兼容OpenAI接口标准,一套代码可无缝切换DeepSeek V4 Pro、Qwen3.5-Plus等多款主流模型
- 统一鉴权、统一计费、统一运维,避免多厂商对接成本
- 依托腾讯云基础设施提供高可用保障,满足生产环境使用需要
3.软硬件环境清单
4.项目实施
4.1.环境搭建
4.1.1.系统搭建及初始化
1.配置一台OpenEuler2203_server虚拟机
硬件配置如图:
自定义分区:
安装成功之后使用XSHELL进行远程连接,进行基础配置
2.关闭防火墙
进入修改SELinux为disabled
最后取消开机启动
验证:是否为dead
3.关闭SELinux
重启后getenforce 改为disabled
4.更换时间同步服务器
修改为阿里云
5.下载所需软件及依赖
4.1.2.源码编译安装Python3.11.9
1.进入源码存放目录并解压
使用Xftp8上传python压缩包
2.进入Python-3.11.9后编译配置
多核编译安装并配置动态链接库
解决libpython缺失报错
3.建立全局软连接并验证安装
不覆盖系统自带Python3
4.校验SSL模块(AI)接口必备
4.1.3.配置国内pip源及安装项目依赖
1.配置pip仓库为阿里镜像站,提高下载速度
2.安装python及ai所需依赖
4.1.4.部署并初始化MySQL 8.0.45
1.使用xftp将MySQL软件包上传到根目录
2.解压缩
3.使用前的准备
3.1移动到默认安装目录
3.2创建mysql的系统用户,将其添加到mysql组中,并设置其不可登录,以限制该用户的登录权限
3.3设置mysql目录的账户及工作组,生产环境中不要使用root
4.初始化软件
4.1初始化
需要复制密码,后续登录时要用
4.2再启动一个终端
4.3修改密码并刷新
返回上一个终端,敲一个回车,显示进程以杀死
5.设置mysql的配置文件
6.配置启动脚本
7.设置mysql命令识别
添加语句:export PATH=$PATH:/usr/local/mysql/bin
8.测试
4.1.5创建库和表
创建订单业务表
验证数据
4.2获取API Key
4.2.1.网址:腾讯云官网
4.3脚本开发阶段
4.3.1.新建目录及脚本
4.3.2编写环境变量脚本
4.3.3编写数据库连接脚本
4.3.4.编写sql转换脚本
4.3.5.编写程序入口脚本
5.测试
5.1.项目执行
5.2生产SQL测试
6.web可视化版本
6.1部署流程
6.1.1原则
已有业务文件:main.py mysql_client.py prompts.py .env文件不变
需要编写web_main.py入口文件即可
6.1.2安装Python依赖
检查:
6.1.3创建Streamlit可视化入口web_main.py
6.1.4创建systemd后台常驻服务
1.建立streamlit为后台服务
2.启动服务
6.1.5Windows网页访问测试
先查看自己的IP:hostname -I
