diff --git a/backend/crawler_copy/jd_pc_search/AI_crawler.py b/backend/crawler_copy/jd_pc_search/AI_crawler.py index 1c4558f..2a01238 100644 --- a/backend/crawler_copy/jd_pc_search/AI_crawler.py +++ b/backend/crawler_copy/jd_pc_search/AI_crawler.py @@ -281,7 +281,19 @@ def chat_completion_text( json=body, timeout=timeout, ) - r.raise_for_status() + try: + r.raise_for_status() + except requests.HTTPError as e: + snippet = "" + if e.response is not None: + snippet = (e.response.text or "")[:1200].replace("\r\n", "\n").replace("\n", " ") + if snippet: + raise requests.HTTPError( + f"{e!s} | body: {snippet}", + response=e.response, + request=e.request, + ) from e + raise data = r.json() msg = (data.get("choices") or [{}])[0].get("message") or {} return _normalize_chat_content(msg.get("content")) diff --git a/backend/pipeline/llm_generate.py b/backend/pipeline/llm_generate.py index d460b1e..ed1f7ec 100644 --- a/backend/pipeline/llm_generate.py +++ b/backend/pipeline/llm_generate.py @@ -60,7 +60,8 @@ REPORT_USER_PREFIX = """请根据以下 JSON 撰写上文所述 §8.5 嵌入段 def generate_competitor_report_markdown_llm(brief: dict[str, Any], keyword: str) -> str: - compact = compact_brief_for_llm(brief) + # 与章节衔接等 LLM 步骤一致控制体积;默认 350k 易触发网关超时/拒收导致 502 + compact = compact_brief_for_llm(brief, max_chars=100_000) payload = { "keyword": keyword, "competitor_brief": compact,