内置环境变量与 LLM
平台部署你的应用时会自动注入一组 NAE_ 前缀的环境变量,应用直接读取即可,无需自己配置。
本页列出这些内置变量,并说明怎么用平台内置的 LLM 网关。
内置环境变量
| 变量 | 含义 | 注入时机 |
|---|---|---|
NAE_APP_ID |
当前应用的 AppID(即访问地址里的 <appid>)。前端自适应 basePath、日志打标都用得上。 |
所有应用,恒注入 |
NAE_LLM_GATEWAY |
内置 LLM 网关地址(集群内 DNS,不带 /v1 后缀)。 |
所有应用,恒注入 |
NAE_LLM_API_KEY |
调用 LLM 网关的鉴权令牌。仅当你被授予 LLM 额度时才注入;未授额时此变量缺失。 | 已授 LLM 额度的用户名下应用 |
这些变量在容器启动时注入。调整额度 / 轮换令牌后,应用需
nae restart才能拿到最新值。
内置 LLM 网关
平台提供统一 LLM 网关:你的应用经 NAE_LLM_GATEWAY + NAE_LLM_API_KEY 调用,平台按 token 计量、按月限额,无需自带上游 API key。OpenAI 与 Anthropic 两种协议都兼容。
约定
- OpenAI 兼容协议:base URL =
${NAE_LLM_GATEWAY}/v1,鉴权头Authorization: Bearer ${NAE_LLM_API_KEY},端点如/v1/chat/completions、/v1/models。 - Anthropic 协议:官方 SDK 的 base URL =
${NAE_LLM_GATEWAY}(SDK 自拼/v1/messages),鉴权头x-api-key: ${NAE_LLM_API_KEY}加anthropic-version: 2023-06-01。 - 网关只转发不改写请求体。
model用管理员为该协议登记的模型名(见下表),网关按登记名精确匹配上游。 - 流式(SSE)原样透传;OpenAI 流式会自动带上用量统计。
模型名怎么填
model 字段填的是管理员在网关里登记的模型名——网关按「请求命中的协议端点 + model 名」精确匹配上游 provider,填的名必须与登记名完全一致(不做任何 claude-* → 其它名的自动改写;登记名以外的 model 一律返回 400「模型不可用」)。
以平台默认上游 DeepSeek 为例(同时登记了 OpenAI 与 Anthropic 两种格式,两种格式下模型同名):
| 协议 | 端点 | 可用 model 名 |
|---|---|---|
| OpenAI 兼容 | POST ${NAE_LLM_GATEWAY}/v1/chat/completions |
deepseek-v4-flash、deepseek-v4-pro |
| Anthropic | POST ${NAE_LLM_GATEWAY}/v1/messages |
deepseek-v4-flash、deepseek-v4-pro |
同一个模型名(如
deepseek-v4-flash)两种协议都能调——走哪个端点就按哪种协议路由:发到/v1/chat/completions即按 OpenAI 格式处理,发到/v1/messages即按 Anthropic 格式处理。具体哪些 model 名可用以管理员实际登记为准。两种查法:① 网页端「内部 LLM 网关」页(左侧导航)选定模型后会列出它支持的每种协议示例;② 调
GET ${NAE_LLM_GATEWAY}/v1/models(带 NAE key)拿登记的模型名清单。DeepSeek Anthropic 格式当前不支持图片 / 文档 / PDF 类输入,文本与工具调用(tool_use)正常。
调用示例
# OpenAI 兼容
curl "$NAE_LLM_GATEWAY/v1/chat/completions" \
-H "Authorization: Bearer $NAE_LLM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"你好"}]}'
# Anthropic(同一模型名,换端点 + 换鉴权头即按 Anthropic 格式路由)
curl "$NAE_LLM_GATEWAY/v1/messages" \
-H "x-api-key: $NAE_LLM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-v4-flash","max_tokens":1024,"messages":[{"role":"user","content":"你好"}]}'
Python / Node.js / .NET 等语言的 SDK 示例见网页端「内部 LLM 网关」页(左侧导航):选定模型后会按它支持的协议列出对应示例(同名双协议模型会同时给出 OpenAI 与 Anthropic 两套),可直接复制。
配额与计量
- 额度按自然月统计 token 总量,下月初自动重置。
- 未授额(额度 0)时,即便应用读到
NAE_LLM_API_KEY,网关也会拒绝(403)。请联系管理员授额。 - 超过月度上限后网关返回 429。
nae llm
查询当前用户的 LLM 网关状态:额度、本月已用、令牌前缀、内置环境变量名、按模型用量明细——一条命令把「状态 / 配额 / 环境变量」都看全。
nae llm
{
"quota": 1000000,
"used": 24531,
"key_prefix": "nael_xxxxxxxx",
"has_key": true,
"gateway_hint": "应用内读环境变量 NAE_LLM_GATEWAY 与 NAE_LLM_API_KEY",
"stats": [
{
"model": "deepseek-v4-flash",
"requests": 12,
"prompt_tokens": 18000,
"completion_tokens": 6531,
"total_tokens": 24531
}
]
}
quota:月度上限 token 数。-1=无限,0=未授额,N=具体上限。used:本自然月已用 total tokens。key_prefix/has_key:令牌前缀与是否已签发(明文不经此接口回传)。gateway_hint:提示去哪读内置环境变量。- 令牌轮换仅网页端「内部 LLM 网关」页提供(命令行不代办密钥操作,见安全)。