Skip to content

Repository files navigation

Guardian Backend (反诈智能研判后端大脑)

基于 FastAPI + LangChain + 大模型 构建的"多模态反诈智能研判系统"后端服务。本项目采用全异步架构,集成了基于 ChromaDB 的 RAG(检索增强生成)外挂知识库,以及自动化爬虫数据飞轮。


🏗️ 核心架构:三 Agent 协同

  1. Agent 1 (研判专家):接收 Android 端设备特征与文本,检索本地防诈向量库,输出高精度研判报告与处置建议。
  2. Agent 2 (洗稿内勤):配合定时爬虫,异步清洗互联网海量反诈长文,提取高维特征并持续"喂"给向量数据库,实现系统自我进化。
  3. Agent 3 (视觉刑警):接收前端截屏上传,调用多模态大模型(Vision LLM)精准识别伪造应用 UI、屏幕共享诱导等高危视觉元素。

📂 项目结构

guardian_backend/
├── app/                              # 应用核心代码目录
│   ├── __init__.py                   # 应用包初始化
│   ├── main.py                       # FastAPI 绝对入口 (生命周期与路由挂载)
│   ├── core/                         # 核心配置层
│   │   ├── __init__.py              # 核心包初始化
│   │   └── config.py                 # 强类型环境变量管理 (Pydantic V2)
│   ├── api/                          # 路由接口层
│   │   ├── __init__.py              # API 包初始化
│   │   ├── health.py                 # 探活接口
│   │   ├── analyze.py                # 文本/行为研判接口
│   │   └── vision.py                 # 多模态视觉研判接口
│   ├── schemas/                      # Pydantic 数据验证层
│   │   ├── __init__.py              # Schema 包初始化
│   │   └── payload.py                # 请求与响应模型定义
│   ├── services/                     # 业务大脑层
│   │   ├── __init__.py              # Services 包初始化
│   │   ├── agent_analyst.py          # Agent 1 核心逻辑 (含正则脱壳与兜底策略)
│   │   ├── agent_etl.py              # Agent 2 核心逻辑
│   │   ├── agent_vision.py           # Agent 3 核心逻辑
│   │   └── prompts.py                # 集中管理的 Prompt 模板库
│   ├── database/                     # 数据持久层
│   │   ├── __init__.py              # Database 包初始化
│   │   └── vector_store.py           # ChromaDB 向量数据库封装
│   └── tasks/                        # 后台异步任务层
│       ├── __init__.py              # Tasks 包初始化
│       ├── crawler.py                # 异步网络爬虫 (防屏蔽处理)
│       └── scheduler.py              # APScheduler 定时任务调度器
├── .env                              # 本地环境变量 (需配置 API KEY)
├── requirements.txt                  # Python 依赖清单
└── README.md                         # 项目说明文档

🔄 模块处理路线

文本模块处理路线

Android 端应用数据 
    ↓
POST /api/analyze 
    ↓
数据解析与验证 
    ↓
构建分析文本 
    ↓
向量数据库搜索相似案例 
    ↓
构建大模型提示词 
    ↓
LangChain 调用文字处理模型 
    ↓
解析 JSON 结果 
    ↓
构建响应对象 
    ↓
返回研判结果
    ↓ (大模型调用失败时)
基于规则的兜底分析

视觉模块处理路线

Android 端图片 
    ↓
POST /api/analyze_image 
    ↓
文件格式校验 
    ↓
读取图片并转换为 Base64 
    ↓
构建视觉模型提示词 
    ↓
AsyncOpenAI 调用视觉模型 
    ↓
解析 JSON 结果 
    ↓
返回分析结果
    ↓ (模型调用失败时)
容灾降级兜底响应

🚀 快速开始

1. 环境准备

建议使用 Python 3.10+ 环境。

# 创建虚拟环境
python -m venv venv
source venv/bin/activate  # Windows 用户使用 venv\Scripts\activate

# 安装依赖
pip install -r requirements.txt

2. 配置环境变量

在根目录创建 .env 文件,并填入你的 API 配置(推荐使用硅基流动等兼容 OpenAI 协议的服务):

# LLM API 配置
LLM_API_KEY=your_actual_api_key
LLM_BASE_URL=https://api.siliconflow.cn/v1
LLM_TEXT_MODEL_NAME=Qwen/Qwen2.5-7B-Instruct
LLM_VISION_MODEL_NAME=Qwen/Qwen2-VL-7B-Instruct

# 向量数据库配置
VECTOR_DB_PATH=./vector_db

# 服务器配置
HOST=0.0.0.0
PORT=8000

# 爬虫配置
CRAWLER_INTERVAL=86400

3. 启动服务

# 在项目根目录执行
uvicorn app.main:app --host 0.0.0.0 --port 8000

🔌 API 接口文档

1. 核心行为研判接口 (Agent 1)

分析应用包名、权限、行为特征,并结合知识库返回评估结果。

  • 接口地址:POST /api/analyze
  • 请求体示例
{
  "app_package": "com.hacker.fakefinance",
  "app_name": "内幕理财VIP",
  "permissions": ["android.permission.READ_SMS"],
  "network_connections": [],
  "suspicious_behavior": ["诱导开启屏幕共享"],
  "user_input": "网友推荐的理财APP"
}
  • 响应示例
{
  "risk_level": "high",
  "risk_type": "疑似诈骗",
  "confidence": 0.9,
  "explanation": "应用申请了敏感权限,存在诈骗风险",
  "similar_cases": ["相似案例1", "相似案例2"],
  "recommended_actions": ["立即卸载", "修改密码"]
}

2. 多模态视觉研判接口 (Agent 3)

通过图片分析界面中的诈骗风险点(如冒充公检法、诱导转账截图等)。

  • 接口地址:POST /api/analyze_image
  • 请求参数:使用 multipart/form-data 格式上传文件
    • file: 图片文件
    • user_profile: string 用户画像 (可选)
    • device_id: string 设备ID (可选)
  • 响应示例
{
  "is_true": true,
  "risk_level": "high",
  "reason": "图片中包含伪造的公检法证件,疑似诈骗"
}

3. 探活接口

  • 接口地址:GET /api/health
  • 响应示例
{
  "status": "healthy",
  "message": "Guardian Backend is running"
}

⚙️ 配置说明

配置项 说明 默认值
LLM_API_KEY 大模型 API 密钥 必填
LLM_BASE_URL 自定义模型端点 可选
LLM_TEXT_MODEL_NAME 文字处理模型名称 gpt-3.5-turbo
LLM_VISION_MODEL_NAME 视觉模型名称 gpt-4o
VECTOR_DB_PATH 向量数据库存储路径 ./vector_db
HOST 服务器监听地址 0.0.0.0
PORT 服务器监听端口 8000
CRAWLER_INTERVAL 爬虫执行间隔(秒) 86400

📋 核心功能

  1. 实时反诈研判 - 接收 Android 端数据,结合向量数据库中的案例,通过大模型进行智能研判
  2. 图像反诈识别 - 接收 Android 端上传的截图,通过多模态大模型识别图片中的诈骗元素
  3. 自动案例更新 - 定时从官方渠道抓取最新反诈案例,清洗后存入向量数据库
  4. 三 Agent 架构 - 分离研判、数据处理和视觉识别逻辑,提高系统稳定性和可维护性

About

1

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages