医疗知识工程平台 — 构建、管理和应用医疗领域知识图谱与知识库。
| # | 功能模块 | 说明 |
|---|---|---|
| 1 | 知识图谱构建 | 从非结构化文本(病历、文献、指南)中自动提取医疗实体和关系 |
| 2 | 知识库管理 | 结构化存储和高效检索医疗知识,支持语义搜索 |
| 3 | 知识推理 | 基于规则引擎和AI模型的知识推理与新知识发现 |
| 4 | 知识问答 | 自然语言查询医疗知识,支持多轮对话和证据溯源 |
| 5 | 知识可视化 | 交互式知识图谱展示,支持缩放、筛选、路径探索 |
| 6 | 数据源整合 | 对接 PubMed、临床指南、药品说明书等权威数据源 |
| 7 | API 服务 | 知识即服务(KaaS),提供 RESTful API 供外部系统调用 |
| 8 | 版本控制 | 知识的版本管理,支持回滚、对比和审计追踪 |
┌─────────────────────────────────────────────┐
│ 应用层 (Applications) │
│ 临床决策 │ 药物研发 │ 患者教育 │ 科研 │
├─────────────────────────────────────────────┤
│ 服务层 (FastAPI) │
│ 知识问答 │ 知识推理 │ 图谱查询 │ KaaS │
├─────────────────────────────────────────────┤
│ 引擎层 (Python) │
│ 知识抽取 │ NER │ 关系抽取 │ 语义检索 │
├─────────────────────────────────────────────┤
│ 存储层 │
│ Neo4j (图数据库) │ PostgreSQL │ Redis │
├─────────────────────────────────────────────┤
│ 数据源 │
│ PubMed │ 临床指南 │ 药品说明书 │ 电子病历 │
└─────────────────────────────────────────────┘
- 图数据库: Neo4j — 存储和查询知识图谱
- 后端框架: Python + FastAPI — 高性能异步 API
- NLP 引擎: spaCy / Transformers — 实体识别与关系抽取
- 检索引擎: 向量检索 + 图查询混合检索
- 前端: React + D3.js / AntV G6 — 交互式图谱可视化
ponder-knowledge-platform/
├── data/
│ ├── medical-ontology.json # 医学本体定义(疾病-症状-药物-检查)
│ └── sample-kg.json # 示例知识图谱数据
├── src/
│ ├── knowledge_extractor.py # 知识抽取模块
│ └── qa_engine.py # 知识问答引擎
├── examples/
│ └── clinical-decision.md # 临床决策支持案例
├── api/ # FastAPI 服务
├── docs/ # 项目文档
└── README.md
基于患者症状和检查结果,结合医学知识图谱,为医生提供诊断建议和治疗方案推荐。
整合药物-靶点-疾病关系,辅助药物重定位、副作用预测和临床试验设计。
将专业医学知识转化为通俗易懂的健康科普内容,支持个性化健康知识推送。
# 克隆项目
git clone https://github.com/MoKangMedical/ponder-knowledge-platform.git
cd ponder-knowledge-platform
# 安装依赖
pip install -r requirements.txt
# 启动 Neo4j(需要 Docker)
docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/password neo4j:5
# 导入示例数据
python src/knowledge_extractor.py --import data/sample-kg.json
# 启动 API 服务
uvicorn api.main:app --reload --host 0.0.0.0 --port 8000| 项目 | 定位 |
|---|---|
| OPC Platform | 一人公司全链路学习平台 |
| Digital Sage | 与100位智者对话 |
| Cloud Memorial | AI思念亲人平台 |
| 天眼 Tianyan | 市场预测平台 |
| MediChat-RD | 罕病诊断平台 |
| MedRoundTable | 临床科研圆桌会 |
| DrugMind | 药物研发数字孪生 |
| MediPharma | AI药物发现平台 |
| Minder | AI知识管理平台 |
| Biostats | 生物统计分析平台 |
MIT License — 详见 LICENSE
| 功能 | 响应时间 | 准确率 |
|---|---|---|
| 实体识别 | <100ms | 95% |
| 关系抽取 | <200ms | 88% |
| 知识问答 | <500ms | 82% |
| 图谱查询 | <50ms | 99% |
输入:阿司匹林和华法林可以一起用吗?
输出:不建议同时使用。阿司匹林增强华法林的抗凝作用,增加出血风险。
输入:2型糖尿病的常见并发症有哪些?
输出:视网膜病变、肾病、神经病变、心血管疾病、足病
neo4j:
uri: bolt://localhost:7687
user: neo4j
password: your_passwordapi:
host: 0.0.0.0
port: 8000
workers: 4支持自定义实体类型和关系类型,可扩展医学本体。
支持从PubMed、ClinicalTrials等数据源批量导入知识。
所有知识条目支持版本管理,可追溯修改历史。
支持基于角色的访问控制(RBAC),保护敏感数据。
- 热点数据Redis缓存
- 查询结果缓存
- 图谱预计算
- 全文索引
- 向量索引
- 复合索引
通过REST API与医院信息系统对接。
支持接入GPT-4、Claude等大模型进行知识问答。
自动从PubMed检索最新文献并更新知识库。