基于华为开发者空间 - 云开发环境,Vanna+MaaS 实现自然语言与数据库对话

本案例由开发者:banjin 提供
最新案例动态,请查阅《【案例共创】基于华为开发者空间-云开发环境,Vanna+MaaS实现自然语言与数据库对话》。小伙伴快来领取华为开发者空间进行实操吧
一、概述
1. 案例介绍
华为开发者空间,是为全球开发者打造的专属开发者空间,致力于为每位开发者提供一台云开发环境、一套开发工具和云上存储空间,汇聚昇腾、鸿蒙、鲲鹏、GaussDB、欧拉等华为各项根技术的开发工具资源,并提供配套案例指导开发者从开发编码到应用调测,基于华为根技术生态高效便捷的知识学习、技术体验、应用创新。
本案例基于华为开发者空间 - 云开发环境 ,使用 Vanna 结合 MaaS 实现 Vanna 在 HCE2.0 开发环境进行本地部署,构建 Text-to-SQL 自然语言与数据库对话。
Vanna 是一个开源的 Python 框架,用于基于 SQL 数据库构建、训练和部署 AI SQL 代理。它的核心功能是让用户能够通过自然语言直接与数据库进行交互,而无需编写复杂的 SQL 查询语句。
2. 适用对象
企业
个人开发者
高校学生
3. 案例时间
本案例总时长预计 90 分钟。
4. 案例流程
说明:
登录华为开发者空间,创建云开发环境;
创建隧道 A,配置 VS Code 远程连接,进入云开发环境;
安装 MySQL 并创建数据库;
安装部署 Vanna,创建 Vanna 工程,配置 MaaS 与 MySQL 参数;
创建隧道 B,提供对外访问,浏览器访问 Vanna.AI。
5. 资源总览
本案例预计花费 0 元。
二、基础环境与资源准备
1. 云开发环境
1.1 配置云开发环境
华为开发者空间-云开发环境平台为开发者提供专属云端开发主机,集成主流 IDE 工具,支持多端访问和 API/SDK 调用,打造开箱即用的开发环境。
参考案例《开发者空间 - 云开发环境使用指导》中“二、Web 端创建和管理云开发环境”章的“1. 进入云开发环境”和“2. 创建云开发环境”,创建配置云开发环境。
本案例参数样例:
创建配置完成后,参考案例《开发者空间 - 云开发环境使用指导》的“3. 管理云开发环境”,操作云开发环境开机,开机后状态如下:
1.3 创建隧道
本地 PC 与云开发环境的互联互通需要配置 CLI 工具包,因此在开始创建隧道前需要先参考案例《开发者空间 - 云开发环境使用指导》中“三、PC 端创建和管理云开发环境”章节的“1. 安装 cli 工具包”和“2. 配置本地环境”,安装 CLI 工具包,修改系统环境变量,配置 AK/SK 签名认证。
在本案例中,需要创建两条隧道:A 隧道和 B 隧道。
A 隧道:本地端口使用 1234,远端端口使用默认的 22 端口,该隧道可用于 VS Code 的 SSH 插件远程连接云开发环境。
B 隧道:本地端口使用 1233,远端端口使用 8084(步骤“1.1 创建云开发环境”中设置的端口号)。创建的的隧道用于云开发环境对外访问的 HTTP/HTTPS 服务,本案例中用于对外提供 Vanna 的访问服务。
1.3.1 创建 A 隧道
在 PC 本地开始菜单中搜索 CMD,打开的命令行窗口,输入如下指令:
创建完成后的效果如下:
1.3.2 创建 B 隧道
打开一个新的命令行窗口,输入如下指令:
1.4 创建 VS Code 远程连接
参考案例《本地VSCode基于华为开发者空间云开发环境完成小程序开发》,创建 VS Code 与云开发环境远程连接。
VS Code 远程连接云开发环境成功后,打开终端:
2. 安装 MySQL,创建数据库
2.1 安装 MySQL
本案例在云开发环境 root 用户下进行,系统默认使用 developer 用户权限,需要手动切换到 root 用户权限。VS Code 远程连接,进入云开发环境后,在控制台输入如下指令:
在
/home/developer/目录下创建 devsql 文件夹,并进入到该文件目录中,然后通过 wget 命令下载mysql80-community-release-el8-9.noarch.rpm。
安装 MySQL
启动 MySQL 重置密码
2.2 创建 MySQL 数据库
2.2.1 登入数据库
VS Code 控制台输入如下指令,然后根据提示输入 MySQL 安装过程中设置的新密码,进入 MySQL。
2.2.2 创建数据库 school,并切换到该数据库,
2.2.3 创建 students 表,并插入数据
查询students表格创建成功:
2.2.4 创建 courses 表,并插入数据
验证表格创建成功:
2.2.5 创建 enrollments 表,并插入数据
验证表格创建成功:
最后使用exit;命令退出数据库。
3. 登录 MaaS 平台领取 200 万免费 token
参考案例《基于DeepSeek和Dify构建心理咨询师应用》中的“2.1 免费领取 DeepSeek R1 满血版”内容领取 DeepSeek-V3 模型 200 万免费 token。
获取关键数据 API 地址、model 参数:
获取关键参数 API Key:
三、Vanna 部署
1. 配置 python 开发环境
云开发环境虚拟机已为开发者预置了 python 3.9.9 环境,输入以下指令验证环境:
1.1 设置 pip 源
1.2 配置 python 虚拟环境
业务场景的 Python 开发,多数都是构建一个大型应用程序,并且不希望各种组件的各种版本之间相互冲突,所以需要设置一个虚拟环境。
1.3 安装 python 插件
在 VS Code 远程连接窗口中,点插件市场,搜索 python,然后选中插件,点 Install in SSH: 127.0.0.1。
2. 安装 Vanna
2.1 查看官方文档
登录官网文档:https://vanna.ai/docs/,通过官方文档选配安装方式。
登录官网文档,选择 Vector Databases > Quickstart With Your Own Data,进入快速开始选配页面。
大模型 LLM:
OpenAI
数据训练:ChromaDB 开源向量数据库
被检索的数据库类型:MySQL
由此我们获取到 Vanna 安装、创建、调用、训练等样例代码。下一步我们将先开始安装 Vanna。
2.2 安装 Vanna
在 VS Code 控制台,输入如下指令:
3. 创建 Vanna 工程
3.1 创建工程目录
完成上述步骤后,在 VS Code 左侧/home/developer文件目录下点 New Folder,创建Vanna_mysql目录,并在该目录下点 New File,创建 main.py。
3.2 编写工程代码
创建完成后,参考本章“2.1 查看官方文档”中的内容在main.py文件中编辑工程代码。
3.2.1 初始化 Vanna
导入必要的包文件,完成MyVanna初始化,在初始化过程中,完成 OpenAI 的参数设置。
注:
将“二、基础环境与资源准备”章中“3. 登录 MaaS 平台领取 200 万免费 token”获取的 API Key、API 地址、model 参数分别替换代码中的
api_key、base_url和model参数。base_url参数需要把 API 地址中的/chat/completions去掉。
3.2.2 设置连接 MySQL 参数
注:实际操作中注意替换在“二、基础环境与资源准备”章中“2. 安装 MySQL,创建数据库”所设置的数据库参数。
3.2.3 训练模型
3.2.4 启动 Vanna
4. 运行/测试 Vanna
在 VS Code 右上角点运行按钮,日志中输出Your app is running at:http://localhost:8084,程序启动成功。
在 PC 本地打开浏览器,访问:http://127.0.0.1:1233/,然后对Vanna提问:“每门课程的最高分是多少?”。
Vanna.AI 先将语言进行了分析,转化成 SQL 语句,然后将查询到的数据表格化显示。然后生成图表,并且转化成自然语言进行答复。
最后询问:“结果是否正确?”,我们可以通过按钮 Yes, train as Question-SQL pair 或者 NO 回答 Vanna.AI。
至此基于华为开发者空间开发平台 - 云开发环境,使用 Vanna 结合 MaaS 实现 Text-to-SQL 自然语言与数据库对话案例结束。







评论