Skip to content

Newoahil/InsightFlow

Repository files navigation

InsightFlow

AI 驱动的用户行为分析与运营洞察工作台 —— 上传任意 CSV 行为数据,一键生成 Dashboard 与 AI 运营建议。

功能特性

  • 智能字段识别 — 上传 CSV 后自动识别列名语义(用户ID/时间/行为/金额等),支持中英文、多种命名风格,无需手动映射
  • 通用分析引擎 — 基于 Pandas 的通用行为分析引擎,自动计算核心指标(用户数/活跃度/转化率/时长/金额),不依赖特定场景
  • Dashboard 可视化 — 指标卡片 + 折线图/饼图/柱状图/横向柱图,统一 {label, value} 格式渲染,自适应展示
  • AI 运营洞察 — 基于 DeepSeek 大模型,自动生成用户画像分析、趋势总结、优化建议和未来趋势预判
  • 多业务场景 — 预置 5 大场景(停车场/IP 潮玩/电商/AI 内容/社区服务),即选即用
  • 零数据库 — 纯文件驱动,分析结果 JSON 缓存,无数据库依赖,开箱即用

技术栈

技术
前端 Vue 3 + Element Plus + ECharts + Vite
后端 FastAPI + Pandas + PyYAML
AI DeepSeek Chat(OpenAI 兼容协议)
构建 Vite (前端) / Uvicorn (后端)

五分钟快速开始

1. 启动后端

cd backend

# 安装依赖
pip install pandas fastapi uvicorn httpx openai pyyaml python-multipart

# 配置 AI(可选,不配置则使用 Demo 降级)
cp config.example.yaml config.yaml
# 编辑 config.yaml,填入 DeepSeek API Key

# 启动服务
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

2. 启动前端

cd frontend
npm install
npm run dev

3. 打开浏览器

访问 http://localhost:5173,选择业务场景,上传 sample_data/ 目录下的 CSV 文件,查看 Dashboard 和 AI 洞察。

项目结构

insightflow/
├── backend/
│   ├── main.py                    # FastAPI 入口
│   ├── config_loader.py           # config.yaml 加载器
│   ├── config.example.yaml        # 配置模板
│   ├── core/
│   │   ├── schema_mapper.py       # 字段语义自动识别(关键词+类型推断)
│   │   ├── analyzer.py            # 通用行为分析引擎
│   │   ├── prompt_builder.py      # AI Prompt 动态构造
│   │   └── scenarios.py           # 5 个业务场景配置
│   ├── providers/
│   │   ├── base.py                # LLM 抽象基类
│   │   └── openai_compat.py       # OpenAI 兼容协议适配
│   ├── api/
│   │   ├── upload.py              # CSV 上传 + 分析触发
│   │   ├── analysis.py            # 分析结果查询
│   │   └── insights.py            # AI 洞察生成
│   └── data/                      # 上传数据 & 分析缓存(gitignore)
├── frontend/
│   ├── src/
│   │   ├── api/index.js           # API 封装
│   │   ├── views/
│   │   │   ├── Dashboard.vue      # 动态 Dashboard
│   │   │   ├── DataUpload.vue     # 数据上传页
│   │   │   └── AIInsights.vue     # AI 洞察详情
│   │   └── components/
│   │       └── ChartRenderer.vue  # 通用图表组件(line/bar/pie)
│   └── vite.config.js
└── sample_data/
    ├── generate_mock.py            # Mock 数据生成器
    ├── parking_user_behavior.csv   # 停车场场景 (3000条)
    ├── ip_toy_user_behavior.csv    # IP潮玩场景 (3000条)
    ├── ecommerce_user_behavior.csv # 电商场景 (3000条)
    ├── content_platform_behavior.csv    # AI内容平台 (3000条)
    └── community_service_behavior.csv   # 社区服务 (3000条)

业务场景

场景 ID 场景名称 说明
parking 停车场运营 进出场、缴费行为分析,车位利用率与用户构成
ip_toy 潮玩/IP运营 浏览、购买行为分析,热门 IP 与用户偏好
ecommerce 电商运营 浏览、下单、支付行为分析,转化漏斗评估
ai_content AI 内容平台 阅读、点赞、分享行为分析,内容偏好与传播效果
community 社区服务 预约、使用、评价行为分析,服务质量与满意度

架构设计

CSV 上传 → Schema Mapper(自动识别列名语义)
         → Analyzer(Pandas 通用分析:指标+图表)
         → 输出统一 JSON { metrics, dashboard: { cards, charts } }
         → 前端 ChartRenderer 渲染 ECharts
         → Prompt Builder 构造 LLM Prompt → AI 洞察生成

核心设计决策

  • Schema Mapper — 所有分析代码不依赖具体 CSV 列名,依赖语义映射字典。换了列名格式,映射字典变了,分析代码不动。
  • 统一输出格式 — 所有图表数据统一为 {label, value},前端单一 ChartRenderer.vue 渲染全部图表类型。
  • LLM 降级兜底 — AI 不可用时自动返回场景特定的 Demo 模板,模板中的动态数据从分析结果实时注入。
  • 场景不参与分析 — 场景仅提供 UI 描述和 Prompt 语境提示,不包含任何硬编码的列名或分析规则。

API 清单

端点 方法 说明
/api/health GET 健康检查
/api/scenes GET 获取场景列表
/api/upload POST 上传 CSV(file + scene),返回 session_id 和分析结果
/api/analysis/{session_id} GET 获取分析结果(指标 + 图表数据)
/api/insights/{session_id} GET 获取 AI 洞察(含 Demo 降级)
/api/sessions GET 获取历史 session 列表

前端 proxy 配置

开发环境前端 (5173) 自动代理 /api 到后端 (8000),无需额外配置。详见 frontend/vite.config.js

依赖安装

后端

cd backend
pip install pandas fastapi uvicorn httpx openai pyyaml python-multipart

前端

cd frontend
npm install

生成 Mock 数据(可选)

cd sample_data
python generate_mock.py    # 5 套数据各 3000 条,含真实业务规律

许可

MIT License


💡 提示:不配置 AI API Key 也可以正常使用。系统会自动使用 Demo 降级模板,Dashboard 和图表功能完全可用。

About

AI 驱动的用户行为分析与运营洞察工作台 —— 上传任意 CSV 行为数据,一键生成 Dashboard 与 AI 运营建议

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors