我用 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分析 FastAPI GPT 评论分析 NLP Map-Reduce

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐