AISIX Cloud 快速入门
在本快速入门中,你将在一台机器上使用 Docker Compose、随附的 PostgreSQL 数据库和本地端点评估 AISIX Cloud。你将启动控制面和控制台、连接 AISIX 网关、配置 OpenAI 模型,并通过网关发送请求。
本地设置将控制面服务、控制台和 PostgreSQL 作为一个管理栈运行。AISIX 网关独立运行,使配置路径和实时流量路径相互分离:
本快速入门通过 AISIX Cloud Admin API 配置资源,使工作流可复现,并为后续指南准备环境。AISIX Cloud 会把这些资源发送到网关。之 后,客户端请求会通过网关到达 OpenAI,而不经过控制面;控制台则提供网关状态、日志和用量信息。
AISIX Cloud 控制面和控制台是商业软件。开发、测试和评估可以免费使用部分功能,但生产使用需要商业许可证。如需在生产环境运行控制面,请联系 API7或发送邮件至 support@api7.ai。
准备工作
- 安装带有 Docker Compose V2 的 Docker。
- 安装 cURL、jq、
tar和 OpenSSL。 - 确保安装主机可以访问
run.api7.ai、Docker Hub 和 OpenAI。 - 确保安装主机上的
5432、8080、7944和3000端口可用。 - 使用可以访问安装主机
8080端口的浏览器。 - 准备用于本快速入门所配置模型的 OpenAI API Key。
启动控制面
在安装了 Docker 且可以访问互联网的主机上运行:
curl -fsSL "https://run.api7.ai/aisix-self-hosted/quickstart" | bash
安装程序会将当前 On-Premises 软件包下载到 ./aisix-self-hosted,生成包含全新 Secret 的 .env 文件,拉取容器镜像并启动管理栈。默认控制台 URL 为 http://localhost:8080。
对于本单主机快速入门,请打开 ./aisix-self-hosted/.env,并将数据面管理器 URL 设置为:
AISIX_CLOUD_DPMGR_BASE_URL=https://host.docker.internal:7944
重新创建 api 和 dpm Docker Compose 服务,使控制台使用更新后的端点,并让 dp-manager 为该端点签发 TLS 证书:
cd aisix-self-hosted
docker compose up -d api dpm
检查控制面健康检查端点:
curl -fsS "http://127.0.0.1:8080/healthz"
该命令应返回 {"status":"ok"}。其余 shell 命令继续在 aisix-self-hosted 目录中 的此终端运行。
创建 Admin Token
AISIX Cloud Admin API 使用组织级 Admin Token 进行身份认证。请在控制台中创建 Token:
- 在浏览器中打开
http://localhost:8080,然后选择 Create an account。 - 注册第一个用户、接受用户协议,并创建第一个组织。
- 在组织导航中打开 Admin tokens,然后选择 New token。
- 输入名称
quickstart-admin、选择到期时间,并启用 write Scope。 - 创建 Token,并在离开页面前复制明文值。该值只显示一次。
在终端中导出控制面 API URL 和 Token:
export AISIX_CP="http://localhost:8080/api"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
有关 Token Scope、到期和轮换的详细信息,请参阅 Admin Token。
创建网关资源
通过 Admin API 创建环境、模型服务提供方密钥、模型和调用方 API Key。控制台也可以使用对应字段创建相同资源,但本快速入门使用 API 请求提供一套可复制的工作流,并保留后续指南会用到的 ID。
创建 prod 环境:
ENV_RESPONSE=$(curl -fsS -X POST "$AISIX_CP/environments" \
-H "Authorization: Bearer ${AISIX_TOKEN}" \
-H "Content-Type: application/json" \
-d '{"display_name": "prod"}')
export ENV_ID=$(echo "$ENV_RESPONSE" | jq -er '.environment.id')
echo "$ENV_RESPONSE" | jq
创建一个保存 OpenAI 凭证且允许在该环境中使用的模型服务提供方密钥:
export OPENAI_API_KEY="YOUR_OPENAI_API_KEY"
PROVIDER_KEY_RESPONSE=$(curl -fsS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer ${AISIX_TOKEN}" \
-H "Content-Type: application/json" \
-d '{
"provider": "openai",
"display_name": "OpenAI",
"api_key": "'"${OPENAI_API_KEY}"'",
"api_base": "https://api.openai.com/v1",
"allowed_environments": ["'"${ENV_ID}"'"]
}')
export PROVIDER_KEY_ID=$(echo "$PROVIDER_KEY_RESPONSE" | jq -er '.provider_key.id')
echo "$PROVIDER_KEY_RESPONSE" | jq