news 2026/7/29 14:18:30

项目:InnoAI SQL 助手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
项目: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.系统需求

功能需求

① 支持自然语言转MySQL只读查询语句,仅生成SELECT,拦截所有增删改DDL/DML语句;
② 自动执行生成SQL,格式化输出表格化查询结果,调用大模型输出通俗易懂业务总结;
③ 输入任意业务SQL,自动解析EXPLAIN执行计划,输出分级性能问题、可直接执行索引、改写方案;
④ 配置独立环境文件存储数据库账号、大模型密钥,避免代码硬编码,保障敏感信息安全

非功能需求

① 兼容性:适配openEuler/RHEL Linux系统,兼容MySQL 8.0.45,适配QwenDeepSeek系列开源模型;
② 稳定性:自然语言识别容错率高,无匹配数据可正常提示,API、数据库异常捕获不崩溃;
③ 安全性:仅开放只读查询权限,密钥文件设置600权限,不打印明文账号密钥

2.3.大模型API

腾讯云TokenHub大模型平台

2.4.技术架构

2.4.1.流程图

2.4.2.架构说明

接入交互层(左侧)

面向运维、开发、业务运营人员,提供两种使用入口,适配不同场景:

  1. 命令行终端模式:在openEuler服务器终端执行python3 main.py进入交互式菜单,支持自然语言
  2. 查数据、SQL性能调优两大功能。
  3. Web可视化模式:浏览器访问Streamlit面板,通过图形化界面完成查询与调优操作,自带输入校
  4. 验、结果表格、代码复制等易用性功能。

Python程序核心层

采用分层解耦设计,共4个核心文件+ 1个配置文件,职责边界清晰,便于教学与二次开发:

main.py:总调度入口与公共服务层。封装自然语言转SQL查询、AI业务总结、SQL性能调优三大核心业务流程,同时提供命令行交互入口,Web端统一调用该文件的公共函数,避免代码重复。

web_main.pyWeb可视化界面层。基于Streamlit实现图形化交互,包含输入合法性校验、页面版式优化、代码块复制修复、结果表格渲染等前端能力。

prompts.py:提示词工程层。统一管理NL2SQLSQL调优的Prompt模板,内置SQL提取工具函数,实现提示词与业务逻辑解耦,优化模型输出格式。

mysql_client.py:数据访问层。统一封装MySQL 8.0连接、查询、执行计划获取能力,内置SQL安全校验机制,仅允许 SELECT语句执行,保障数据安全。

.env:独立配置文件。集中存放数据库连接参数、大模型API密钥与模型名称,敏感信息与代码分离,全局统一依赖。

底层数据持久服务层

运行于openEuler虚拟机的MySQL 8.0.45数据库,作为项目唯一数据源,存储
testdb.order_info电商订单测试数据,支撑查询与性能调优全流程。

AI大模型服务层

采用腾讯云TokenHub大模型聚合平台作为统一AI能力出口,同时为NL2SQL生成、业务数据总结、SQL性能分析三类场景提供大模型能力:

  1. 平台兼容OpenAI接口标准,一套代码可无缝切换DeepSeek V4 ProQwen3.5-Plus等多款主流模型
  2. 统一鉴权、统一计费、统一运维,避免多厂商对接成本
  3. 依托腾讯云基础设施提供高可用保障,满足生产环境使用需要

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.网址:腾讯云官网

访问腾讯云官网,手机号注册并完成实名认证
登录后进入“API Key管理新建API密钥,填写密钥名称并保存
选择deepseek-v4-pro模型

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

浏览器访问

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 14:16:25

【回眸】Airi 智能助手深度评测:从参数解析到实战边界

在技术选型的关键节点,面对市面上层出不穷的大语言模型,开发者往往容易陷入参数迷阵。我们常常看到各种评测报告罗列着惊人的训练数据量或上下文窗口大小,但真正落地到实际业务中,这些数字能否转化为稳定的生产力,却是…

作者头像 李华
网站建设 2026/7/29 14:14:03

Prometheus监控Nginx:核心指标与生产实践

1. 项目概述:Prometheus监控Nginx的核心价值 在Web服务运维领域,Nginx作为承载业务流量的第一道入口,其性能指标直接决定了用户体验质量。我曾管理过日PV超千万的电商平台,某次大促期间正是因为及时发现Nginx的活跃连接数异常增长…

作者头像 李华
网站建设 2026/7/29 14:13:55

Java修饰符与运算符核心用法及实战技巧

1. Java修饰符与运算符系统概述刚接触Java的新手常会对修饰符和运算符这两个基础概念感到困惑——它们看似简单,却直接影响代码结构和运行逻辑。我在带新人项目时发现,80%的初级开发者的语法错误都源于对这两类元素的理解偏差。本文将用工程实践中的典型…

作者头像 李华
网站建设 2026/7/29 14:13:38

C++异常处理:throw机制深度解析与实战指南

1. 异常处理机制与 throw 的定位 在C的世界里,写代码就像开着一辆没有安全气囊的老爷车上路。 throw ,就是那个关键时刻能把你从失控边缘拉回来的安全气囊触发器。它不是日常驾驶的油门和刹车,而是应对突发状况的最后一道防线。很多从其他…

作者头像 李华
网站建设 2026/7/29 14:10:17

x64dbg逆向分析五大核心技巧:从调试基础到实战工作流

1. 逆向分析中的“瑞士军刀”:为什么是x64dbg? 如果你在Windows平台上搞逆向分析或者漏洞挖掘,手头没个趁手的调试器,那感觉就像厨师没带刀。市面上工具不少,从老牌的OllyDbg到集成在IDA里的调试器,再到Win…

作者头像 李华
网站建设 2026/7/29 14:09:26

如何用GetQzonehistory三步永久保存你的QQ空间青春记忆

如何用GetQzonehistory三步永久保存你的QQ空间青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,QQ空间承载了无数人的青春回忆,那些年发的说说…

作者头像 李华