第4章 Tabnine 隐私保护机制详解
完整文档索引请见 llms.txt。本页面也提供 Markdown 版本。
隐私
Tabnine AI 代码助手:隐私保护
代码隐私
使用 Tabnine 模型时,你的代码始终保持私密。Tabnine 绝不会保留你的代码,也不会与任何第三方共享。
Tabnine 奉行"不训练、不保留"(no-train-no-retain)政策,无论使用哪个模型,该政策一律适用。
向 Tabnine AI 模型请求编码辅助
在编码过程中,Tabnine 客户端(插件)会向 Tabnine 集群请求 AI 辅助。
代码补全建议是在编码过程中于后台完成的;而聊天功能则是在用户提问时才发起请求。
这些请求会携带本地项目中的部分代码作为上下文(即下文所说的"上下文窗口"),以便 Tabnine 返回最相关、最准确的答案。上下文窗口可能包含本地环境中的以下元素:
- 聊天历史(仅限聊天功能) - 代码行 - 变量 - 类型声明 - 函数 - 对象 - 当前文件的相关 import - 相关文件 - 语法和语义错误报告
服务器向客户端返回答案后,这些上下文会立即删除。
除了模型推理所需的短暂时间外,Tabnine 不会保留任何用户代码,我们称之为"临时处理"(ephemeral processing)。
上下文窗口的唯一目的就是尽可能提供准确的答案。一旦输出生成,代码即被丢弃,绝不会被存储。
即使是 Tabnine Enterprise 的私有化部署方案(本地部署和 VPC 部署)也是如此。
使用 Tabnine 模型时,你的代码不会与第三方共享
我们的 AI 模型基于自身的开创性经验,以及市面上最优秀的宽松许可开源技术构建而成。
不使用任何第三方 API。
Tabnine 不会用你的代码训练模型
Tabnine 的代码补全模型和 Tabnine Protected 聊天模型仅使用宽松许可的开源代码进行训练。
私有微调 AI 模型由 Tabnine 在你的私有代码上预训练,仅限你的团队成员访问,并存储在你的私有环境中。
了解更多关于 Tabnine AI 模型的信息。
关于 Magic Moments 功能的说明
Tabnine Hub(在 IDE 中)Magic Moments 标签页下的代码补全示例保存在用户本机上,绝不会离开你的电脑。
个性化
Tabnine 的个性化能力——包括通过本地代码感知提供上下文,以及连接软件仓库实现全局代码感知——需要为你的代码创建 RAG 索引。为聊天 RAG 索引计算向量嵌入非常消耗资源,在本地进行会给用户机器带来很大负担。因此 Tabnine 在服务器 GPU 上执行这一计算,同时遵守以下原则:
- 你的代码保持私密,Tabnine 绝不存储你的代码。 - Tabnine 不会与第三方共享你的任何代码。 - Tabnine 不会用你的代码训练模型。
了解更多
自托管 / 物理隔离部署中的数据平面
Tabnine 集群会收集运行指标和日志,以确保系统健康和服务质量。
在物理隔离(air-gapped)部署中,指标可以发送到 Prometheus 服务器,日志可以发送到你自己的日志聚合器。在自托管部署中,Tabnine 集群会将运行指标和日志发送到 Tabnine 的服务器,以便在需要时提供更好的支持。任何代码或个人身份信息(PII)都不会发送到 Tabnine 的服务器。
Tabnine 集群
Tabnine 集群每 1 秒向 Tabnine 的服务器发送一次运行指标和日志,这些数据保留一周,包括:
- GPU 和 CPU 使用率 - GPU 和 CPU 内存 - 服务器吞吐量 - 服务器延迟
Tabnine 客户端
Tabnine 客户端会在各类用户交互时向 Tabnine 的自托管服务器(随后流转到 Tabnine 的服务器)发送遥测数据,包括:
- 插件和二进制文件配置 - 用户机器信息,包括 CPU 类型、可用处理器数量和内存 - 单向哈希的匿名化数据,包括用户邮箱、主机名和 IP - IDE 信息,包括类型和版本 - 统计数据:按编程语言汇总的建议/补全次数
最后更新于 1 年前
这篇文章有帮助吗?