vanna.AI 接口文档(一)

10
0
0
2025-02-20

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

功能概述及执行流程:

  1. 生成 SQL 查询: 调用 generate_sql 方法,将自然语言问题转换为 SQL 查询。

  2. 打印 SQL 查询: 如果 print_resultsTrue,则打印生成的 SQL 查询。

  3. 检查数据库连接: 如果未设置数据库连接,提示用户先连接数据库。

  4. 运行 SQL 查询: 如果已连接数据库,运行生成的 SQL 查询并获取结果数据框。

  5. 打印查询结果: 如果 print_resultsTrue,则打印查询结果数据框。

  6. 自动训练: 如果 auto_trainTrue,将问题和对应的 SQL 查询添加到训练数据中。

  7. 生成可视化: 如果 visualizeTrue,调用 generate_plotly_code 方法生成 Plotly 可视化代码,并使用 get_plotly_figure 方法生成图表对象。

  8. 显示图表: 如果 print_resultsTrue,则显示生成的 Plotly 图表。