阿里云百炼国产大模型中转网关私有化部署教程
为什么你需要私有化中转网关
阿里云百炼国产大模型中转网关(以下简称中转网关)是一个统一代理层,能帮你把多个国产大模型(如通义千问、智谱、豆包等)的API请求集中管理。
私有化部署意味着网关运行在你自己的服务器上,请求不经过第三方中转,数据安全可控,还能自定义速率限制、缓存、日志等规则,适合企业内部或对数据合规有要求的场景。
准备工作
部署前先确认以下条件已满足:
- 阿里云账号,且已经开通百炼服务(管理后台可拿到 API Key)。
- 一台 Linux 服务器(推荐 Ubuntu 20.04+ 或 CentOS 7.9+),建议配置不低于 2 核 4G 内存,20G 磁盘。
- 服务器已安装 Docker 和 Docker Compose(如果不会安装,请自行搜索“Docker 安装 一条命令”)。
- (可选)一个已备案的域名,用于绑定 HTTPS 访问,如果你只在内网使用可跳过。
此外,提前准备好你的百炼 API Key:登录阿里云百炼控制台,进入“API Key 管理”页面生成一个专用 Key 并保存好。
部署中转网关(基于 Docker)
中转网关官方提供了 Docker 镜像,
这里我们直接基于 registry.cn-hangzhou.aliyuncs.com/aliyun-bailian/gateway 来部署(镜像版本请以官方最新标签为准,
例如 latest)。
第一步:创建配置文件目录
在你的服务器上创建一个专用目录,例如 /opt/bailian-gateway,然后进入该目录:
mkdir -p /opt/bailian-gateway && cd /opt/bailian-gateway
第二步:编写 docker-compose.yml
使用你喜欢的文本编辑器(vim、nano 等)新建 docker-compose.yml 文件,内容如下:
version: '3.8'
services:
gateway:
image: registry.cn-hangzhou.aliyuncs.com/aliyun-bailian/gateway:latest
container_name: bailian-gateway
restart: always
ports:
- "8080:8080"
environment:
- GATEWAY_API_KEY=你的百炼API Key
- GATEWAY_LOG_LEVEL=info
volumes:
- ./logs:/var/log/gateway
networks:
- bailian-net
networks:
bailian-net:
driver: bridge
注意:GATEWAY_API_KEY替换为你在百炼后台创建的实际 Key。如果需要修改端口,更改8080:8080左侧即可。
第三步:启动容器
在 /opt/bailian-gateway 目录下执行:
docker-compose up -d
等待拉取镜像并启动,大约需要 1-3 分钟。
启动后可以用 docker logs bailian-gateway -f 查看实时日志,看到类似 Gateway started on port 8080 的字样即表示成功。
第四步(可选):配置 Nginx 反向代理与 HTTPS
如果你希望通过域名访问并开启 HTTPS,可以安装 Nginx 后添加如下配置(假设你的域名为 ai-gateway.example.com):
server {
listen 443 ssl;
server_name ai-gateway.example.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
配置完成后 nginx -t 检查语法,然后 nginx -s reload 生效。
验证网关是否正常工作
用 curl 向网关发一个简单请求,测试能否正常代理到百炼大模型。
例如让我们用通义千问的 qwen-plus 模型生成一句话:
curl -X POST http://你的服务器IP:8080/v1/chat/completions \
-H "Authorization: Bearer 你的百炼API Key" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{"role": "system", "content": "你是一个助手"},
{"role": "user", "content": "你好,请介绍一下自己"}
]
}'
如果返回类似 {"id":"...","object":"chat.completion",...} 的 JSON,就说明网关已正常代理请求。
如果返回 401 或 403,请检查 API Key 是否正确;
如果返回 502,检查网关容器是否运行以及网络是否连通。
常见问题与避坑
Q:启动容器后一直显示“Can't connect to backend”
A:检查你的服务器是否能访问公共互联网。百炼网关需要连接阿里云百炼的API端点(默认 api.bailian.aliyuncs.com),请确保网络策略(如安全组、防火墙)允许出站到阿里云服务。
Q:网关端口被占用怎么办?
A:修改 docker-compose.yml 中 ports 的左侧端口,比如改成 9090:8080,然后重启容器。
Q:我想限制某个模型的调用频率
A:网关支持在环境变量中添加 GATEWAY_RATE_LIMIT 参数,例如 GATEWAY_RATE_LIMIT=10/minute 表示每分钟最多10次请求。详细参数请参考百炼官方文档。
Q:如何查看网关日志?
A:容器日志用 docker logs bailian-gateway;如果挂载了 ./logs 目录,日志也会写入宿主机 /opt/bailian-gateway/logs/ 下。
Q:能不能只让内网访问?
A:可以,把容器的端口映射只监听 127.0.0.1,或者配置防火墙规则限制来源 IP,例如仅允许内网网段。
总结
通过以上步骤,你已经在自己的服务器上部署了阿里云百炼国产大模型中转网关。
之后只需将应用程序的请求地址指向这台网关,即可统一管理多个国产大模型的调用。
如果你在使用过程中遇到其他问题,建议优先回看本教程的 FAQ 部分,或查阅百炼官方文档。
现在就开始动手实践吧!