本项目是一个现代化的知识图谱可视化应用模板,旨在帮助开发者快速构建、部署和定制自己的图谱应用。
- 现代化技术栈: React + TypeScript + AntV G6,提供高效、可靠的开发体验。
- 模块化设计: 清晰的项目结构,易于扩展和维护。
- 配置驱动: 通过简单的配置即可定制应用标题、数据源、样式等。
- 端到端解决方案: 包含从知识抽取、数据存储到前端可视化的完整工作流。
- 前端: React, TypeScript, AntV G6, Ant Design, Vite
- 后端 (示例): Python, Neo4j
- 知识抽取 (示例): kg-gen(基于大语言模型)
- Node.js >= 18.0.0
- Python 3.8+
- Docker
cd frontend
npm install
npm run dev应用将在 http://localhost:3000 启动。
docker run --name neo4j-graph-template \
    -p 7474:7474 -p 7687:7687 \
    -d \
    -e NEO4J_AUTH=neo4j/your_password \
    neo4j:latest- 将你的文本数据放入 data/目录。
- 配置 Python 虚拟环境并安装依赖:
pip install -r requirements.txt 
- (可选) 运行知识抽取脚本:
# 需要设置 OPENAI_API_KEY 环境变量 python scripts/extract_kg.py
- 将抽取出的 data/kg_data.json导入 Neo4j:python scripts/import_to_neo4j.py 
- 应用信息: 修改 frontend/src/config.ts文件,可以更改应用标题、副标题和社交二维码等信息。
- 示例数据: frontend/src/utils/mockData.ts提供了前端的模拟数据结构,你可以根据自己的需求进行修改。
- 图谱样式: 在 frontend/src/constants/graph.ts中,你可以定义新的节点、边的类型、颜色、大小和布局配置。
- 修改 Prompt: 在 scripts/extract_kg.py中,你可以修改context_prompt来指导大语言模型抽取出你需要的实体和关系。
- 更换模型: kg-gen支持多种大语言模型,详情请参考其官方文档。
.
├── data/                         # 数据目录 (用于存放原始数据和抽取结果)
├── scripts/                      # 脚本目录 (知识抽取、数据导入等)
├── frontend/                     # 前端应用目录
│   ├── src/
│   │   ├── components/           # React组件
│   │   ├── config.ts             # 应用配置文件
│   │   ├── constants/            # 图谱常量配置
│   │   └── utils/                # 工具函数与模拟数据
│   └── package.json
└── README.md                     # 项目主说明
欢迎通过 Pull Request 或 Issues 为本项目做出贡献。
本项目采用 MIT 许可证。