Fireworks AI
Fireworks AI 为生成式 AI 模型目录提供托管推理服务。应用通过稳定的 AISIX 别名调用所选模型,网关则保管 Fireworks 凭证。
准备工作
开始前,请准备以下内容:
- 一套 AISIX 环境:
- 对于 AISIX Cloud,需要一个已关联网关的环境和具备写入权限的 Admin Token。对于 On-Premises,请按照 AISIX Cloud 快速入门操作。如需申请 Hybrid Cloud 访问权限,请联系 API7。
- 对于开源 AISIX 网关,请准备本地 AISIX 安装,或使用开源 AISIX 网关快速入门中的 Docker 环境。配置网关以加载声明式资源文件。
- 从 Fireworks 控制台获取的 Fireworks API Key。
curl和jq。
使用 AISIX Cloud 配置
导出 AISIX Cloud 连接信息:
# AISIX_CP 是 Admin API 基础 URL;应包含 /api,且不含尾部斜杠
# 本地私有化部署快速入门使用 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"
为 Fireworks 支持的 Chat Completions 和原生 Responses 创建服务提供方密钥、模型别名和调用方 API Key。
由于 Fireworks AI 提供 OpenAI 兼容 API,AISIX 会通过 openai 适配器连接,并使用 Fireworks API 根地址作为 api_base。
创建服务提供方密钥
创建用于存储 Fireworks 凭证和 API 根地址的服务提供方密钥,并允许其进入该环境:
# 请替换为实际值
export FIREWORKS_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": "fireworks-prod",
"provider": "fireworks-ai",
"api_key": "'"${FIREWORKS_API_KEY}"'",
"api_base": "https://api.fireworks.ai/inference/v1",
"apis": {
"responses": {}
},
"allowed_environments": ["'"${ENV_ID}"'"]
}' | jq -r '.provider_key.id')
echo "$PROVIDER_KEY_ID"
❶ provider 为目录服务提供方 ID fireworks-ai。连字符是该标识符的一部分;仅使用 fireworks 会被拒绝并返回 400 INVALID_REQUEST。
❷ api_key 存储 Fireworks API Key。其行为遵循服务提供方密钥中的凭证处理方式。
❸ api_base 指向 Fireworks 推理 API。/inference 路径段不可省略:Fireworks 在 https://api.fireworks.ai/inference/v1 下提供 OpenAI 兼容推理路由,而用于列出和创建 Fireworks API Key 的账户管理 REST API 位于 https://api.fireworks.ai/v1。删除 /inference 会让服务提供方密钥指向错误的 API 接口。
❹ apis.responses 声明 Fireworks 在同一推理根地址提供 Responses API。这样,AISIX 就能使用 Fireworks 的原生请求和响应格式,而不必通过 Chat Completions 转换。
AISIX 会把端点路径追加到 api_base,因此请使用 API 根地址,末尾不要包含 /chat/completions。追加端点路径前会移除末尾斜杠,因此 https://api.fireworks.ai/inference/v1/ 和 https://api.fireworks.ai/inference/v1 的解析结果相同。
此服务提供方的 api_base 可选。省略时,AISIX Cloud Admin API 会填入 https://api.fireworks.ai/inference/v1。显式设置该值可以在资源上直观显示上游根地址。Fireworks 专用部署使用相同的推理根地址;如需更改目标,请将 model_name 指向 accounts/<ACCOUNT_ID>/deployments/<DEPLOYMENT_ID>。
此命令会将返回的服务提供方密钥 ID 保存到 PROVIDER_KEY_ID。
创建模型
Fireworks 文本模型资源名称是完全限定的账户路径,而不是简单名称。由 Fireworks 发布的 Serverless 文本模型使用 accounts/fireworks/models/<name> 格式,例如 accounts/fireworks/models/gpt-oss-120b。对于此 Chat 模型,gpt-oss-120b 这样的扁平 OpenAI 风格名称无效。
其他 Fireworks 推理 API 可能使用不同的模型 ID 形式。例如 Embedding 指南使用 fireworks/qwen3-embedding-8b。请使用相应端点和模型文档中的准确标识符,不要强制将每个 ID 写成 accounts/... 形式。
请从 Fireworks 模型概览复制完整标识符,不要手动拼接。部分目录条目会将 models 路径段替换为 routers,自行部署的模型则在第一个路径段中使用你自己的账户名称。
创建调用方将在请求中发送的模型别名:
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": "fireworks-gptoss-prod",
"model_name": "accounts/fireworks/models/gpt-oss-120b",
"provider_key_id": "'"${PROVIDER_KEY_ID}"'"
}' | jq -r '.model.id')
echo "$MODEL_ID"
❶ display_name 是调用方在 model 中发送的别名。调用方不会看到该账户路径。
❷ model_name 是 Fireworks 模型 ID,例如 accounts/fireworks/models/gpt-oss-120b。
❸ provider_key_id 将该别名关联到 Fireworks 服务提供方密钥。
创建调用方 API Key
创建可访问该模型别名的调用方 API Key。API 会生成密钥值,并且只返回一次明文:
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": "fireworks-caller",
"allowed_models": ["'"${MODEL_ID}"'"]
}' | jq -r '.plaintext')
echo "$AISIX_API_KEY"
allowed_models 值通过模型 ID 引用模型。明文密钥只在此响应中返回,请安全保存。
新资源会自动投射到已关联的网关。