docs: backfill env template and migration notes for M2
This commit is contained in:
+36
-7
@@ -33,22 +33,51 @@ LLM_CIRCUIT_BREAKER_COOLDOWN=60 # 或 LLM__BREAKER__COOLDOWN_S
|
||||
# LLM_TIMEOUT=120 # 源缺 TIMEOUT_S 时的缺省
|
||||
# LLM_TTFT_TIMEOUT=30 # 平铺看门狗缺省(成对生效)
|
||||
# LLM_INTER_TOKEN_TIMEOUT=15
|
||||
# LLM__BREAKER__PROBE_TTL_S=240 # 缺省派生: max(2×最大源超时, cooldown)
|
||||
# LLM__BACKPRESSURE__STALL_WINDOW_S=300 # M2 启用 stall 判定
|
||||
# LLM__BREAKER__PROBE_TTL_S=240 # 缺省派生: max(2×最大源超时, cooldown, 最大源超时+5);显式值须 ≥ 最大源超时+5
|
||||
# LLM__BACKPRESSURE__STALL_WINDOW_S=300 # stall 双条件判死窗口;须 ≥ 最大源 TTFT
|
||||
# LLM__BACKPRESSURE__POLL_INTERVAL_S=0.05
|
||||
# LLM__SELECTOR=round_robin # round_robin(默认) | least_inflight
|
||||
# LLM__QUOTA_FULL=wait # wait(默认) | fail_fast
|
||||
|
||||
# ══ 装配选择(PGW_*)══
|
||||
PGW_LIMITER_BACKEND=memory # M1 仅 memory;redis 随 M2
|
||||
PGW_BREAKER_BACKEND=memory
|
||||
PGW_LIMITER_BACKEND=memory # memory | redis(redis 需 REDIS_URL;多进程 worker 必须 redis)
|
||||
PGW_BREAKER_BACKEND=memory # memory | redis
|
||||
PGW_CACHE_BACKEND=none # redis | memory | none(必填,显式优于隐式)
|
||||
PGW_TELEMETRY_BACKEND=none # sqlite | none(postgres 随 M2)
|
||||
PGW_TELEMETRY_BACKEND=none # sqlite | postgres | none(必填)
|
||||
# PGW_TELEMETRY_SQLITE_PATH=logs/telemetry.db # sqlite 时必填
|
||||
# PGW_TELEMETRY_PG_DSN=postgresql://user:pass@host:5432/polygateway # postgres 时必填;严禁指向在用业务库(实验室约定: 专用库 polygateway)
|
||||
# PGW_PRICING_PATH=config/prices.json # 可选: {"<model>": {"input_per_1m": x, "output_per_1m": y}};缺省 cost 恒 None
|
||||
# PGW_CACHE_NAMESPACE=<项目名或租户前缀> # 缓存启用时必填(防跨项目毒化)
|
||||
# PGW_CACHE_TTL_S=604800 # 缓存启用时必填,须 > 0
|
||||
# PGW_STRUCTURED_MAX_RETRIES=1 # 0 = 解析失败不重问(CHS 策略)
|
||||
# PGW_LEASE_TTL_S=1500 # permit 租约;须 ≥ 最大源 timeout
|
||||
|
||||
# ══ Redis(缓存;M2 起亦供分布式限流/熔断)══
|
||||
# REDIS_URL=redis://localhost:6379/0
|
||||
# ══ Redis(缓存 + 分布式限流/熔断)══
|
||||
# 实验室纪律: 共享实例的 db0 有在用键,PolyGateway 一律用专用 db3(soak 会 FLUSHDB!)
|
||||
# REDIS_URL=redis://:password@host:6379/3
|
||||
|
||||
# ══ Embedding scope(M2;EmbeddingClient.from_env 装配)══
|
||||
# EMBED__QWEN__1__BASE_URL=
|
||||
# EMBED__QWEN__1__API_KEY=
|
||||
# EMBED__QWEN__1__MODEL=text-embedding-v3
|
||||
# EMBED__QWEN__1__TIMEOUT_S=60
|
||||
# EMBED__RETRY__MAX_ATTEMPTS=3
|
||||
# EMBED__RETRY__BACKOFF_BASE_S=1.0
|
||||
# EMBED__RETRY__BACKOFF_MAX_S=10.0
|
||||
# EMBED__BREAKER__FAIL_THRESHOLD=5
|
||||
# EMBED__BREAKER__COOLDOWN_S=60
|
||||
# EMBED__BATCH_SIZE=64 # 必填: 每批条数(分批是行为关键,不设默认)
|
||||
# EMBED__NORMALIZE=false # 可选: true = 库内 L2 归一化(VT 语义)
|
||||
# EMBED__EXPECTED_DIM=768 # 可选: 维度校验,不符抛 ResultInvalid
|
||||
|
||||
# ══ SOAK scope(压测 harness 专用;tools/soak/run_soak.py --scope SOAK)══
|
||||
# 健康源 + 故障源混编(findings §3): 坏 key 源 / 黑洞源 / 紧看门狗源 / 紧闸源
|
||||
# SOAK__MINIMAX__1__BASE_URL= # 健康源(真实网关)
|
||||
# SOAK__MINIMAX__1__API_KEY=
|
||||
# SOAK__MINIMAX__1__MODEL=
|
||||
# SOAK__MINIMAX__1__TIMEOUT_S=180
|
||||
# SOAK__MINIMAX__2__BASE_URL= # 坏凭据源: 真实网关 + 错误 API_KEY → 401
|
||||
# SOAK__MINIMAX__2__API_KEY=sk-wrong-key-on-purpose
|
||||
# SOAK__MINIMAX__3__BASE_URL=http://10.255.255.1/v1 # 黑洞源: 防火墙 DROP → 连接超时
|
||||
# SOAK__MINIMAX__4__RPM=5 # 紧闸源: 真实源 + rpm=5 / 并发 1
|
||||
# SOAK__MINIMAX__4__MAX_CONCURRENCY=1
|
||||
|
||||
Reference in New Issue
Block a user