Bläddra i källkod

fix(langgraph): 问卷推理超时防护 — gunicorn timeout 60→300s + ChatOpenAI timeout=180/max_retries=1

生产验证发现:LLM 推理生成 8-12 题问卷耗时 35s+,openai 客户端默认重试叠加后
超过 gunicorn 60s 超时导致 worker 被杀(WORKER TIMEOUT + SIGABRT)。
- gunicorn --timeout 60→300:给推理留足时间
- ChatOpenAI timeout=180/max_retries=1:单次推理上限 180s,失败仅重试 1 次
iwt 3 månader sedan
förälder
incheckning
f3e72756b5
1 ändrade filer med 1 tillägg och 2 borttagningar
  1. 1 2
      cfc-langgraph/src/llm/client.py

+ 1 - 2
cfc-langgraph/src/llm/client.py

@@ -4,8 +4,7 @@ from langchain_openai import ChatOpenAI
 
 
 def get_llm() -> ChatOpenAI:
 def get_llm() -> ChatOpenAI:
     # 优先 LLM_* 系列(与 .env.production 一致),兼容 OPENAI_* 系列
     # 优先 LLM_* 系列(与 .env.production 一致),兼容 OPENAI_* 系列
-    # timeout=180: LLM 推理生成 8-12 题问卷可达 30-60s,默认 600s 无意义,
-    #   显式收紧避免异常场景挂死 worker;max_retries=1 限制失败重试叠加耗时
+    # timeout=180/max_retries=1:问卷推理可达 30-60s,重试叠加会拖垮 gunicorn worker
     return ChatOpenAI(
     return ChatOpenAI(
         model=os.getenv("LLM_MODEL", os.getenv("OPENAI_MODEL", "gpt-4o-mini")),
         model=os.getenv("LLM_MODEL", os.getenv("OPENAI_MODEL", "gpt-4o-mini")),
         api_key=os.getenv("LLM_API_KEY", os.getenv("OPENAI_API_KEY", "")),
         api_key=os.getenv("LLM_API_KEY", os.getenv("OPENAI_API_KEY", "")),