通用知识图谱构建平台 v1.0.0
A Modern, GUI-based Knowledge Graph Construction Platform Powered by Multi-Provider LLMs
OpenChemKG 是一个现代化的、可视化的知识图谱构建工具。它提供了一套完整的流水线,帮助用户利用大语言模型 (LLM) 从非结构化或半结构化数据中提取信息,构建任意领域的知识图谱。
- 1.选择新建数据集存在问题,不管你输入多少值,它只会是推荐实体的复制粘贴并不会新增。
- 2.用户新增定义的属性并不会生效。
- 基于 PyQt6 构建的现代化界面
- 全新设计的 现代蓝主题 配色方案 (Modern Blue)
- 深色模式 - 支持一键切换深色/浅色主题
- Toast 通知系统 - 非阻塞式操作反馈
- 实时数据统计仪表盘 (视觉升级)
- 领域配置卡片式展示
| 提供商 | 模型示例 | 特性 |
|---|---|---|
| DashScope (阿里通义) | qwen-plus, qwen-max, qwen-turbo | ✅ 完整支持 |
| OpenAI | gpt-4, gpt-4o, gpt-3.5-turbo | ✅ 完整支持 |
| DeepSeek | deepseek-chat, deepseek-coder | ✅ 完整支持 |
| Kimi (月之暗面) | moonshot-v1-8k/32k/128k | ✅ 支持联网搜索 |
| Ollama (本地部署) | llama3, qwen2, mistral | ✅ 兼容模式优化 |
- 速率限制控制: 支持 RPM/TPM/TPD 配置
- 自适应解析策略:
- 商业 API (OpenAI/DeepSeek/Kimi): 使用增强模式
- 本地模型 (Ollama): 使用兼容模式,优化小模型表现
- 自动重试机制: 指数退避策略
- AI 驱动的领域分析: 描述需求,自动生成 Schema 和实体推荐
- 灵活的实体生成: 支持 1-1000 个实体批量生成
- 可视化 Prompt 构建器: 变量插入、实时预览、模板库
CSV数据 → 数据清洗 → LLM数据富集 → 后处理 → Neo4j图构建
↓ ↓ ↓ ↓
[检查点] [检查点] [检查点] [检查点]
- 断点续传: 支持从中断处恢复长时间任务
- 并发处理: 可配置的多线程并行处理
- 进度追踪: 可视化阶段状态和进度
- 5层解析策略: 直接解析 → Markdown清理 → JSON块提取 → 格式修复 → Key-Value提取
- 模糊属性匹配: 自动映射相似属性名
- 无效值过滤: 自动识别和过滤占位符数据
- Python 3.10+
- (可选) Neo4j 数据库 (用于图构建)
- (可选) Ollama (用于本地模型)
推荐使用 uv (极速依赖管理):
# 安装 uv
pip install uv
# 克隆项目
git clone https://github.com/your-repo/OpenChemKG.git
cd OpenChemKG
# 同步依赖
uv sync或使用 pip:
pip install -r requirements.txt# 使用 uv
uv run gui.py
# 或直接使用 Python
python gui.py- 启动应用后,点击左侧 "⚙️ 设置"
- 选择 LLM 提供商 (推荐 DeepSeek 或 Kimi,性价比高)
- 填入 API Key 和 Base URL
- 点击 "刷新模型列表" 选择模型
- (可选) 配置速率限制 RPM/TPM/TPD
- 进入 "🚀 智能向导" 页面
- 描述您想构建的领域,例如:
"我想构建一个关于常见中药材的知识图谱,包含功效、性味、归经等信息"
- 点击 "🔍 AI 分析并推荐"
- AI 将自动生成:
- 推荐的实体列表
- 建议的属性 Schema
- 领域名称
- 设置生成数量 (1-1000),点击 "⚡ 生成数据集"
- 进入 "📂 数据补全" 页面
- 选择领域配置
- 导入 CSV 文件或使用已生成的数据集
- 点击 "
▶️ 开始补全" - 系统将调用 LLM 逐条补全数据
- 进入 "🏷️ 领域配置" 页面
- 管理自定义领域的:
- Schema 定义 (属性、类型、描述)
- System Prompt 和 User Prompt
- 数据来源配置
| 提供商 | Base URL | 获取 API Key |
|---|---|---|
| DashScope | https://dashscope.aliyuncs.com/compatible-mode/v1 |
阿里云控制台 |
| OpenAI | https://api.openai.com/v1 |
OpenAI Platform |
| DeepSeek | https://api.deepseek.com |
DeepSeek Platform |
| Kimi | https://api.moonshot.cn/v1 |
Moonshot Console |
| Ollama | http://localhost:11434/v1 |
本地安装 Ollama |
| 参数 | 说明 | 推荐值 |
|---|---|---|
| RPM | 每分钟请求数 | 60 |
| TPM | 每分钟 Token 数 | 100,000 |
| TPD | 每天 Token 数 | 1,000,000 |
OpenChemKG/
├── gui.py # 主 GUI 应用
├── app.py # CLI 入口
├── main.py # 流水线入口
├── config/
│ ├── settings.yaml # 用户设置
│ ├── domains.yaml # 领域配置
│ └── config.yaml # 全局配置
├── modules/
│ ├── universal_enricher.py # LLM 数据富集核心
│ ├── llm_json_parser.py # JSON 解析器
│ ├── pipeline_manager.py # 流水线管理
│ ├── data_cleaning/ # 数据清洗模块
│ ├── data_enrichment/ # 数据富集模块
│ ├── graph_construction/ # 图构建模块
│ └── post_processing/ # 后处理模块
└── data/
├── demo/ # 示例数据
└── generated/ # 生成的数据
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
Made with ❤️ by FlyWill