跳到内容

强化指南

默认的 Vanna 设置旨在让您轻松快速地启动并运行个人助手/概念验证。如果您想将 Vanna 公开给其他用户,可以按照以下指南强化系统。

登录

入门级前端没有登录系统。如果您正在实现自己的前端,则应该实现一个登录系统。

使用适当的数据库凭据

运行 vn.generate_sql 可以生成任何 SQL。如果您允许最终用户运行此函数,则应使用具有适当范围权限的数据库凭据。

对于大多数数据分析用例,您希望使用只读数据库用户。根据您的具体要求,您可能还需要使用行级安全性 (RLS),这因数据库而异。

Plotly 代码

运行 vn.generate_plotly_code 可以生成任意 Python 代码,这可能是创建图表所必需的。如果您将此函数暴露给最终用户,则应使用沙盒环境。

您还可以覆盖 vn.generate_plotly_code 以仅返回一个空字符串。如果这样做,那么 vn.get_plotly_figure 将使用确定性默认值。

内置 Web 应用中的执行流程

  • sql = vn.generate_sql(question=...): 生成任何 SQL 语句
  • vn.is_sql_valid(sql=...): 用于检查是否应运行 SQL。您可以根据您的用例覆盖此函数。
  • df = vn.run_sql(sql=...): 运行 SQL 并返回 pandas DataFrame
  • plotly_code = vn.generate_plotly_code(question=..., sql=..., df_metadata=...): 生成任何将生成 plotly 图形的 Python 代码
  • fig = vn.get_plotly_figure(plotly_code=..., df=...): 运行 plotly 代码并返回 plotly 图形

覆盖特定函数

有关如何覆盖特定函数,请参阅行为定制文档

Vanna 标志 Vanna.AI

只需提问即可从数据库获取洞察的最快方式