nirajmehta960/SavVio
GitHub: nirajmehta960/SavVio
一个AI驱动的财务倡导工具,通过三层决策引擎与MLOps流水线实现负责任的电商购买推荐。
Stars: 0 | Forks: 2
# SavVio
一个由人工智能驱动的财务倡导工具,旨在弥合电子商务与个人理财之间的差距。SavVio 充当“财务受托人”,根据用户的实时财务状况和产品的实际效用,评估用户是否应该进行购买。
## 项目概述
SavVio 是一个全面的 MLOps 项目,它将实时产品数据与敏感的财务流相结合,提供负责任的对话式购物指导。与专注于最大化转化率的传统购物助手不同,SavVio 基于以下因素评估购买行为:
- **财务健康**:用户的收入、支出、储蓄和债务义务。
- **产品效用**:对产品规格和实际用途的分析。
- **可负担性指标**:计算出的可自由支配预算和剩余效用分数。
系统在用户完成购买前提供绿灯/黄灯/红灯推荐。
## 在线部署(生产环境)
| 组件 | 状态 | 服务 | URL |
|------|------|------|-----|
| 前端 UI | 运行中 | React / Vite / Tailwind | [https://savvio-ai-ebw2ryzjkq-ue.a.run.app](https://savvio-ai-ebw2ryzjkq-ue.a.run.app) |
| 推理 API | 运行中 | FastAPI / uvicorn | [https://savvio-backend-api-ebw2ryzjkq-ue.a.run.app](https://savvio-backend-api-ebw2ryzjkq-ue.a.run.app) |
| 模型注册表 | 运行中 | MLflow / GCS | [https://savvio-ai-mlflow-ebw2ryzjkq-ue.a.run.app](https://savvio-ai-mlflow-ebw2ryzjkq-ue.a.run.app) |
| 数据管道 | 活跃 | Airflow / Postgres | [http://34.26.252.164:8080](http://34.26.252.164:8080/) |
| 可观测性 | 健康 | Grafana Cloud | [SavVio 监控仪表板](https://nirajmehta2410.grafana.net/d/savvio-monitoring-v1/savvio-e28094-api-and-inference-monitoring) |
## 技术实现
### 1. 数据管道编排
数据管道由运行在 GCE 上的 Apache Airflow 管理,负责:
- 自动摄取财务和产品数据集。
- 使用 Spark 和 Pandas 进行数据清洗和标准化。
- 对财务比率和评论进行特征工程与情感分析。
- 使用 DVC 进行数据版本化,并存储在 Google Cloud SQL 和 GCS 中。
### 2. 模型开发与训练
平台采用复杂的 ML 管道:
- **XGBoost 分类器**:基于历史财务结果训练,用于预测购买可行性。
- **Optuna 优化**:自动超参数调优以确保模型最佳性能。
- **偏差检测**:集成指标用于检测并缓解不同人群切片中的偏差。
- **实验追踪**:通过 MLflow 完整记录血统和性能。
### 3. 推理与决策逻辑
系统采用三层决策引擎以确保受托责任:
- **确定性层**:强制执行严格预算和应急资金护栏的权威财务规则。
- **ML 层**:识别消费者行为中风险模式的概率评分。
- **生成层**:OpenRouter LLM(默认:Gemini 2.0 Flash)用于对话式解释,由代码级护栏验证。
### 4. 监控与可观测性
持续监控确保系统保持可靠与准确:
- **系统指标**:通过 Prometheus 和 Grafana 实时跟踪 API 延迟和吞吐量。
- **模型漂移**:使用 Evidently AI 进行漂移检测,识别性能衰减。
- **数据质量**:通过 Great Expectations 进行模式与异常监控。
## 项目结构
```
SavVio/
├── data_pipeline/ # Data ingestion and preprocessing
├── model_pipeline/ # ML model training and evaluation
├── deployment/ # Inference API, Frontend, and Monitoring
│ ├── api/ # FastAPI service
│ ├── frontend/ # React web application
│ ├── monitoring/ # Prometheus and Grafana configuration
├── infrastructure/ # Terraform and GCP configuration
└── .github/workflows/ # CI/CD pipeline definitions
```
## 技术栈
| 类别 | 使用的工具 |
|------|-----------|
| 云平台 | Google Cloud Platform (GCP) |
| 基础设施 | Terraform, Docker |
| 后端 | FastAPI (Python) |
| 前端 | React, Vite, Tailwind CSS |
| 编排 | Apache Airflow |
| ML 框架 | XGBoost, Scikit-learn, Optuna |
| 可观测性 | Prometheus, Grafana, Evidently AI |
| 数据库 | PostgreSQL (Cloud SQL) |
| 版本控制 | Git, DVC |
## 本地设置
### 1. 克隆仓库
```
git clone https://github.com/nirajmehta960/SavVio.git
cd SavVio
```
### 2. 通过 Docker Compose 启动完整栈(推荐)
同时启动 Postgres、API 和前端:
```
cp .env.example .env # fill in DB_USER, DB_PASSWORD, DB_NAME, OPEN_ROUTER_API_KEY
docker compose up --build
# 前端: http://localhost:8501
# API: http://localhost:8080
# API 文档: http://localhost:8080/docs
```
### 3. 仅运行 API(不使用 Docker)
```
python -m venv .venv && source .venv/bin/activate
pip install -e savviocore
pip install -r deployment/requirements.txt
cp .env.example .env # fill in DB_* and OPEN_ROUTER_API_KEY
export $(grep -v '^#' .env | xargs)
./deployment/api/run_api.sh
```
### 4. 仅运行前端(不使用 Docker)
```
cd deployment/frontend
bun install # or: npm install
bun run dev # or: npm run dev
# 代理 /api → http://localhost:3500 (参见 vite.config.ts)
```
**注意**:这是一个学术项目。本 README 反映了已完成的技术工作。
标签:AI驱动, Apache Airflow, Apex, API集成, AV绕过, CI/CD自动化, DLL 劫持, FastAPI, Google Cloud Platform, MLflow, MLOps, React, SEO: AI金融推荐, SEO: 智能消费建议, SEO: 财务健康评分, Syscalls, Tailwind CSS, Vite, 个人理财, 产品效用分析, 剩余效用评分, 可支配预算, 可观测性, 大语言模型, 实时金融, 数据清洗, 数据管道, 机器学习, 测试用例, 消费推荐引擎, 漂移检测, 生产部署, 电商, 监控仪表板, 确定性规则, 绿色黄色红色指示灯, 自定义请求头, 请求拦截, 负责任的购物指导, 财务健康评估, 财务托管, 软件工程, 金融倡导