一、基础环境搭建部署
1.系统初始化:部署 openEuler 服务器,关闭 SELinux 与防火墙,配置 yum 软件源,源码编译部署 Python3.11.9 运行环境,配置阿里 pip 国内镜像加速依赖下载。
2.数据库部署:安装 MySQL 8.0.45 服务,创建业务库 testdb 与订单表 order_info,导入标准测试订单数据,完成数据库账户与启动服务配置。
3.大模型平台接入:注册腾讯云 TokenHub 聚合平台并完成实名认证,申领 API 调用密钥,创建项目.env 独立配置文件存储数据库、大模型密钥,设置 600 权限加固敏感文件。
4.环境连通校验:批量安装项目所需 Python 第三方依赖,分别完成 MySQL 数据库连通性、TokenHub 大模型 API 接口连通性测试,确保底层服务可用。
二、分层业务脚本开发
项目采用分层解耦设计,共开发 5 个核心文件,职责拆分清晰:
1.mysql_client.py(数据访问层):封装 MySQL 连接、只读查询、EXPLAIN 执行计划获取能力;内置 SQL 安全拦截逻辑,仅放行 SELECT 语句,拦截所有增删改、建删表高危操作。
2.prompts.py(提示词工程层):统一维护自然语言转 SQL、SQL 性能调优两套标准化 Prompt 模板;封装正则工具方法,自动从大模型返回文本提取纯净可执行 SQL。
3.main.py(核心调度层):串联数据库客户端、大模型能力、提示词模块,封装 NL2SQL 查询、AI 数据解读、SQL 性能优化三大核心业务;提供终端交互式操作菜单,为网页端复用底层逻辑。
4.web_main.py(可视化界面层):基于 Streamlit 搭建 Web 图形面板,复用 main.py 核心业务函数;增加输入内容合法性校验,以表格、代码块可视化展示查询与调优结果。
5.env(配置隔离文件):独立存储数据库连接参数、大模型鉴权密钥、模型参数,实现敏感账号密钥与业务代码完全分离,避免硬编码泄露风险。
三、全场景功能验证测试
1.自然语言查询测试:覆盖多类电商业务查询场景,校验 AI 生成 SQL 语法合规、业务逻辑准确,模糊查询、聚合统计等功能无异常。
2.SQL 性能优化测试:输入各类待分析查询语句,验证程序可完整解析 EXPLAIN 执行计划,输出可直接落地的索引创建语句与优化后 SQL。
3.边界异常测试:模拟空白输入、超长复合查询、无匹配数据等极端场景,校验程序捕获异常后友好提示,不会崩溃终止。
4.安全合规测试:校验 AI 不会生成 UPDATE、DELETE、ALTER、DROP 等高危 SQL;程序日志、终端输出不会打印明文数据库密钥与大模型 API Key。
一、创建业务表结果
二、最终测试结果