vanna.AI 接口文档(一)
vanna.AI 接口文档(一)
Ask函数
功能概述:从自然语言问题生成 SQL 查询、运行查询并可视化结果的过程的函数
参数:
question(str, 可选): 要询问的问题。如果未提供,将提示用户输入。print_results(bool): 是否打印 SQL 查询和查询结果。默认为True。auto_train(bool): 是否自动将问题和生成的 SQL 查询添加到训练数据中。默认为True。visualize(bool): 是否生成并显示 Plotly 图表。默认为True。allow_llm_to_see_data(bool): 是否允许大型语言模型查看数据。默认为False。
返回值:
一个包含以下元素的元组:
sql(str): 生成的 SQL 查询。df(pd.DataFrame): SQL 查询的结果数据框。fig(plotly.graph_objs.Figure): 生成的 Plotly 图表对象。
功能概述及执行流程:
生成 SQL 查询: 调用
generate_sql方法,将自然语言问题转换为 SQL 查询。打印 SQL 查询: 如果
print_results为True,则打印生成的 SQL 查询。检查数据库连接: 如果未设置数据库连接,提示用户先连接数据库。
运行 SQL 查询: 如果已连接数据库,运行生成的 SQL 查询并获取结果数据框。
打印查询结果: 如果
print_results为True,则打印查询结果数据框。自动训练: 如果
auto_train为True,将问题和对应的 SQL 查询添加到训练数据中。生成可视化: 如果
visualize为True,调用generate_plotly_code方法生成 Plotly 可视化代码,并使用get_plotly_figure方法生成图表对象。显示图表: 如果
print_results为True,则显示生成的 Plotly 图表。