# ontology-platform **Repository Path**: kazzz/ontology-platform ## Basic Information - **Project Name**: ontology-platform - **Description**: 本体建模平台 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ontology Platform
面向演示场景的 AI 驱动数据平台
--- ## 简介 Ontology Platform 是一个集成了 **Skill 智能编排**、**数据集成处理**、**知识图谱可视化** 的一体化平台。通过自然语言与系统交互,实现数据的自动化处理与分析。 ### 核心特性 - 🤖 **Skill 引擎** - 基于意图识别的智能技能调度系统 - 📊 **数据集成** - 支持多数据源接入、流水线处理、数据集管理 - 🕸️ **知识图谱** - Memgraph 驱动的技能关系图谱可视化 - ☁️ **对象存储** - RustFS 兼容 S3 协议的文件归档与数据集存储 - 🔧 **低代码配置** - 通过 UI 配置数据源、流水线,自动生成处理逻辑 --- ## 核心功能 ### 1. Skill 编排引擎 | 功能 | 描述 | |------|------| | 意图识别 | 基于规则 + LLM 的用户意图分类 | | 技能路由 | 自动匹配并执行最合适的 Skill | | 技能图谱 | 可视化展示 Skill 间的依赖与相似关系 | | 会话记忆 | 支持多轮对话上下文保持 | **内置 Skills:** - `code-generator` - 代码生成 - `db-query` - SQL 数据库查询 - `db-admin` - 数据库管理(DDL) - `data-analyzer` - 数据分析与可视化 - `graph-query` - 图数据库查询 ### 2. 数据集成模块 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ 数据源 │───▶│ 流水线 │───▶│ 数据集 │ │ DB/API/FILE│ │ 处理逻辑 │ │ 产物存储 │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └──────────────────┴──────────────────┘ SQLite 元数据 ``` - **数据源管理** - 支持数据库、API、文件三种类型 - **流水线编排** - 可视化配置数据处理流程 - **数据集版本** - 自动版本控制与产物归档 - **执行日志** - 完整的执行记录与错误追踪 ### 3. 系统监控 - 实时健康检查(SQLite、Memgraph、RustFS) - Skill 注册状态与意图统计 - 数据集成执行概览 --- ## 技术架构 ### 后端技术栈 | 组件 | 用途 | |------|------| | [FastAPI](https://fastapi.tiangolo.com/) | Web 框架 / API 服务 | | [SQLite](https://sqlite.org/) | 统一元数据存储 | | [Memgraph](https://memgraph.com/) | 图数据库 / 技能关系图谱 | | [boto3](https://boto3.amazonaws.com/) | S3 兼容对象存储访问 | | OpenAI / Qwen | 意图识别 LLM(可选) | ### 前端技术栈 | 组件 | 用途 | |------|------| | [React 18](https://react.dev/) | UI 框架 | | [Ant Design](https://ant.design/) | 组件库 | | [ECharts](https://echarts.apache.org/) | 数据可视化 | | [Zustand](https://github.com/pmndrs/zustand) | 状态管理 | ### 数据流架构 ``` ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ Frontend │◀───▶│ FastAPI │◀───▶│ SQLite │ │ (React) │ │ Backend │ │ (Metadata) │ └─────────────┘ └──────┬──────┘ └─────────────┘ │ ┌────────────┼────────────┐ ▼ ▼ ▼ ┌─────────┐ ┌─────────┐ ┌─────────┐ │Memgraph │ │ RustFS │ │ Skills │ │(Graph) │ │ (Object)│ │(Execute)│ └─────────┘ └─────────┘ └─────────┘ ``` --- ## 快速开始 ### 环境要求 - Python 3.10+ - Node.js 18+ - Docker & Docker Compose(可选) ### 1. 配置环境变量 ```bash cp .env.example .env ``` 编辑 `.env` 文件,配置以下关键项: ```env # 数据库 APP_DB_PATH=data/sqlite/ontology_platform.db # RustFS 对象存储 RUSTFS_HOST=localhost RUSTFS_PORT=29000 RUSTFS_USERNAME=admin RUSTFS_PASSWORD=Changeme_123 RUSTFS_BUCKET=ontology-poc # LLM(可选,用于意图识别) QWEN_API_KEY=your_api_key QWEN_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 ``` ### 2. 一键启动(Windows) ```bat startup.bat ``` 启动后会自动打开: - 🌐 前端界面:http://localhost:3000 - 🔧 后端 API:http://localhost:8000 - 📚 API 文档:http://localhost:8000/docs ### 3. 手动启动 **后端:** ```bash cd backend python -m venv venv venv\Scripts\activate # Windows # source venv/bin/activate # Linux/Mac pip install -r requirements.txt python -m backend.main ``` **前端:** ```bash cd frontend npm install npm run dev ``` ### 4. Docker Compose 启动 ```bash # 启动所有服务 docker compose up -d # 查看日志 docker compose logs -f backend # 停止服务 docker compose down ``` > **注意:** RustFS 作为外部服务,需单独启动或使用已有的 S3 兼容存储。 --- ## API 文档 ### 健康检查 | 端点 | 说明 | |------|------| | `GET /health` | 轻量存活探测 | | `GET /health/dependencies` | 依赖服务状态详情 | ### 核心 API | 端点 | 说明 | |------|------| | `POST /api/process` | Skill 意图处理入口 | | `GET /api/skills` | 获取已注册 Skills | | `GET /api/skill-graph` | 获取技能图谱数据 | ### 数据集成 API | 端点 | 说明 | |------|------| | `GET /api/data-integration/overview` | 数据集成概览 | | `GET /api/data-integration/datasource/list` | 数据源列表 | | `GET /api/data-integration/pipeline/list` | 流水线列表 | | `GET /api/data-integration/dataset/list` | 数据集列表 | 完整 API 文档请访问:http://localhost:8000/docs --- ## 项目结构 ``` ontology-poc/ ├── backend/ # 后端服务 │ ├── api/ # API 路由 │ ├── data_integration/ # 数据集成模块 │ ├── database/ # 数据库连接(SQLite/Memgraph) │ ├── orchestrator/ # Skill 编排核心 │ │ ├── agent.py # 主编排 Agent │ │ ├── registry.py # Skill 注册表 │ │ ├── router.py # 技能路由 │ │ └── intent_classifier.py # 意图分类 │ ├── skills/ # Skill 实现 │ │ ├── code-generator/ │ │ ├── db-query/ │ │ ├── db-admin/ │ │ ├── data-analyzer/ │ │ └── graph-query/ │ └── main.py # 应用入口 ├── frontend/ # 前端应用 │ └── src/ │ ├── pages/ # 页面组件 │ ├── components/ # 通用组件 │ └── stores/ # 状态管理 ├── docs/ # 设计文档 ├── data/ # 本地数据(不提交) └── docker-compose.yml # Docker 编排 ``` --- ## 相关文档 - [数据集成模块设计方案](./docs/数据集成模块设计方案.md) - [数据集成数据库决策](./docs/数据集成数据库决策.md) - [Skills 编排平台方案(改进版)](./docs/Skills编排平台方案(改进版).md) --- ## 开发说明 ### 添加新 Skill 1. 在 `backend/skills/` 下创建新目录 2. 添加 `SKILL.md` 定义技能元信息 3. 实现技能执行逻辑 4. 重启服务自动注册 ### 数据库迁移 当前使用 SQLite,结构变更需手动同步: - 表结构定义:`backend/database/sqlite_db.py` - 数据集成表:`backend/data_integration/service.py` --- ## 注意事项 - `data/` 目录、`*.log` 文件为本地运行产物,已配置 `.gitignore` - RustFS 认证信息请妥善保管,生产环境使用强密码 - LLM 功能为可选,未配置时将使用规则匹配进行意图识别 --- ## License [MIT](./LICENSE)