我用 FastAPI + GPT 做了一个亚马逊评论 AI 分析系统,一键生成结构化分析报告
我用 FastAPI + GPT 做了一个亚马逊评论 AI 分析系统,一键生成结构化分析报告
背景
做亚马逊跨境的同学都知道,差评是最头疼的事之一。不仅影响 BSR 排名,还直接拉低转化率。
问题在于:评论太多了。一个畅销品 ASIN 轻松上千条评论,靠人工逐条去读、归类、分析,根本不现实。
于是我用 FastAPI + React + GPT 搭了一套系统,取名 Reveyes(监控之眼),核心能力是:
- 🔍 差评实时监控(最高每小时巡检一次)
- 🤖 AI 深度分析报告(本文重点)
- 📊 ASIN 多品横向对比
- 🔔 多渠道通知(邮件 / 企业微信 / 钉钉 / 飞书)
- 🔌 Open API 对接 ERP

AI 分析功能到底做了什么?
直接上效果:输入一个 ASIN,系统自动读取所有评论,用 AI 生成一份完整的结构化报告,包含:
| 模块 | 内容 |
|---|---|
| 情感分布 | 好评 / 中性 / 差评的比例与趋势 |
| 高频关键词 | 用户反复提及的词云,正负向分开 |
| 用户画像 | 典型买家群体、使用场景归纳 |
| 核心痛点 | 差评中出现频率最高的问题点 |
| 竞品差距 | 基于评论推断的改进方向 |
| 广告关键词 | 从好评中提炼的高转化词 |
| 优化建议 | 面向产品经理的具体 Listing 优化项 |
报告可以一键生成分享链接,直接把公开 HTML 报告发给运营、产品或老板,不需要登录。
https://server.reveyes.cn/reports/JQe7jWO4fn0jLq014nREXU_epw0.html


技术实现:Map-Reduce 分批分析
评论动辄几百上千条,单次塞给 GPT 显然不现实(上下文窗口 + 费用双重限制)。
系统采用经典的 Map-Reduce 范式:
原始评论(N条)
│
├── Batch 1(20条) → [Map] AI 提取关键信息 → 中间结果 1
├── Batch 2(20条) → [Map] AI 提取关键信息 → 中间结果 2
├── ...
└── Batch K(20条) → [Map] AI 提取关键信息 → 中间结果 K
│
[Reduce] AI 汇总所有中间结果
│
最终结构化报告(JSON)
Map 阶段:每批 20 条评论,提取情感、关键词、问题点等结构化中间数据。
Reduce 阶段:将所有批次的中间结果合并,让 AI 做全局归纳,输出最终报告。
这样做的好处:
- 支持任意数量的评论,不受单次 Token 限制
- 可并发(后续可优化为并行 Map)
- 中间结果可单独落库,便于调试和重试
关键代码片段
AI 调用封装(结构化超时,避免 ReadTimeout):
def call_ai_sync(base_url, api_key, model_id, system_prompt, user_prompt,
supports_json_mode, timeout=600.0):
payload = {
"model": model_id,
"messages": [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt},
],
"temperature": 0.2,
}
if supports_json_mode:
payload["response_format"] = {"type": "json_object"}
# 结构化超时:connect/write 短,read 允许 AI 慢慢生成
_timeout = httpx.Timeout(connect=30.0, read=timeout, write=60.0, pool=10.0)
with httpx.Client(timeout=_timeout) as client:
resp = client.post(
base_url.rstrip("/") + "/chat/completions",
headers={"Authorization": f"Bearer {api_key}"},
json=payload,
)
resp.raise_for_status()
return extract_json(resp.json()["choices"][0]["message"]["content"])
注意点:AI 生成大报告时可能需要 3-5 分钟,如果直接用 httpx.Client(timeout=240) 单值会同时限制 connect 和 read,很容易在 Map 阶段触发 ReadTimeout。用结构化 httpx.Timeout 分开设置是关键。
多 AI 模型支持
系统支持任意 OpenAI 兼容接口,后台可配置多个 AI 服务商:
- OpenAI(GPT-4o / GPT-4.1)
- DeepSeek
- 通义千问、豆包等国内大模型(只需配置 base_url + api_key)
不同 ASIN 可以指定不同的 AI 模型,方便对比效果或控制成本。
商品信息增强
除了评论本身,系统还会拉取商品详情(标题、卖点、品类路径、BSR、变体列表等),作为上下文一并传给 AI,让分析更准确、更有针对性。
分享报告
分析完成后,系统将报告渲染成完全自包含的 HTML 文件(CSS / JS 全部内联),存储到服务器,生成一个公开链接:
https://your-domain.com/reports/{token}.html
无需登录,打开即看,适合直接发给客户或团队协作。
技术栈一览
| 层 | 技术 |
|---|---|
| 后端 | Python 3.11 + FastAPI + SQLAlchemy + Celery |
| 前端 | React 18 + TypeScript + Ant Design |
| 数据库 | MySQL 8 + Redis |
| AI 调用 | httpx + OpenAI 兼容接口 |
体验地址
Reveyes 监控之眼:https://www.reveyes.cn
注册即赠 50 积分体验(差评监控 + AI 分析均可用),无需绑卡。
有问题欢迎评论区交流,也欢迎对接 Open API 的同学来聊 🤝
标签:
亚马逊跨境电商AI分析FastAPIGPT评论分析NLPMap-Reduce
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)