feat(config): align LLM timeout/retry SLA with FastGPT client (60s/3)

Replaces the unequal SLA (LLM 30s/2 retries vs FastGPT client 60s/3)
that made the LangGraph backend look less stable under gray release.

- core/fastgpt_client: FASTGPT_TIMEOUT_SECONDS / FASTGPT_MAX_RETRIES
  module constants (were inline literals in lifespan)
- agent/llm: OpenAILLMService defaults 60.0s / 3 retries
- core/config: named-profile fallback defaults 60/3 (prefixed and
  JSON-dict forms)
- contract test test/backends/test_sla_alignment.py pins both sides to
  the same constants so the SLA cannot drift apart again
- retry backoff intentionally differs (FastGPT fixed 1s vs LLM
  exponential) and is documented; aligned parameters are per-call
  timeout and max retry count

Verified: 215 unit tests (3 new SLA contract tests)
This commit is contained in:
Eric Wang
2026-10-22 22:31:28 +08:00
parent ca73b1e8c5
commit 833725d8a3
5 changed files with 60 additions and 8 deletions
+2
View File
@@ -17,6 +17,8 @@ VOICE_CONFIG=config/voice.json
# 每组 LLM_<名>_BASE_URL / _API_KEY / _MODEL 必填;
# 可选 _TIMEOUT_SECONDS / _MAX_RETRIES / _TEMPERATURE / _EXTRA_BODY(JSON 字符串,
# 如思考开关 KIMI 网关为 {"reasoning_effort":"none"})。
# 超时/重试缺省 60 秒 / 3 次,与 FastGPT 客户端 SLA 对齐
# (契约测试 test/backends/test_sla_alignment.py)。
# LLM_PROVIDERS=deepseek,kimi,gpt6luna
# LLM_PROVIDER=deepseek
# LLM_DEEPSEEK_BASE_URL=https://api.openai.com/v1