MiniMax
MiniMax 通过其平台 API 提供托管生成式模型。应用通过稳定的 AISIX 别名调用 MiniMax,同时网关确保上游凭证不会出现在客户端代码中。
前提 条件
开始前,请准备以下内容:
- 一套 AISIX 环境:
- 对于 AISIX Cloud,需要一个已关联网关的环境和具有写入作用域的 Admin Token。对于 On-Premises,请按照 AISIX Cloud 快速入门操作。如需申请 Hybrid Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,请准备本地 AISIX 安装,或使用开源 AISIX 网关快速入门中的 Docker 环境。配置网关以加载声明式资源文件。
- 从 MiniMax 平台获取的 MiniMax API Key。
curl和jq。
设置正确的基础 URL
MiniMax 为相同的模型提供两个上游接口:
| 接口 | 根地址 | 请求格式 |
|---|---|---|
| OpenAI SDK | https://api.minimax.io/v1 | OpenAI chat completions |
| Anthropic SDK | https://api.minimax.io/anthropic | Anthropic Messages |
minimax 的社区目录条目发布的地址是 https://api.minimax.io/anthropic/v1,这是兼容 Anthropic 的接口,并明确包含原本由 Anthropic SDK 追加的版本路径;但目录默认分配的是 openai 适配器。两者并不匹配。如果省略 api_base,AISIX 会接受模型服务提供方密钥并填入该目录值,随后向期望 Anthropic Messages 格式的端点发送 OpenAI chat-completions 格式的请求,导致通过该别名的所有调用在上游失败。
在 minimax 模型服务提供方密钥上始终将 api_base 设置为 https://api.minimax.io/v1。网关会将 /chat/completions 等端点路径追加到所配置的根地址,因此该根地址必须是 MiniMax 兼容 OpenAI 的 /chat/completions 所在的根地址。
如需改用兼容 Anthropic 的接口,请参阅使用兼容 Anthropic 的接口。
使用 AISIX Cloud 配置
导出 AISIX Cloud 连接信息:
# AISIX_CP 是 Admin API 的基础 URL;应包含 /api,且末尾不要带斜杠
# 本地 On-Premises 快速入门使用 http://localhost:8080/api
export AISIX_CP="YOUR_AISIX_CLOUD_ADMIN_API_URL"
export AISIX_TOKEN="YOUR_ADMIN_TOKEN"
export ENV_ID="YOUR_ENVIRONMENT_ID"
为 MiniMax 支持的 chat-completions 路由创建模型服务提供方密钥、模型别名和调用方 API Key。
MiniMax 是一个社区目录模型服务提供方。AISIX 通过 openai 适配器连接,并使用 Bearer Token 对上游请求进行认证。由于目录发布的基础 URL 不是适配器所需的根地址,你还必须显式设置 api_base。请参阅设置正确的基础 URL。
创建模型服务提供方密钥
创建用于存储 MiniMax 凭证和 API 根地址的模型服务提供方密钥:
# 请替换为实际值
export MINIMAX_API_KEY="YOUR_PROVIDER_API_KEY"
PROVIDER_KEY_ID=$(curl -sS -X POST "$AISIX_CP/provider_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "minimax-prod",
"provider": "minimax",
"api_key": "'"${MINIMAX_API_KEY}"'",
"api_base": "https://api.minimax.io/v1",
"allowed_environments": ["'"${ENV_ID}"'"]
}' | jq -r '.provider_key.id')
echo "$PROVIDER_KEY_ID"
❶ provider 为 minimax。由于 minimax 是 models.dev 目录条目,AISIX Cloud Admin API 会接受该值,并从目录推导出适配器;adapter 字段仅接受用于 BYO 模型服务提供方密钥。
❷ api_key 存储 MiniMax API Key。MiniMax 使用 HTTP Bearer 认证其兼容 OpenAI 的接口,这也正是 openai 适配器发送的认证方式。该值遵循模型服务提供方密钥中的凭证处理行为。
❸ api_base 为 https://api.minimax.io/v1,即 MiniMax 为 OpenAI 客户端库记录的 base_url。这是本页最重要的字段。省略它不会导致创建调用失败,因为目录发布了默认值;但会导致后续每个聊天请求失败,因为该默认值指向兼容 Anthropic 的根地址。
该命令将返回的模型服务提供方密钥 ID 保存到 PROVIDER_KEY_ID。
创建模型
MiniMax 模型 ID 区分大小写,且不包含供应商前缀。其模式为 MiniMax-<generation>:供应商名称两部分的首字母 M 均为大写,后接包含小数的代次编号;某一代次的低延迟变体还可能带有 -highspeed 后缀。请勿转换为小写,也不要添加来自聚合服务的 minimax/ 前缀。
当前模型 ID 包括:
| 模型 ID | 说明 |
|---|---|
MiniMax-M3 | 最新代次。在兼容 OpenAI 的 chat-completions 路由上接受文本、图像和视频输入。 |
MiniMax-M2.7 | 上一代旗舰模型,仅接受文本输入。 |
MiniMax-M2.7-highspeed | 同一代次的低延迟变体。 |
MiniMax-M2.5、MiniMax-M2.5-highspeed、MiniMax-M2.1 和 MiniMax-M2 ID 作为早期代次仍保留在目录中。创建别名前,请查看 MiniMax 模型文档了解当前列表。
创建调用方将在请求中发送的模型别名:
MODEL_ID=$(curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/models" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "minimax-m3-prod",
"model_name": "MiniMax-M3",
"provider_key_id": "'"${PROVIDER_KEY_ID}"'"
}' | jq -r '.model.id')
echo "$MODEL_ID"
❶ display_name 是调用方在 model 中发送的别名。
❷ model_name 是 MiniMax 发布的确切模型 ID,例如 MiniMax-M3。
❸ provider_key_id 将别名关联到 MiniMax 模型服务提供方密钥。
如需为预算核算或用量报告配置成本元数据 ,请参阅模型别名。
创建调用方 API Key
创建可访问该模型别名的调用方 API Key。明文密钥由服务器生成,并仅在创建响应中返回一次,因此请立即保存:
AISIX_API_KEY=$(curl -sS -X POST "$AISIX_CP/environments/$ENV_ID/api_keys" \
-H "Authorization: Bearer $AISIX_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"display_name": "minimax-caller",
"allowed_models": ["'"${MODEL_ID}"'"]
}' | jq -r '.plaintext')
echo "$AISIX_API_KEY"
allowed_models 的值必须引用上一步保存的模型 ID。写入后,配置会自动投射到已关联的网关。
使用开源 AISIX 网关配置
导出上游凭证,并选择应用将发送到网关的调用方 API Key:
export MINIMAX_API_KEY="YOUR_PROVIDER_API_KEY"
export CALLER_API_KEY="YOUR_CALLER_API_KEY"
为此模型服务提供方创建完整的声明式资源文件:
_format_version: "1"
provider_keys:
- display_name: "minimax-prod"
provider: "minimax"
adapter: "openai"
api_key: ${MINIMAX_API_KEY}
api_base: "https://api.minimax.io/v1"
models:
- display_name: "minimax-m3-prod"
provider: "minimax"
model_name: "MiniMax-M3"
provider_key: "minimax-prod"
api_keys:
- display_name: "minimax-caller"
key_env: CALLER_API_KEY
allowed_models:
- "minimax-m3-prod"
如果 AISIX 安装在本地,请在加载前验证该文件:
aisix validate --resources resources.yaml
验证后,在网关进程环境中设置所引用的环境变量并启动网关。仅当这些变量已在进程中可用时,才重新加载现有网关;否则,请使用更新后的环境重启网关。
如果使用 Docker,请调整开源 AISIX 网关快速入门中的验证和启动命令。挂载此 resources.yaml 文件,并在两个命令中使用 -e 传入它引用的每个环境变量。资源加载后,为下方的通用验证请求做好准备:
export AISIX_API_KEY="$CALLER_API_KEY"