Vanna.AI 数据安全常见问题解答
Vanna AI 架构
Vanna AI 核心 Python 包
Vanna AI Core Python 包是一个 Python 包,提供了一套工具,用于连接到各种数据库、使用 AI 生成 SQL 查询、运行 SQL 查询、生成可视化以及相关功能。该包设计为可扩展的,允许用户根据需要添加或修改功能。
为了正常运行,Python 包需要两个主要组件 - 一个大型语言模型(LLM)和一个检索增强层。LLM 负责从自然语言问题生成 SQL 查询,而检索增强层负责为 LLM 提供上下文。检索增强层是在 DDL 语句、文档字符串、SQL 语句和问题-SQL 对的组合上进行训练的。
您可以选择使用Vanna AI核心Python包与您自己的LLM和检索增强一起使用,或者您可以选择使用Vanna AI托管服务,该服务提供对LLM和检索增强层的访问。
代码完整性
Python核心包是一个开源项目,代码可以在GitHub上找到。贡献给项目的代码在被合并到主代码库之前,会由Vanna AI团队进行审查。代码还会经过自动化测试和linting,以确保其符合项目的标准。
Vanna AI 托管服务
如果您使用Vanna的托管服务,训练数据将存储在Vanna的服务器上。其中一些数据会被发送到LLM,用于生成SQL查询或相关功能。
存储的数据
-
DDL statements that were used to train the system (e.g. from
vn.train(ddl=...)) -
Documentation strings that were used to train the system (e.g. from
vn.train(documentation=...)) -
SQL statements that were used to train the system (e.g. from
vn.train(sql=...)) -
Question-SQL pairs that were used to train the system (e.g. from
vn.train(question=..., sql=...))
发送给LLM的数据
在每次调用期间,存储的数据子集会被发送到LLM,用于生成SQL查询或相关功能。这些数据通过HTTPS安全发送。
数据库内容不会发送到Vanna的服务器或LLM,除非你特别设置了参数
allow_llm_to_see_data = True
在内置的Flask应用程序中,或者使用像
vn.generate_summary
这样的函数,这些函数明确要求LLM“查看”数据以生成答案。默认情况下,此参数设置为
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,以授权支持员工查看您的训练数据,以便提供支持。