16 Commits

Author SHA1 Message Date
hub-gif
f19d112e73 test(pipeline): print live LLM JSON to stderr in keyword/scenario tests
Made-with: Cursor
2026-04-14 10:44:47 +08:00
hub-gif
e708480382 test(pipeline): fix scenario parse fenced case (min trigger length 2)
Made-with: Cursor
2026-04-14 10:40:42 +08:00
hub-gif
e2a0a442a7 fix(pipeline): scenario LLM merge without unrelated runner/vue churn
Restore jd_runner/JdAnalysisView to prior behavior except schema_version 3,
scenario suggest block, and default comment_scenario_groups fallback when
eff_rc omits them. Reverts accidental WIP bundled in previous commit.

Made-with: Cursor
2026-04-14 10:38:00 +08:00
hub-gif
1deea3af35 feat(pipeline): LLM-extend usage scenario groups from comments
Add suggest_scenario_groups_llm: single call with excerpt corpus + existing
label/triggers, parse scenarios JSON, merge into comment_scenario_groups
(up to 40) before build_competitor_brief. Record in keyword_suggest_llm.json
(schema_version 3). Skip with MA_SKIP_LLM_SCENARIO_SUGGEST. Update tests
and analysis view hint.

Made-with: Cursor
2026-04-14 10:36:28 +08:00
hub-gif
bca19fd845 test(pipeline): run llm_keyword_suggest against real LLM when keys set
Remove mock; load market_assistant/.env before checking credentials.
Live test skips without OPENAI_* or LLM_* key+base URL.

Made-with: Cursor
2026-04-14 10:26:55 +08:00
hub-gif
be0215bfe2 fix(ai_crawler): cap max_tokens to remaining context window
LiteLLM rejects when max_tokens exceeds context minus measured input
tokens. Estimate input from prompt length and clamp max_tokens; allow
LLM_CONTEXT_WINDOW override. Prevents ContextWindowExceededError on long
Chinese/JSON prompts (e.g. regenerate-report §8.5).

Made-with: Cursor
2026-04-14 10:16:38 +08:00
hub-gif
9797796f2e fix(pipeline): cap LLM brief size on report regen; enrich chat HTTP errors
Regenerate-report (llm) used compact_brief_for_llm default 350k chars,
unlike other LLM steps (80k–100k), which can cause gateway timeouts or 5xx
surfacing as 502. chat_completion_text now attaches response body snippet
to HTTPError for easier diagnosis.

Made-with: Cursor
2026-04-14 09:55:42 +08:00
hub-gif
a8210ec933 feat(报告): 各章大模型衔接分析与 report_config 开关
Made-with: Cursor
2026-04-13 11:06:35 +08:00
hub-gif
b7d932b920 feat(报告): 第六章增加优惠活动与标价券后价差分析
Made-with: Cursor
2026-04-13 10:59:22 +08:00
hub-gif
ed2738953f refactor(报告): 全文大模型补充改为嵌入第八章末而非篇首
Made-with: Cursor
2026-04-13 10:54:43 +08:00
hub-gif
bac71c00be feat(报告): 评价大模型解读强化负向主题归因与抽样
Made-with: Cursor
2026-04-13 10:52:14 +08:00
hub-gif
c76efd80e5 chore(backend): 将 Playwright 加入依赖以支持京东流水线
Made-with: Cursor
2026-04-13 10:42:07 +08:00
hub-gif
7fc59e5c5f fix(pipeline): 报告重生成时路径与数据错误统一返回 400
Made-with: Cursor
2026-04-13 10:36:25 +08:00
hub-gif
2eacf4b306 chore(gitignore): 将日报目录排除在版本库之外
Made-with: Cursor
2026-04-13 09:46:29 +08:00
hub-gif
eceecbffbf docs: merge deployment into README, remove DEPLOY_AND_GIT.md
Made-with: Cursor
2026-04-10 18:19:27 +08:00
hub-gif
d8086dfdd5 Initial commit: Market-Assistant standalone (Django + Vue + JD crawler copy)
Made-with: Cursor
2026-04-10 18:03:35 +08:00