12 Commits

Author SHA1 Message Date
hub-gif
c45ec66d4c feat(report): remove §5 competitor matrix table, keep per-group charts
Made-with: Cursor
2026-04-14 13:18:40 +08:00
hub-gif
a1d0fa6686 fix(report): shop/brand pie totals, matrix price charts, drop LLM §8.5 merge
Made-with: Cursor
2026-04-14 13:16:29 +08:00
hub-gif
1f6abe49ee feat(pipeline): wire matrix/price/comment group LLM into report body
- build_matrix/price_groups_llm_payload from merged rows
- jd_runner: call generate_*_group_summaries_llm when report_config or
  MA_ENABLE_LLM_*; write matrix/price/comment_groups_llm.json sidecars
- build_competitor_markdown: insert §5.1, §6.2, §8.6 with disclaimers
- §1.3 note for optional llm_*_group_summaries flags

Made-with: Cursor
2026-04-14 11:15:17 +08:00
hub-gif
dd5fa8a407 feat(comments): attribute sentiment LLM samples to shop and SKU
- Add _comment_lines_with_product_context and build_comment_groups_llm_payload
- build_comment_sentiment_llm_payload: lexicon on plain text, samples with
  【细类|SKU|品名|店铺】 prefix; jd_runner passes parallel attributed lines
- Tighten §8.2/§8.5 prompts so negatives tie to shop + product; tests assert 店铺

Made-with: Cursor
2026-04-14 11:04:35 +08:00
hub-gif
708f28f40e fix(report): restore jd_competitor_report after mistaken chart revert
9cc8de9 accidentally rewrote jd_competitor_report.py and merged an oversized
report_charts.py. Reset both to f19d112 baseline; keep only obsolete cleanup
for removed global bar chart filenames.

Made-with: Cursor
2026-04-14 10:51:38 +08:00
hub-gif
9cc8de9006 revert(report): drop global focus/scenario bar charts
Remove chart_comment_focus_global_bar / chart_usage_scenarios_global_bar
generation and markdown embed; delete leftovers on chart regen.

Made-with: Cursor
2026-04-14 10:48:54 +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
bac71c00be feat(报告): 评价大模型解读强化负向主题归因与抽样
Made-with: Cursor
2026-04-13 10:52:14 +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