fix(llm): request_id 条件透传贯通网关日志(CR-H4,守 §9.3)

This commit is contained in:
Yaojia Wang
2026-07-08 10:24:55 +02:00
parent afeac51422
commit 51fe9f44fe
5 changed files with 61 additions and 17 deletions

View File

@@ -29,6 +29,10 @@
- `OpenAICompatAdapter` 不变(新增瞬时错误包装,参与回退链)。
- **依赖**`packages/llm_gateway/pyproject.toml``tenacity>=8.2`(已 `uv sync`;原为 instructor 传递依赖)。**`anthropic`/`google-genai` SDK 已由 @devops 加(已 `uv sync`**——适配器仍懒导入/注入客户端,单测零依赖。
#### C1 扩CR-H4, 2026-07-08· `LlmRequest` 加可选 `request_id` owner @llm 状态: 稳定
- **`LlmRequest` 加字段**C1 形变,**仅加可选、默认 `None`,最后一位,向后兼容**`request_id: str | None = None`。调用方apps/api/编排器)设置后,网关把它**条件透传**到每条 `llm_call` / `llm_provider_failed` 日志(`req.request_id is not None` 才发——避免 None 覆盖 `merge_contextvars` 在 sync/SSE 路径供的 id贯通端到端追踪ARCH §9.3)。
- **无 OpenAPI 形变、无需 gen:api**`LlmRequest` 是网关内部类型,不出现在 `packages/shared` / `schema.d.ts`;前端无感。旧调用点全部无 request_id → 默认 `None`,行为不变。
#### C1 扩 follow-up #22026-06-19· `build_adapter` provider→适配器工厂 owner @llm 状态: 稳定
- 位置:`packages/llm_gateway/ww_llm_gateway/factory.py`,经包 `__init__` 导出 `build_adapter`
- **签名稳定apps/api `build_gateway_for_tier` 据此逐 provider 建适配器进 `adapters` dict**