AI 网关
AI 网关是一项独立服务,用于访问具有原生 AI 功能的 GitLab Duo。
GitLab 运营着一个基于云端的 AI 网关实例。该实例被以下用户使用:
- GitLab.com。
- GitLab 自管版。更多信息,请参阅如何在 GitLab 自管版实例上配置 GitLab Duo。
- GitLab 专属版。
此外,还有一个自托管的 AI 网关实例。您可以通过 GitLab Duo 自托管 在 GitLab 自管版上使用此实例。
本页面描述了 AI 网关的部署位置,并解答了关于区域选择、数据路由和数据主权的问题。
区域支持
GitLab 自管版和 GitLab 专属版
对于 GitLab 自管版和 GitLab 专属版的客户,区域选择由 GitLab 内部管理。
Runway 是 GitLab 的内部开发者平台,不对外部客户开放。关于改进 GitLab 自管版实例的支持,已在 epic 1330 中提出。
GitLab.com
对于 GitLab.com 的客户,路由机制基于 GitLab 实例的位置,而不是用户所在的位置。
由于 GitLab.com 托管在 us-east1 单个区域,因此在几乎所有情况下,发往 AI 网关的请求都会被路由到 us-east4。这意味着对于每位用户,路由结果可能并非总是最近的部署。
直接连接和间接连接
默认情况下,IDE 会直接与 AI 网关通信,绕过 GitLab 单体应用。这种直接连接提高了路由效率。如需更改此设置,您可以配置直接连接和间接连接。
自动路由
GitLab 利用 Cloudflare 和 Google Cloud Platform (GCP) 负载均衡器,将 AI 网关的请求自动路由到最近的可用部署。此路由机制优先考虑低延迟和高效处理用户请求。
您无法手动控制此路由过程。系统会根据网络状况和服务器负载等因素动态选择最佳区域。
追踪请求到特定区域
目前,您无法直接将您的 AI 请求追踪到特定区域。
如果您需要帮助追踪特定请求,GitLab 支持团队可以访问并分析包含 Cloudflare 请求头和实例 UUID 的日志。这些日志提供了有关路由路径的洞察,并有助于识别处理请求的区域。
数据主权
需要承认的是,在我们多区域部署的 AI 网关中,在严格执行数据主权方面存在当前的局限性。目前,我们无法保证请求会发往或停留在特定区域内。因此,这不是一个数据驻留解决方案。
影响数据路由的因素
以下因素会影响数据的路由位置。
- 网络延迟:主要路由机制侧重于最小化延迟,这意味着如果网络状况需要,数据可能会在非最近的区域进行处理。
- 服务可用性:如果发生区域中断或服务中断,请求可能会被自动重新路由,以确保服务不中断。
- 第三方依赖:GitLab AI 基础设施依赖于第三方模型提供商(如 Google Vertex AI),这些提供商有其自己的数据处理实践。
AI 网关部署区域
有关 AI 网关部署区域的最新信息,请参阅 AI-assist runway 配置文件。
截至上次更新(2023-11-21),GitLab 在以下区域部署了 AI 网关:
- 北美 (
us-east4) - 欧洲 (
europe-west2,europe-west3,europe-west9) - 亚太地区 (
asia-northeast1,asia-northeast3)
部署区域可能会频繁变更。为获取最新信息,请务必查阅前面链接的配置文件。
AI 网关所使用的 LLM 模型的确切位置由第三方模型提供商决定。不能保证这些模型与 AI 网关部署位于相同的地理区域。这意味着,即使 AI 网关在不同的区域处理了初始请求,数据也可能会流回模型提供商运营的美国或其他地区。
数据流和 LLM 模型位置
GitLab 正在与 LLM 提供商紧密合作,以全面了解其区域数据处理实践。 由于上一节中提到的因素,在某些情况下,数据可能会被传输到离用户最近的区域之外的其他区域。
未来增强功能
GitLab 正在积极努力,以便在未来能让客户更细致地指定数据驻留要求。提议的功能将能提供对数据处理位置的更大控制权,并有助于满足特定的合规性需求。
特定区域问题
英国脱欧后的数据路由
英国退出欧盟 (EU) 并不直接影响 AI 网关的数据路由偏好或决策。数据会根据性能和可用性被路由到最优区域。数据仍可在欧盟和英国之间自由流动。