一、实验目的

在 OpenEuler 操作系统中完成 AI‑SQL 查询系统的部署,实现自然语言自动生成 SQL 语句、执行数据库查询,同时完成 SQL 性能调优功能调试,掌握 Linux 环境下 Python 项目部署、MariaDB 数据库配置、端口与防火墙配置、大模型接口对接等实操技能。

二、实验环境

  1. 操作系统:OpenEuler 22.03
  2. 远程连接工具:Xshell
  3. 数据库:MariaDB
  4. Python 版本:Python3.11
  5. Web 框架:Streamlit
  6. 大模型接口:腾讯云 TokenHub 大模型服务
  7. 虚拟机 IP:192.168.196.141,服务端口:8502

三、实验操作步骤

  1. 远程连接虚拟机 使用 Xshell 通过 SSH 协议登录 OpenEuler 虚拟机,确认虚拟机 IP 地址、系统资源状态,确认网络通信正常。

  2. 数据库环境部署 安装 MariaDB 数据库服务,完成服务启动、安全初始化,设置 root 账户登录密码;创建实验所用数据库,导入业务数据表,完成数据表校验,保证数据库可正常读写。

  3. 项目源码部署与依赖安装 将 AI‑SQL 项目源码上传至虚拟机/opt/mysql_ai_tools目录,安装项目运行所需全部 Python 第三方依赖包,核对项目文件完整性。

  4. 配置大模型密钥 修改项目.env配置文件,填写腾讯云 TokenHub 接口密钥,配置调用的大模型名称,完成接口对接准备。

  5. 防火墙端口放行 开放 8502 端口,允许外部主机访问 Streamlit 网页服务:

bash

firewall-cmd --add-port=8502/tcp --permanent
firewall-cmd --reload
  1. 启动 Web 服务 每次启动项目需要先关闭旧进程,进入项目目录后启动 streamlit 服务:

bash

pkill -f streamlit
cd /opt/mysql_ai_tools
/usr/local/python3.11/bin/python3 -m streamlit run web_main.py --server.address=0.0.0.0 --server.port=8502

启动成功后,在本机浏览器访问 http://192.168.196.141:8502,打开系统 Web 界面。

  1. 功能测试
  • 展开页面左上角>>展开侧边导航栏,可以切换两大功能模块:自然语言转 SQL 查询、SQL 性能调优分析。
  • 使用完整自然语言描述业务需求,提交请求,系统调用大模型生成 SQL 语句,自动执行并返回数据库查询结果、业务总结。

四、实验过程遇到问题与解决

问题 1:启动项目提示web_main.py文件不存在

  • 现象:执行启动命令报错File does not exist: web_main.py
  • 原因:执行命令时处于/root根目录,没有切换到项目存放目录。
  • 解决:执行cd /opt/mysql_ai_tools切换到项目文件夹,再执行启动命令。

问题 2:浏览器无法访问网页,提示无法访问此页面

  • 现象:浏览器输入错误文本地址,DNS 解析失败;或者端口未放行。
  • 原因:使用文字代替真实 IP 访问;虚拟机防火墙未开放对应端口。
  • 解决:浏览器填写真实虚拟机 IP http://192.168.196.141:8502;配置防火墙放行 8502 端口。

问题 3:Web 页面中文全部显示为??问号

  • 现象:页面标题、按钮中文全部渲染为问号,但是后端功能可以正常执行。
  • 原因:OpenEuler 系统字符集、Streamlit 前端组件兼容性问题,安装中文字体无法修复,属于前端显示缺陷。
  • 解决:不改动业务代码,实验报告记录该兼容性问题;后端数据库查询、大模型调用全部不受影响。

问题 4:部分简短提问出现Received response with null value for 'choices'报错

  • 现象:简短查询语句调用大模型时报错,复杂完整提问可以正常返回结果。
  • 原因:第三方 TokenHub 大模型接口数据包返回格式偶发异常,不属于本地部署错误。
  • 解决:使用完整、描述详细的自然语言进行提问;该第三方偶发异常写入实验问题记录。

五、实验结果

  1. Web 服务部署成功,浏览器可以正常访问 AI‑SQL 助手系统。
  2. 自然语言转 SQL 功能可以正常工作:输入业务需求,大模型自动生成 SQL,执行数据库查询,输出表格结果与业务文字总结。
  3. SQL 性能调优模块可以正常切换,支持输入 SQL 语句完成分析。
  4. 系统仅存在前端中文渲染问号的界面瑕疵,所有后端业务逻辑、数据库、大模型接口调用全部正常完成。
  5. 图片截图

六、实验总结

本次实验完成了在 OpenEuler 虚拟机下 AI‑SQL 系统完整部署,熟悉 Linux 下项目启停、防火墙配置、数据库运维、大模型接口对接。实验过程中遇到文件路径、网络端口、组件兼容性、第三方接口等多种问题,通过排查定位,区分本地操作错误与第三方平台的偶发故障。虽然页面存在中文显示的兼容性缺陷,但是不影响核心业务功能,完成本次实验的全部任务。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐