Vanna.AI 数据安全常见问题
Vanna AI 架构
Vanna AI 核心 Python 包
Vanna AI 核心 Python 包是一个 Python 包,提供了一套工具,用于连接各种数据库、使用 AI 生成 SQL 查询、运行 SQL 查询、生成可视化以及相关功能。该软件包设计为可扩展的,允许用户根据需要添加或修改功能。
为了正常运行,该 Python 包需要两个主要组件:大型语言模型 (LLM) 和检索增强层。LLM 负责从自然语言问题生成 SQL 查询,而检索增强层负责为 LLM 提供上下文。检索增强层通过结合 DDL 语句、文档字符串、SQL 语句和问题-SQL 对进行训练。
您可以选择使用 Vanna AI 核心 Python 包以及您自己的 LLM 和检索增强功能,或者您可以选择使用 Vanna AI 托管服务,该服务提供 LLM 和检索增强层的访问权限。
代码完整性
核心 Python 包是一个开源项目,代码可在 GitHub 上获取。贡献给项目的代码在合并到主代码库之前由 Vanna AI 团队进行审查。代码还需经过自动化测试和代码规范检查,以确保其符合项目标准。
Vanna AI 托管服务
如果您使用 Vanna 的托管服务,训练数据将存储在 Vanna 的服务器上。其中一部分数据会发送到 LLM,用于生成 SQL 查询或相关功能。
存储的数据
- 用于训练系统的 DDL 语句 (例如,来自
vn.train(ddl=...)
) - 用于训练系统的文档字符串 (例如,来自
vn.train(documentation=...)
) - 用于训练系统的 SQL 语句 (例如,来自
vn.train(sql=...)
) - 用于训练系统的问题-SQL 对 (例如,来自
vn.train(question=..., sql=...)
)
发送到 LLM 的数据
每次调用期间,存储数据的一个子集会发送到 LLM,用于生成 SQL 查询或相关功能。这些数据通过 HTTPS 安全发送。
除非您在内置的 Flask 应用中明确设置参数 allow_llm_to_see_data = True
,否则数据库内容不会发送到 Vanna 的服务器或 LLM,或明确使用需要 LLM“查看”数据才能生成答案的函数,例如 vn.generate_summary
。此参数默认为 False
。
对于需要 LLM“查看”数据的功能,数据只会发送到 LLM,而不会存储在 Vanna 的服务器上。
数据库凭据
数据库凭据仅在 Python 包的环境中使用,不会发送到 Vanna 的服务器。它们用于连接您的数据库并在 Python 包运行的本地环境中运行 SQL 查询。
第三方服务
Vanna AI 使用以下第三方服务进行托管、存储和其他功能。选择这些服务是因为它们的安全性和可靠性。
- Microsoft Azure
- Google Cloud Platform
- Amazon Web Services
员工访问
作为日常业务,Vanna AI 员工和承包商无法直接访问训练数据。对训练数据的访问权限仅限于少数因系统维护目的而需要访问的员工。所有能够访问训练数据的员工都需要签署保密协议。
如果您需要 Vanna AI 员工访问您的训练数据以提供支持,您必须从与您账户关联的电子邮件地址发送电子邮件至 support@vanna.ai,以授权支持人员查看您的训练数据并提供支持。