在线演示地址:http://45.192.100.236/
一个基于深度学习的文学作品知识图谱分析系统,能够自动分析文本内容,提取人物、势力、事件等信息,并以知识图谱的形式可视化展示。
-
文本分析
- 支持 TXT、PDF、DOCX 格式文件上传
- 支持文本直接粘贴分析
- 自动识别文章所属作品和标题
- 智能提取人物、势力、事件等信息
-
知识图谱
- 可视化展示人物关系网络
- 支持多作品管理
- 展示势力分布
- 事件时间线展示
-
数据分析
- 人物关系分析
- 势力分布分析
- 事件分析
- 数据导出功能
- Python 3.8+
- Django 4.2
- Django REST framework
- Neo4j 图数据库
- MySQL 数据库
- DeepSeek API 集成
- Vue.js 3
- Element Plus UI
- ECharts 图表库
- Vite 构建工具
- Docker
- Docker Compose
- Kubernetes
- Nginx
- Python 3.8+
- Node.js 16+
- Docker 20.10+
- Docker Compose 2.0+
- Neo4j 4.4+
- MySQL 8.0+
- 克隆项目
git clone https://github.com/tigerbreak/knowledge-graph-analysis.git
cd knowledge-graph-analysis- 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置必要的环境变量- 启动服务
docker-compose up -d- 构建镜像
docker build -t your-registry/knowledge-graph-analysis:latest -f backend.Dockerfile .
docker build -t your-registry/knowledge-graph-analysis-frontend:latest -f frontend.Dockerfile .- 推送镜像
docker push your-registry/knowledge-graph-analysis:latest
docker push your-registry/knowledge-graph-analysis-frontend:latest- 部署到 Kubernetes
kubectl apply -f k8s/-
访问系统
- 打开浏览器访问
http://localhost:30080 - 默认端口可在 docker-compose.yml 中修改
- 打开浏览器访问
-
上传分析
- 点击"新建分析"按钮
- 选择上传文件或粘贴文本
- 点击"开始分析"
-
查看结果
- 在左侧面板选择要查看的作品
- 切换表格/图谱视图
- 点击节点查看详细信息
-
数据管理
- 在左侧面板可以删除不需要的分析
- 使用图谱视图可以直观地查看关系
knowledge-graph-analysis/
├── backend/ # 后端服务
├── frontend/ # 前端服务
├── knowledge_graph/ # Django 应用
├── k8s/ # Kubernetes 配置
├── src/ # 前端源代码
├── docker-compose.yml # Docker Compose 配置
├── backend.Dockerfile # 后端 Dockerfile
└── frontend.Dockerfile # 前端 Dockerfile
- 创建虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows- 安装依赖
pip install -r requirements.txt- 运行开发服务器
python manage.py runserver- 安装依赖
cd frontend
npm install- 运行开发服务器
npm run dev系统首页展示最新的分析结果和统计信息,支持快速开始新的分析任务
以图谱形式展示文章中的实体关系,支持节点拖拽、缩放和关系探索
以表格形式展示分析结果,支持排序、筛选和导出数据
展示人物之间的复杂关系网络,支持多维度分析和关系路径探索
- 操作系统:CentOS 7+
- 内存:至少 1GB
- 磁盘:至少 10GB 可用空间
- Docker 版本:20.10+
- Docker Compose 版本:2.0+
在数据库服务器的 GitHub Secrets 中配置:
# 服务器配置
DB_SERVER_IP= # 数据库服务器IP
DB_SERVER_USER= # 服务器用户名
DB_SERVER_PASSWORD= # 服务器密码
# Neo4j配置
NEO4J_USER= # Neo4j用户名,默认为 neo4j
NEO4J_PASSWORD= # Neo4j密码,默认为 root123321
# MySQL配置
MYSQL_ROOT_PASSWORD= # MySQL root密码,默认为 123456
MYSQL_DATABASE= # MySQL数据库名,默认为 knowledge_graph
MYSQL_USER= # MySQL用户名,默认为 root
MYSQL_PASSWORD= # MySQL密码,默认为 123456
MYSQL_PORT= # MySQL端口,默认为 3307-
准备工作
- 安装 Docker 和 Docker Compose
- 开放必要端口(MySQL: 3307, Neo4j: 7474, 7687)
- 创建数据目录:
mkdir -p /data/mysql mkdir -p /data/neo4j
-
自动部署触发
- 推送到
release/v1.0.3分支时自动触发 - 当以下文件发生变化时触发:
docker/docker-compose.db.ymldeploy/deploy-db.sh
- 或手动在 GitHub Actions 中触发
- 推送到
-
部署步骤
- 自动连接到数据库服务器
- 复制部署文件到服务器
- 执行部署脚本
- 验证服务状态
-
验证部署
- 检查 MySQL:
docker exec -it mysql mysql -uroot -p - 检查 Neo4j:
curl http://localhost:7474
- 检查容器状态:
docker ps
- 检查 MySQL:
-
部署后配置
- 设置数据库备份策略
- 配置监控告警
- 设置资源限制
- 配置安全策略
- 操作系统:CentOS 7+
- 内存:至少 1GB
- 磁盘:至少 5GB 可用空间
- Docker 版本:20.10+
- Docker Compose 版本:2.0+
在应用服务器的 GitHub Secrets 中配置:
# 服务器配置
SERVER_IP= # 部署服务器IP
SERVER_USER= # 服务器用户名
SERVER_PASSWORD= # 服务器密码
# 项目配置
PROJECT_NAME= # 项目名称,默认为 myproject
# 阿里云容器镜像服务配置
ALIYUN_REGISTRY= # 镜像仓库地址,默认为 registry.cn-hongkong.aliyuncs.com
ALIYUN_NAMESPACE= # 命名空间,默认为 tongihttigerbreak
ALIYUN_REPOSITORY= # 仓库名称,默认为 tigerhouse
ALIYUN_USERNAME= # 阿里云账号
ALIYUN_PASSWORD= # 阿里云密码
# 数据库连接配置
DB_SERVER_IP= # 数据库服务器IP-
触发条件
- 推送到
release/v1.0.3分支时自动触发 - 手动在 GitHub Actions 中触发
- 仅当以下文件发生变化时触发:
docker/docker-compose.ymldeploy/deploy.shfrontend/目录下的文件backend/目录下的文件
- 推送到
-
部署流程
- 自动连接到部署服务器
- 替换环境变量
- 拉取最新镜像
- 停止并删除旧容器
- 启动新容器
- 清理旧镜像
-
验证部署
- 检查容器状态:
docker-compose ps - 检查服务日志:
docker-compose logs - 访问前端页面:
http://服务器IP - 访问后端API:
http://服务器IP:8000
- 检查容器状态:
-
数据库维护
- 定期备份数据
- 监控数据库性能
- 及时更新数据库版本
- 设置合适的资源限制
-
应用维护
- 定期更新应用版本
- 监控应用性能
- 设置日志轮转
- 配置监控告警
-
安全建议
- 使用强密码
- 限制服务器访问IP
- 启用防火墙
- 定期更新系统和依赖
- 配置 SSL 证书
-
故障处理
- 保存部署日志
- 建立回滚机制
- 准备应急方案
- 定期进行故障演练
// ... existing code ...



