使用vanna实现Text2SQL

这节一起用vanna来实现自然语言转SQL,之前的大模型一直停留在问答阶段,答案基本都是大模型提供的,至多是加点本地知识库,tet,pdf等文档,丰富大模型的内容,但是想要大模型与一些管理系统对接还是无能为力,这节就一起尝试下用vanna对接数据库,将自然语言转成标准的SQL对数据库进行查询。这也是很多管理系统的开发者最需要落地实践的内容。

使用vanna之前需要打开vanna的官网申请一个key,如果之前没有注册过的话,还需要先注册一个vanna的账号,注册成功后,在申请KEY的页面申请key申请之后鼠标悬停在中间的输入框上,key就会显示出来。

因为vanna是python实现的,我这里也用python开发,用的pycharm编辑器,需要导入vanna,在pycharm的命令提示符输入:

复制代码
pip install vanna

安装成功后,按照官网的步骤对接vanna,这里使用的是vanna的数据库,

复制代码
from vanna.remote import VannaDefault
vn = VannaDefault(model='chinook', api_key='your_key')

vn.connect_to_sqlite('https://vanna.ai/Chinook.sqlite')
from vanna.flask import VannaFlaskApp
VannaFlaskApp(vn).run()

然后点击运行,运行成功后,会在控制台打印出访问地址,打开后页面如下

输入问题后,他会将问题转化成标准的SQL语句进行查询,并用表格展示,同时,vanna会根据自己的理解使用适当的表格展示

相关推荐
梦幻通灵16 分钟前
MybatisPlus使用数据库递增ID实现方案【持续更新】
数据库·oracle
l1t16 分钟前
DeepSeek总结的从 SQL 桥梁到智能体基础设施:Hex 的 DuckDB 实践
数据库·sql·duckdb
代码派19 分钟前
PostgreSQL 同构迁移上云方案|NineData 数据复制、实时增量与一致性校验
数据库·postgresql·上云·ninedata·迁移·数据库迁移·版本升级
孙琦Ray21 分钟前
Speedb 数据引擎转向开源,RocksDB 替代方案迎来新竞争
数据库·开源·rocksdb·键值存储·speedb
与数据交流的路上23 分钟前
一次 redis 幽灵内存的分析
数据库·redis·缓存
qq_4017004136 分钟前
Qt Modbus 工程化封装:超时、重试、取消与资源释放,别让异步请求变成隐患
数据库·qt
ESDWAN39 分钟前
SD-WAN 是什么?工作原理、适用场景与选型要点
开发语言·网络·数据库·架构·php
m0_6399069441 分钟前
MySQL 慢查询优化|explain执行计划详解
数据库·mysql
正儿八经的少年44 分钟前
MyBatis 一对一、一对多 SQL
数据库·sql·mybatis
Elastic 中国社区官方博客1 小时前
Elastic 在《Forrester Wave™:2026 年第四季度智能运维平台》报告中被评为强劲表现者
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索