2. 环境准备:Python环境、PyTorch Geometric安装、Neo4j图数据库搭建、看板前端依赖安装

搭建GraphSAGE团伙识别模型看板,首先需要完成底层开发环境的配置。本章将依次完成Python基础环境、图神经网络框架PyTorch Geometric、图数据库Neo4j以及看板前端依赖的安装与验证。请按照以下步骤操作,确保各组件版本兼容。

2.1 Python环境与虚拟环境配置

推荐使用Python 3.9–3.11版本,并通过虚拟环境隔离项目依赖。以下为推荐的环境配置清单:

组件 推荐版本 说明
Python 3.10.12 兼容PyTorch 2.x与PyG最新稳定版
pip ≥23.0 用于包管理
venv / conda 任意 推荐conda管理CUDA依赖
CUDA Toolkit 11.8 或 12.1 根据GPU驱动版本选择
💡 提示: 如果使用CPU训练,可跳过CUDA安装,PyTorch会自动选择CPU版本。但GraphSAGE在大规模团伙图上训练时,强烈建议使用GPU加速。

创建并激活虚拟环境:

# 使用conda创建环境
conda create -n graphsage_env python=3.10 -y
conda activate graphsage_env

# 或使用venv
python -m venv graphsage_env
source graphsage_env/bin/activate  # Linux/Mac
# graphsage_env\Scripts\activate   # Windows

2.2 PyTorch Geometric (PyG) 安装

PyG是构建GraphSAGE模型的核心框架。安装时需确保PyTorch版本与PyG版本匹配。以下为安装步骤:

  1. 安装PyTorch(以CUDA 11.8为例):
pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu118
  1. 安装PyG核心库:
pip install torch_geometric==2.4.0
  1. 安装PyG扩展库(根据操作系统选择对应wheel):
# 以Linux + CUDA 11.8为例
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.1.0+cu118.html
⚠️ 注意: 扩展库必须与PyTorch和CUDA版本严格对应。如果安装失败,请访问 https://data.pyg.org/whl/ 查找匹配的wheel文件名。

验证安装:

python -c "import torch; print('PyTorch:', torch.__version__); import torch_geometric; print('PyG:', torch_geometric.__version__)"

预期输出示例:

PyTorch: 2.1.0+cu118
PyG: 2.4.0

2.3 Neo4j图数据库搭建

Neo4j用于存储团伙关系数据,并提供Cypher查询接口。本课程使用Neo4j Community Edition 5.x + APOC插件。

2.3.1 安装方式对比

方式 适用场景 安装命令/步骤
Docker部署(推荐) 快速启动、环境隔离 docker run -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/password neo4j:5.12.0
桌面版安装 本地开发调试 下载Neo4j Desktop,创建Local DBMS,设置密码
Linux tar包安装 服务器部署 解压tar包,配置neo4j.conf,运行./bin/neo4j start
💡 提示: 本课程使用Docker方式。启动后访问 http://localhost:7474 进入Neo4j Browser,使用默认账号 neo4j 和密码 password 登录。

2.3.2 安装APOC插件

APOC提供丰富的图算法和函数,用于后续团伙识别中的关系分析。Docker方式安装APOC:

# 下载APOC jar包到plugins目录
wget https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/5.12.0/apoc-5.12.0-core.jar
docker cp apoc-5.12.0-core.jar neo4j_container:/plugins/

# 重启容器
docker restart neo4j_container

验证APOC是否生效:在Neo4j Browser中执行 RETURN apoc.version();,应返回版本号。

2.4 看板前端依赖安装

看板前端基于Vue 3 + Vite + ECharts构建,用于展示团伙识别结果和关系图谱。

2.4.1 前端项目初始化

# 创建Vue 3项目
npm create vite@latest graphsage-dashboard -- --template vue
cd graphsage-dashboard

# 安装核心依赖
npm install vue-router@4 pinia axios echarts vue-echarts

# 安装开发依赖
npm install -D @types/node sass

2.4.2 依赖清单

包名 版本 用途
vue ^3.4.0 前端框架
vue-router ^4.2.0 路由管理
pinia ^2.1.0 状态管理
axios ^1.6.0 HTTP请求(调用后端API)
echarts ^5.5.0 关系图/柱状图/饼图渲染
vue-echarts ^6.6.0 ECharts的Vue 3封装
sass ^1.69.0 样式预处理
⚠️ 注意: 如果使用npm安装时遇到权限错误,请尝试 npm cache clean --force 后重试。确保Node.js版本 ≥ 18。

2.5 环境架构总览

下图展示了本课程完整的开发环境架构,各组件之间的数据流向和依赖关系:

GraphSAGE团伙识别看板环境架构图 GraphSAGE团伙识别看板 — 环境架构总览 Neo4j 图数据库 团伙关系存储 · Cypher查询 Python 数据处理层 Pandas · NumPy · 特征工程 PyG 图神经网络 GraphSAGE · 模型训练 FastAPI 后端服务 模型推理API · 数据查询接口 · 团伙识别结果返回 Vue 3 + ECharts 前端看板 团伙关系可视化 · 风险指标展示 · 交互式查询 数据流向:Neo4j → Python特征工程 → PyG模型训练 → FastAPI服务 → Vue看板展示

2.6 环境验证清单

完成上述安装后,请逐项检查以下内容,确保环境就绪:

  • Python环境:python --version 输出 3.10.x
  • PyTorch + CUDA:python -c "import torch; print(torch.cuda.is_available())" 返回 True(如有GPU)
  • PyG:python -c "from torch_geometric.nn import SAGEConv; print('SAGEConv imported successfully')"
  • Neo4j:浏览器访问 http://localhost:7474 可正常登录
  • 前端项目:在 graphsage-dashboard 目录下执行 npm run dev,浏览器访问 http://localhost:5173 显示Vue默认页面