
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
GitLab AI Gateway 自托管版是 GitLab 官方提供的容器化部署方案,用于在私有基础设施中部署 AI 请求管理网关。该网关作为 GitLab 实例与各类 AI 模型服务(如 OpenAI、Anthropic、Google Vertex AI 等)之间的中间层,提供请求路由、认证授权、流量控制、日志监控等核心能力,支持企业级 GitLab 环境的 AI 功能私有化部署与管控。
从 GitLab Container Registry 拉取官方镜像:
bashdocker pull registry.gitlab.com/gitlab-org/ai-gateway:latest
4.3.1 最小化部署命令
bashdocker run -d \ --name gitlab-ai-gateway \ -p 8080:8080 \ -e GITLAB_URL="https://gitlab.example.com" \ -e GITLAB_API_TOKEN="glpat-xxxxxx" \ -e LOG_LEVEL="info" \ registry.gitlab.com/gitlab-org/ai-gateway:latest
4.3.2 带配置文件的部署(推荐)
bashdocker run -d \ --name gitlab-ai-gateway \ -p 8080:8080 \ -e GITLAB_URL="https://gitlab.example.com" \ -e GITLAB_API_TOKEN="glpat-xxxxxx" \ -v /path/to/local/config.yaml:/etc/ai-gateway/config.yaml \ registry.gitlab.com/gitlab-org/ai-gateway:latest
创建 docker-compose.yml:
yamlversion: '3.8' services: ai-gateway: image: registry.gitlab.com/gitlab-org/ai-gateway:latest container_name: gitlab-ai-gateway restart: unless-stopped ports: - "8080:8080" environment: - GITLAB_URL=https://gitlab.example.com - GITLAB_API_TOKEN=glpat-xxxxxx - LOG_LEVEL=info - PORT=8080 - METRICS_ENABLED=true - METRICS_PORT=9090 volumes: - ./config.yaml:/etc/ai-gateway/config.yaml # 挂载自定义配置文件 - ./logs:/var/log/ai-gateway # 挂载日志目录 networks: - gitlab-network networks: gitlab-network: external: true # 假设已存在与 GitLab 实例互通的网络
| 环境变量名 | 必选 | 描述 | 示例值 |
|---|---|---|---|
GITLAB_URL | 是 | GitLab 实例基础 URL(自托管或 SaaS) | https://gitlab.example.com |
GITLAB_API_TOKEN | 是 | GitLab 个人访问令牌(需具备 api 和 read_user 权限) | glpat-abc123def456 |
PORT | 否 | 服务监听端口(默认:8080) | 8080 |
LOG_LEVEL | 否 | 日志级别(debug/info/warn/error,默认:info) | info |
LOG_FORMAT | 否 | 日志格式(json/text,默认:text) | json |
METRICS_ENABLED | 否 | 是否启用 metrics 接口(默认:true) | true |
METRICS_PORT | 否 | metrics 接口端口(默认:9090) | 9090 |
CONFIG_FILE_PATH | 否 | 自定义配置文件路径(容器内路径,默认:/etc/ai-gateway/config.yaml) | /etc/ai-gateway/custom.yaml |
4.6.1 配置文件结构(config.yaml)
通过挂载配置文件可实现复杂路由规则和模型配置,示例:
yaml# 模型服务配置 models: - name: "openai-gpt4" type: "openai" base_url: "https://api.openai.com/v1" api_key: "sk-xxxxxx" # 或通过环境变量 OPENAI_API_KEY 注入 timeout: 30s rate_limit: requests_per_minute: 1000 # 全局限流 - name: "anthropic-claude" type: "anthropic" base_url: "https://api.anthropic.com/v1" api_key: "sk-ant-xxxxxx" timeout: 60s # 路由规则(与 GitLab 项目/用户关联) routes: - match: gitlab_project_id: "123" # 仅允许项目 ID 123 访问 model_name: "openai-gpt4" destination: "openai-gpt4" rate_limit: requests_per_minute: 200 # 项目级限流 - match: gitlab_group_id: "456" # 允许组 ID 456 下所有项目访问 model_name: "anthropic-claude" destination: "anthropic-claude" # GitLab 集成配置 gitlab: timeout: 10s verify_tls: true # 禁用自签名证书时设为 false
4.6.2 配置文件挂载
在 docker run 或 docker-compose 中通过 -v 挂载本地配置文件:
bash-v /local/path/to/config.yaml:/etc/ai-gateway/config.yaml
启动服务:
bashdocker start gitlab-ai-gateway
验证运行状态:
bashdocker logs -f gitlab-ai-gateway # 查看启动日志,确认无报错 curl http://localhost:8080/health # 健康检查接口,返回 {"status":"ok"}
验证 GitLab 集成:
通过 GitLab 实例的 AI 功能(如代码建议)发起请求,在网关日志中查看请求记录。
升级镜像:
bashdocker pull registry.gitlab.com/gitlab-org/ai-gateway:latest docker stop gitlab-ai-gateway && docker rm gitlab-ai-gateway # 重新执行 docker run 或 docker-compose up -d
数据备份:
定期备份配置文件(config.yaml)和日志目录(/var/log/ai-gateway)。
Q:如何排查请求失败?
A:查看容器日志(docker logs),开启 LOG_LEVEL=debug 获取详细请求信息,检查网络连通性和 API 密钥有效性。
Q:能否对接私有部署的 AI 模型(如本地 Llama)?
A:支持,在 models 配置中设置 type: "generic" 并指定 base_url 为私有模型服务地址。
Q:如何限制单个用户的 AI 请求配额?
A:在 routes 配置中通过 gitlab_user_id 匹配用户,并设置 rate_limit 即可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务