11# LiteLLM 网关说明
22
3- 这个目录用于启动一个基于 LiteLLM Proxy 的 OpenAI 兼容网关,当前默认通过 NewAPI 转发请求到上游模型服务 。
3+ 这个目录用于启动一个基于 LiteLLM Proxy 的 OpenAI 兼容网关,当前默认同时支持 NewAPI 与智谱 GLM Coding Plan 两类上游 。
44
55相关文件职责如下:
66
7- - ` litellm.local.yaml ` :本地默认配置,定义 LiteLLM 的 wildcard 路由与上游 NewAPI 连接方式 。
7+ - ` litellm.local.yaml ` :本地默认配置,定义 LiteLLM 的显式模型、GLM 专属路由与上游连接方式 。
88- ` qwen.yaml ` :历史示例配置,保留了固定模型与降级策略写法,可作为按模型显式映射时的参考。
99- ` compose.yaml ` :LiteLLM 容器模板,定义镜像、端口、挂载和默认环境变量。
1010- ` start.ps1 ` :统一入口,封装常用 ` docker compose ` 操作。
1111- ` .env.example ` :开发环境变量示例。
1212- ` .env.production.example ` :生产环境变量示例。
13- - ` .env.local ` :本地私有环境变量,保存 ` NEWAPI_API_BASE ` 、` NEWAPI_KEY ` 、` LITELLM_MASTER_KEY ` 、可选 ` DATABASE_URL ` 。
13+ - ` .env.local ` :本地私有环境变量,保存 ` NEWAPI_API_BASE ` 、` NEWAPI_KEY ` 、` Z_AI_CODING_API_BASE ` 、 ` Z_AI_API_KEY ` 、 ` LITELLM_MASTER_KEY ` 、可选 ` DATABASE_URL ` 。
1414
1515固定常量如 ` PORT=4000 ` 、` CONFIG_FILE_PATH=/app/config.yaml ` 保留在 ` compose.yaml ` 内部;环境差异值建议集中在 ` .env.local ` ,再通过 ` start.ps1 ` 追加的 ` --env-file ` 和 ` compose.yaml ` 的 ` environment ` 白名单注入到容器。
1616
@@ -23,6 +23,8 @@ LITELLM_IMAGE=docker.litellm.ai/berriai/litellm:main-latest
2323LITELLM_HOST_PORT=34000
2424NEWAPI_API_BASE=http://new-api.example.com/v1
2525NEWAPI_KEY=sk-newapi-dev-xxxx
26+ Z_AI_CODING_API_BASE=https://open.bigmodel.cn/api/coding/paas/v4
27+ Z_AI_API_KEY=sk-zai-dev-xxxx
2628LITELLM_MASTER_KEY=sk-litellm-123456
2729DATABASE_URL=postgresql://postgres:12345678@host.docker.internal:5432/litellm
2830```
@@ -33,6 +35,8 @@ DATABASE_URL=postgresql://postgres:12345678@host.docker.internal:5432/litellm
3335- ` LITELLM_HOST_PORT ` :宿主机暴露端口,默认 ` 34000 ` 。
3436- ` NEWAPI_API_BASE ` :NewAPI 的 OpenAI 兼容接口地址,建议带上 ` /v1 ` 。
3537- ` NEWAPI_KEY ` :LiteLLM 转发到 NewAPI 时使用的上游密钥。
38+ - ` Z_AI_CODING_API_BASE ` :智谱 GLM Coding Plan 的 OpenAI 兼容接口地址,默认建议使用官方专属端点。
39+ - ` Z_AI_API_KEY ` :LiteLLM 转发 ` GLM-* ` 请求到智谱 Coding Plan 时使用的上游密钥。
3640- ` LITELLM_MASTER_KEY ` :LiteLLM Proxy 对外暴露的网关密钥。
3741- ` DATABASE_URL ` :LiteLLM 的数据库连接串;如果未配置,会回退到默认的宿主机 PostgreSQL 地址。
3842- ` DASHSCOPE_API_KEY ` / ` DASHSCOPE_API_BASE ` :可选兼容项;只有切回 ` qwen.yaml ` 或其他百炼配置时才需要提供。
@@ -112,6 +116,15 @@ curl http://127.0.0.1:34000/v1/chat/completions `
112116 -d "{\"model\":\"gemini-2.5-flash\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}"
113117```
114118
119+ 如果你想通过 LiteLLM 调用 GLM Coding Plan,可直接传官方模型名,例如:
120+
121+ ``` powershell
122+ curl http://127.0.0.1:34000/v1/chat/completions `
123+ -H "Content-Type: application/json" `
124+ -H "Authorization: Bearer sk-litellm-123456" `
125+ -d "{\"model\":\"GLM-5.1\",\"messages\":[{\"role\":\"user\",\"content\":\"你好\"}]}"
126+ ```
127+
115128## 模型查询
116129
117130如果你想查看 LiteLLM 当前暴露的路由名,可调用:
@@ -121,14 +134,16 @@ curl "http://127.0.0.1:34000/models?return_wildcard_routes=true" `
121134 -H "x-litellm-api-key: sk-litellm-123456"
122135```
123136
124- 当前 ` litellm.local.yaml ` 默认显式注册了 ` gpt-5.4 ` 、` gemini-3.1-pro ` 、` claude-opus-4-6 ` 三个主模型,并在末尾保留了一条 ` * ` fallback 路由。因此 ` /models ` 会返回显式模型加上一条通配兜底路由 。默认会看到类似下面的结果:
137+ 当前 ` litellm.local.yaml ` 默认显式注册了 ` gpt-5.4 ` 、` gemini-3.1-pro ` 、` claude-opus-4-6 ` 、 ` GLM-5.1 ` 四个主模型,并在末尾保留 ` GLM- *` 与 ` * ` 两条 fallback 路由。因此 ` /models ` 会返回显式模型加上两条通配兜底路由 。默认会看到类似下面的结果:
125138
126139``` json
127140{
128141 "data" : [
129142 {"id" : " gpt-5.4" , "object" : " model" },
130143 {"id" : " gemini-3.1-pro" , "object" : " model" },
131144 {"id" : " claude-opus-4-6" , "object" : " model" },
145+ {"id" : " GLM-5.1" , "object" : " model" },
146+ {"id" : " GLM-*" , "object" : " model" },
132147 {"id" : " *" , "object" : " model" }
133148 ],
134149 "object" : " list"
@@ -142,18 +157,29 @@ curl "$env:NEWAPI_API_BASE/models" `
142157 -H "Authorization: Bearer $env:NEWAPI_KEY"
143158```
144159
160+ 如果你想获取智谱 Coding Plan 实际可用的模型名,请直接调用对应上游:
161+
162+ ``` powershell
163+ curl "$env:Z_AI_CODING_API_BASE/models" `
164+ -H "Authorization: Bearer $env:Z_AI_API_KEY"
165+ ```
166+
145167说明:
146168
147169- 不要在当前配置下使用 ` only_model_access_groups=true ` ,因为默认没有配置 model access groups,请求结果会是空数组。
148170- 如果客户端直接传 ` model=qwen-plus ` 之类的名称,前提是该名称必须真实存在于 NewAPI 的 ` /models ` 返回结果中。
149- - 显式注册之外的模型不会自动展开进 ` /models ` 列表;它们会通过 ` * ` fallback 透传到 NewAPI。
171+ - 如果客户端直接传 ` model=GLM-4.7 ` 之类的官方名称,前提是该名称必须真实存在于智谱 Coding Plan 的 ` /models ` 返回结果中。
172+ - 显式注册之外的 GLM 模型不会自动展开进 LiteLLM 的 ` /models ` 列表;它们会优先通过 ` GLM-* ` fallback 转发到智谱上游。
173+ - 其它显式注册之外的非 GLM 模型,仍然通过最后的 ` * ` fallback 透传到 NewAPI。
150174
151175## 配置说明
152176
153177当前 ` litellm.local.yaml ` 的关键点:
154178
155- - ` model_list ` :显式注册 ` gpt-5.4 ` 、` gemini-3.1-pro ` 、` claude-opus-4-6 ` 三个主模型 ,并追加 ` * ` 作为最后兜底 。
179+ - ` model_list ` :显式注册 ` gpt-5.4 ` 、` gemini-3.1-pro ` 、` claude-opus-4-6 ` 、 ` GLM-5.1 ` 四个主模型 ,并追加 ` GLM- *` 与 ` * ` 两层兜底 。
156180- 显式模型优先:常用模型可以稳定出现在 ` /models ` 里,也方便客户端按固定名称接入。
157- - ` * ` fallback:对 NewAPI 已存在但未显式注册的模型保留透传能力,减少频繁改本地配置的成本。
158- - ` litellm_params.model ` :显式模型映射到 ` openai/<模型名> ` ,fallback 映射到 ` openai/* ` ,继续通过 NewAPI 的 OpenAI 兼容接口转发请求。
181+ - ` GLM-* ` fallback:对智谱 Coding Plan 已存在但未显式注册的 GLM 官方模型保留透传能力,同时避免误落到 NewAPI。
182+ - ` * ` fallback:对 NewAPI 已存在但未显式注册的非 GLM 模型保留透传能力,减少频繁改本地配置的成本。
183+ - ` litellm_params.model ` :显式模型和通配规则都映射到 ` openai/<模型名> ` 形式,继续通过 OpenAI 兼容接口转发到各自上游。
159184- ` master_key ` :开启 LiteLLM 网关鉴权,避免任何能访问端口的客户端都直接调用上游。
185+ - ` Codex ` 直连:当前 ` ai/coding/codex/config.toml ` 里的 ` z.ai ` provider 保持不变;本目录改动只补充 LiteLLM 网关入口。
0 commit comments