1414- ` .env.example ` :开发环境变量示例。
1515- ` .env.production.example ` :生产环境变量示例。
1616- ` tensorzero.toml ` :生产级网关配置示例,包含百炼接入、降级、重试和限流规则。
17+ - ` newapi.toml ` :面向 NewAPI 的替代配置,沿用同样的降级、重试和限流思路。
1718- ` .env.local ` :本地私有环境变量覆盖文件,可选。
1819
1920## 环境变量
2021
2122建议先在 ` ai/gateway/tensorzero/.env.local ` 中配置以下值:
2223
2324``` dotenv
25+ TENSORZERO_CONFIG_FILE=tensorzero.toml
2426TENSORZERO_GATEWAY_IMAGE=tensorzero/gateway
2527TENSORZERO_UI_IMAGE=tensorzero/ui
2628TENSORZERO_CLICKHOUSE_IMAGE=clickhouse/clickhouse-server:lts
2729TENSORZERO_VALKEY_IMAGE=valkey/valkey:8-alpine
2830TENSORZERO_GATEWAY_PORT=34400
2931TENSORZERO_UI_PORT=34401
3032DASHSCOPE_API_KEY=sk-xxxx
33+ NEWAPI_API_KEY=sk-xxxx
3134TENSORZERO_CLICKHOUSE_DB=tensorzero
3235TENSORZERO_CLICKHOUSE_USER=tensorzero
3336TENSORZERO_CLICKHOUSE_PASSWORD=change-me
@@ -38,7 +41,9 @@ TENSORZERO_VALKEY_URL=redis://valkey:6379/0
3841
3942其中:
4043
44+ - ` TENSORZERO_CONFIG_FILE ` :要加载的配置文件名,默认 ` tensorzero.toml ` ;如果要切到 NewAPI 版,改成 ` newapi.toml ` 。
4145- ` DASHSCOPE_API_KEY ` :阿里百炼 API Key,供 ` tensorzero.toml ` 里的 OpenAI 兼容提供方配置使用。
46+ - ` NEWAPI_API_KEY ` :供 ` newapi.toml ` 使用的 NewAPI 密钥。
4247- ` TENSORZERO_GATEWAY_PORT ` :宿主机访问 TensorZero Gateway 的端口,默认 ` 34400 ` 。
4348- ` TENSORZERO_UI_PORT ` :宿主机访问 TensorZero UI 的端口,默认 ` 34401 ` 。
4449- ` TENSORZERO_CLICKHOUSE_* ` :ClickHouse 初始化账号、密码和数据库。
@@ -47,6 +52,27 @@ TENSORZERO_VALKEY_URL=redis://valkey:6379/0
4752
4853如果你要准备生产环境,可以复制 ` ./.env.production.example ` 再按实际环境改值。
4954
55+ 如果你想切到 NewAPI 版配置,只需要把 ` .env.local ` 里的:
56+
57+ ``` dotenv
58+ TENSORZERO_CONFIG_FILE=newapi.toml
59+ ```
60+
61+ 然后补好:
62+
63+ ``` dotenv
64+ NEWAPI_API_KEY=sk-xxxx
65+ ```
66+
67+ 同时直接编辑 ` newapi.toml ` 里的:
68+
69+ ``` toml
70+ api_base = " https://newapi.example.com/v1"
71+ model_name = " qwen-plus"
72+ ```
73+
74+ 把它改成你的 NewAPI 地址和默认模型。
75+
5076## 启动方式
5177
5278推荐直接使用:
@@ -94,14 +120,25 @@ curl http://127.0.0.1:34400/inference `
94120
95121## 配置说明
96122
97- ` tensorzero.toml ` 当前提供的是一套生产向示例 :
123+ ` tensorzero.toml ` 当前提供的是一套面向阿里百炼的生产向示例 :
98124
99125- ` qwen_plus_prod ` :主模型,直连阿里百炼 ` qwen-plus `
100126- ` qwen_flash_fallback ` :降级模型,直连阿里百炼 ` qwen-flash `
101127- ` chat_prod ` :默认生产聊天函数,优先主模型,失败后顺序降级
102128- ` retries ` + ` timeouts ` :在 provider 和 variant 两层分别约束重试和超时
103129- ` rate_limiting.rules ` :示例化地展示全局总量保护与按 ` tenant_id ` 的细粒度限流
104130
131+ ` newapi.toml ` 则是一个更简洁的 NewAPI 版本:
132+
133+ - ` newapi_chat ` :单模型模板,通过 ` api_base ` 指向你的 NewAPI
134+ - ` chat_simple ` :最小聊天函数,不带降级和复杂实验路由
135+ - ` retries ` + ` timeouts ` :只保留一层轻量保护,避免配置过重
136+
137+ 注意:
138+
139+ - TensorZero 的 OpenAI-compatible provider 需要显式配置 ` model_name ` ,所以 ` newapi.toml ` 不能像 LiteLLM 一样用单个配置文件真正做任意模型 ` * ` 透传。
140+ - 如果你要切到另一个 NewAPI 模型,最简单的做法是直接改 ` newapi.toml ` 的 ` model_name ` ;如果你要同时支持多个模型,就复制一份 ` models.* ` 和 ` functions.* ` 配置块。
141+
105142注意:
106143
107144- ` tokens_per_hour ` 规则要求请求中显式传 ` max_tokens ` ,否则无法对 token 做保守预估。
0 commit comments