Text-to-SQL 工具Vanna进阶|数据库对话机器人的多轮对话

本文介绍了如何利用Vanna进行多轮对话以生成和优化SQL语句,通过实际操作展示了在不同对话轮次中Vanna如何理解和改进SQL。在基础配置后,通过Vanna的generate_sql和ask方法,实现了从无训练语句到有训练语句的SQL生成,并对比了两者在输出上的差异。
摘要由CSDN通过智能技术生成

可从公众号“AI早高峰”看全文
https://mp.weixin.qq.com/s/Vs0iqZVFphc-QCsr3X1ywA

跟数据库对话机器人对话,我可不止一个问题。
可能基于第一句问话,还有第二句、第三句问话。。。第N句对话。所以本文测试了多轮对话功能

单轮对话的环境搭建参考博客 Text-to-SQL 工具Vanna + MySQL本地部署 | 数据库对话机器人

我的数据是这样
在这里插入图片描述

1. 基础配置

import vanna
from vanna.remote import VannaDefault
from vanna.flask import VannaFlaskApp
import pandas as pd
import mysql.connector

api_key = '7acxxx68c'
vanna_model_name = 'community'
vn = VannaDefault(model=vanna_model_name, api_key=api_key)

def run_sql(sql: str) -> pd.DataFrame:
    cnx = mysql.connector.connect(user='root',password='111000',host='localhost',database='Community')
    cursor = cnx.cursor()
    cursor.execute(sql)
    result = cursor.fetchall()
    columns = cursor.column_names
    # print('columns:',columns)
    df = pd.DataFrame(result, columns=columns)
    return df

# 将函数设置到vn.run_sql中
vn.run_sql = run_sql
vn.run_sql_is_set = True

2. 多轮生成SQL

  • vn.generate 生成SQL
    使用方法看官方文
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值