可从公众号“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
使用方法看官方文