知识图谱领域包生成器

一个通过自然语言对话创建和管理知识图谱领域包的全栈应用,采用AI辅助配置编辑和确定性后端验证。

  • by Jkotwal01
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Jkotwal01/Domian_pack_mcp_server

使用说明

域包生成器

构建和管理 知识图谱域包 通过对话。用简单的英语描述你想要什么——人工智能理解你的意图,并安全地将结构化更改应用于你的配置。

文档

文档 描述
后端/README.md 完整的后端架构、聊天机器人逐节点演练、补丁应用程序参考和开发人员设置
前端/README.md 前端设置指南和项目结构

这是什么?

域包生成器 是一个用于创建和编辑的全栈应用程序 域包 --结构化JSON/YAML配置,定义知识图的实体、关系、提取模式和词汇表。

您无需手动编辑JSON 与AI助手聊天 它将您的自然语言转化为精确、经过验证的配置更改。后端在每一步都强制执行安全性、模式合规性和版本控制。


运作原理

You: "Add a Patient entity with name and age attributes."
         │
         ▼
   [AI understands intent]   ← GPT-4o-mini classifies your message
         │
         ▼
   [AI generates a patch]    ← Structured JSON patch plan is created
         │
         ▼
   [Python applies patch]    ← Pure deterministic code, no LLM involvement
         │
         ▼
   [Schema validates result] ← Pydantic checks the updated config
         │
         ▼
   [You confirm]             ← You review and approve the change
         │
         ▼
   [Config is saved]         ← Versioned and persisted to PostgreSQL

LLM从不直接编辑您的数据。 它只产生一个计划。所有的突变、验证和存储都由确定性Python后端逻辑处理。


主要特点

特性 描述
🤖 AI聊天界面 自然语言域包编辑——无需JSON
🔒 LLM安全架构 LLM仅对意图进行分类并生成补丁计划;Python做所有的突变
✅ 模式验证 每个更改在保存之前都会根据Pydantic模式进行验证
📊 LLM监控 每个节点令牌使用和延迟仪表板
📁 文件上传 上传现有的YAML/JSON配置以给编辑器添加种子
🔐 认证系统 基于JWT的身份验证;所有数据都是用户范围的

域包结构

域包是一个包含四个部分的JSON文档:

{
  "name": "Healthcare Domain",
  "description": "Medical knowledge graph for clinical NLP",
  "version": "1.2.0",
  "entities": [
    {
      "name": "Patient",
      "type": "PATIENT",
      "description": "A person receiving medical care",
      "attributes": [
        { "name": "name", "description": "Patient full name", "examples": ["John Doe"] },
        { "name": "age",  "description": "Patient age in years", "examples": ["34"] }
      ],
      "synonyms": ["client", "individual"]
    }
  ],
  "relationships": [
    {
      "name": "TREATED_BY",
      "from": "PATIENT",
      "to": "DOCTOR",
      "description": "Links a patient to their treating physician",
      "attributes": []
    }
  ],
  "extraction_patterns": [
    {
      "pattern": "\\d{1,3} years? old",
      "entity_type": "PATIENT",
      "attribute": "age",
      "extract_full_match": true,
      "confidence": 0.95
    }
  ],
  "key_terms": ["diagnosis", "treatment", "prescription", "symptom"]
}

项目结构

domain-pack-mcp/
├── backend/        # FastAPI + LangGraph API server
│   └── README.md   # ← Full backend docs, chatbot deep-dive, setup guide
├── frontend/       # React + Vite SPA
│   └── README.md   # ← Full frontend docs, component reference, setup guide
└── templates/      # Pre-built domain pack YAML templates

快速开始

1.启动后端

cd backend
python -m venv .venv && .venv\Scripts\Activate.ps1   # Windows
pip install -r requirements.txt
# Configure .env with DATABASE_URL, SECRET_KEY, OPENAI_API_KEY
uvicorn app.main:app --reload --port 8000

→ See 后端/README.md 查看完整的设置指南。

2.启动前端

cd frontend
npm install
# Set VITE_API_BASE_URL=http://localhost:8000 in .env
npm run dev

→ See 前端/README.md 查看完整的设置指南。

3.打开应用程序

访问 http://localhost:5173,注册帐户,创建域,然后开始聊天。


技术栈

层 技术
前端 React 18、Vite、顺风CSS、React路由器v6
后端 Python 3.11、FastAPI、LangGraph、LangChain
人工智能 OpenAI GPT-4o-mini(意图分类+补丁生成)
数据库 PostgreSQL 14+与SQLAlchemy ORM+Alembic迁移
认证 带有bcrypt密码哈希的JWT(JSON Web令牌)