在 极狐GitLab 私有化部署 实例上配置 GitLab Duo
Offering: 私有化部署
为了确保 GitLab Duo 配置正确并且可以连接到 极狐GitLab:
- 必须确保出站和入站连接均可用。网络防火墙可能导致卡顿或延迟。
- 不得开启 静默模式。
- 必须使用激活码激活你的实例。不能使用离线许可证或旧版许可证。
- 建议使用 极狐GitLab 17.2 及更高版本以获得最佳体验。早期版本可能仍能工作,但体验可能会降低。
默认情况下,处于试验或测试阶段的 GitLab Duo 功能是关闭的,并且必须手动开启。
允许 极狐GitLab 实例发起出站连接
检查你的出站和入站设置:
- 你的防火墙和 HTTP/S 代理服务器必须允许使用 https:// 在端口 443 出站连接到 cloud.jihulab.com 和 customers.jihulab.com。
- 若使用 HTTP/S 代理,gitLab_workhorse 和 gitLab_rails 都必须设置必要的网页代理环境变量。
- 在多节点 极狐GitLab 安装中,请在所有 Rails 和 Sidekiq 节点上配置 HTTP/S 代理。
- 极狐GitLab 应用节点必须能够连接到 GitLab Duo 工作流服务。
允许客户端到 极狐GitLab 实例的入站连接
- 极狐GitLab 实例必须允许来自 极狐GitLab Web 前端 的入站连接,端口 443,协议 https:// 和 wss://。
- 同时必须允许 HTTP2 和 'upgrade' 头,因为 GitLab Duo 同时使用 REST 和 WebSocket。
- 检查针对到 wss://jihulab.example.com/-/cable 以及其他 .com 域的 WebSocket(wss://)流量限制。对 wss:// 流量的网络策略限制可能会导致某些 GitLab Duo Chat 服务出现问题,建议更新策略以允许这些服务。
- 如果你使用诸如 Apache 的反向代理,可能会在日志中看到 GitLab Duo Chat 连接问题,例如 WebSocket 连接到 .... 失败。
为解决该问题,尝试编辑你的 Apache 代理设置:
apache# 启用 WebSocket 反向代理 # 需要启用 proxy_wstunnel RewriteCond %{HTTP:Upgrade} websocket [NC] RewriteCond %{HTTP:Connection} upgrade [NC] RewriteRule ^/?(.*) "ws://127.0.0.1:8181/$1" [P,L]
运行 GitLab Duo 健康检查
状态:测试版
版本历史
- 在 极狐GitLab 17.3 中引入。
- 在 极狐GitLab 17.5 中新增下载健康检查报告。
你可以判断你的实例是否满足使用 GitLab Duo 的要求。健康检查完成后会显示通过或失败的结果以及问题类型。如果健康检查中的任何测试失败,用户可能无法在你的实例中使用 GitLab Duo 功能。
这是一个测试版功能。
前提条件:
- 必须是管理员。
运行健康检查:
- 在左侧边栏底部,选择 管理员。
- 选择 GitLab Duo。
- 在右上角,选择 运行健康检查。
- 可选。在 极狐GitLab 17.5 及更高版本中,健康检查完成后,你可以选择 下载报告 以保存健康检查结果的详细报告。
会执行以下测试:
对于版本早于 17.10 的 极狐GitLab 实例,如果你在运行健康检查时遇到任何问题,请参阅故障排查页面。
其它托管选项
默认情况下,GitLab Duo 使用受支持的 国内 SOTA 模型,并通过由 极狐GitLab 托管的云端 AI Gateway传输数据。
如果你希望托管自己的语言模型或 AI Gateway:
- 你可以使用 自部署模型的 GitLab Duo 来托管 AI Gateway并使用任意受支持的自部署模型。该选项可让你完全控制数据和安全性。
- 使用混合配置,即为部分功能托管你自己的 AI Gateway和模型,而将其它功能配置为使用 极狐GitLab AI Gateway和 国内 SOTA 模型。
隐藏显示 GitLab Duo Core 可用性的侧边栏组件
在左侧边栏靠近底部,有一个组件显示 GitLab Duo Core 的可用性。要隐藏该组件,禁用 duo_agent_platform_widget_self_managed 功能标志。
