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 图表。