Skip to content

SiderLock/UniversalKnowledgeGraghBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧪 OpenChemKG

通用知识图谱构建平台 v1.0.0

A Modern, GUI-based Knowledge Graph Construction Platform Powered by Multi-Provider LLMs

Python PyQt6 License LLM

OpenChemKG 是一个现代化的、可视化的知识图谱构建工具。它提供了一套完整的流水线,帮助用户利用大语言模型 (LLM) 从非结构化或半结构化数据中提取信息,构建任意领域的知识图谱。


✨ v1.0.0 核心特性

已知问题

  • 1.选择新建数据集存在问题,不管你输入多少值,它只会是推荐实体的复制粘贴并不会新增。
  • 2.用户新增定义的属性并不会生效。

🎨 现代化 GUI 界面

  • 基于 PyQt6 构建的现代化界面
  • 全新设计的 现代蓝主题 配色方案 (Modern Blue)
  • 深色模式 - 支持一键切换深色/浅色主题
  • Toast 通知系统 - 非阻塞式操作反馈
  • 实时数据统计仪表盘 (视觉升级)
  • 领域配置卡片式展示

🤖 多 LLM 提供商支持

提供商 模型示例 特性
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 ✅ 兼容模式优化

⚡ 智能 API 调度

  • 速率限制控制: 支持 RPM/TPM/TPD 配置
  • 自适应解析策略:
    • 商业 API (OpenAI/DeepSeek/Kimi): 使用增强模式
    • 本地模型 (Ollama): 使用兼容模式,优化小模型表现
  • 自动重试机制: 指数退避策略

📝 智能领域向导

  • AI 驱动的领域分析: 描述需求,自动生成 Schema 和实体推荐
  • 灵活的实体生成: 支持 1-1000 个实体批量生成
  • 可视化 Prompt 构建器: 变量插入、实时预览、模板库

🔄 完整数据流水线

CSV数据 → 数据清洗 → LLM数据富集 → 后处理 → Neo4j图构建
            ↓           ↓              ↓          ↓
         [检查点]    [检查点]      [检查点]    [检查点]
  • 断点续传: 支持从中断处恢复长时间任务
  • 并发处理: 可配置的多线程并行处理
  • 进度追踪: 可视化阶段状态和进度

🔧 增强的 JSON 解析器

  • 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

📖 使用指南

1️⃣ 配置 API (首次使用)

  1. 启动应用后,点击左侧 "⚙️ 设置"
  2. 选择 LLM 提供商 (推荐 DeepSeek 或 Kimi,性价比高)
  3. 填入 API Key 和 Base URL
  4. 点击 "刷新模型列表" 选择模型
  5. (可选) 配置速率限制 RPM/TPM/TPD

2️⃣ 智能向导 (推荐新用户)

  1. 进入 "🚀 智能向导" 页面
  2. 描述您想构建的领域,例如:

    "我想构建一个关于常见中药材的知识图谱,包含功效、性味、归经等信息"

  3. 点击 "🔍 AI 分析并推荐"
  4. AI 将自动生成:
    • 推荐的实体列表
    • 建议的属性 Schema
    • 领域名称
  5. 设置生成数量 (1-1000),点击 "⚡ 生成数据集"

3️⃣ 数据补全

  1. 进入 "📂 数据补全" 页面
  2. 选择领域配置
  3. 导入 CSV 文件或使用已生成的数据集
  4. 点击 "▶️ 开始补全"
  5. 系统将调用 LLM 逐条补全数据

4️⃣ 领域管理

  1. 进入 "🏷️ 领域配置" 页面
  2. 管理自定义领域的:
    • Schema 定义 (属性、类型、描述)
    • System Prompt 和 User Prompt
    • 数据来源配置

🔧 配置说明

API 提供商配置

提供商 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

About

这是一个通用的知识图谱构建器,旨在尝试从模型中筛选出有效数据或从模型中提取数据来补全属性/A universal knowledge graph builder designed to attempt to filter valid data from the model or extract data from the model to complete existing entities.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages